Copy of dma buffer to user space

From: Simon Derr (sderr@ensisun.imag.fr)
Date: Mon Feb 28 2000 - 11:01:53 EST


I'w writing a device driver for an I/O card that is able to read data and
transfer them thru DMA;

My probleme is that with 'acceptable' dma buffers (16k), I happen to get
several end_of_dma_transfer interrupts before the read() function, which
should copy data from kernel buffers to user space, gets awakened.

SO I tried to put my copy to user space in a 'bottom half' function, but
of course this won't work since when this runs the current process is not
always the one that is reading on my device...

Is there a way of :
-force the read() function (i.e my process) to be awakened just after my
interrupt ?
-or write to user space of a process other than 'current' ?

(I'm using Linux 2.2.13)

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Feb 29 2000 - 21:00:20 EST