On Wed, 2006-03-15 at 10:11 -0800, muzak24h wrote: > So can it be done? Is there some factiod I'm not catching? > > The only thing I can think of is this: > IRQ vectors: When the DMA stops, what to do with it in this kind of > kernel. > Since I can't go to that level in Linux I'm curious...
The Linux kernel simply does not contain the necessary infrastructure to do DMA and handle interrupts in userspace. Even if your scheme works for DMA you also need periodic interrupts from the sound device to wake up the process when it needs to write or read more data. What's to keep userspace from killing the machine by enabling an interrupt but never ACKing it? And what's to prevent a user from setting up the sound card to DMA some audio samples into a critical kernel data structure? There are people working on the kernel infrastructure needed for 100% userspace drivers but it's not done yet. Your best bet is to convince the vendor to enable audio support in their kernel. Lee
