Re: Accessing copy_to_user() from interrupt handler?

Tyson D Sawyer (tyson@rwii.com)
Thu, 21 Nov 1996 17:27:12 -0500 (EST)


>
> > holding 8k Pixels and it sends an interrupt when it is half full. I
> > have tried to wake up the process in the interrupt handler, but this
> > wasn't reliable under high load (sometimes the wakeup took to long and
> > the FIFO overflowed). Now I would like to try reading half a FIFO
>
> You probably want to buffer the data in the kernel, then the mlock isnt
> a problem (its up to the user).
>
> > worth of data from the card and copy it to the mlock()'d user buffer
> > directly in the interrupt handler. Is this possible at all, or do I
>
> Its 'entertaining'. The ATM folks have played with this a bit. Another
> approach is to make the device mmap()able and map the kernel CCD buffer
> into user space.
>
> Alan

These are the methods used by the Matrox Meteor driver. It allocates
space in the kernel using Matt Welsh's bigphysarea patch (any hope
of getting this functionallity in 2.1.x?) and then makes that memory
mmap'able by the user process.

In this case the bigphysarea patch was needed instead of just vmalloc
because of DMA requirements.

Ty