On 8/11/07, Eliot Blennerhassett linux@audioscience.com wrote:
Hi Mike,
On Sunday 12 August 2007 10:46:07 Michael Bourgeous wrote:
doesn't seem to support DMA for sound. Is it possible to write a sound driver for ALSA that uses a polling mechanism?
Does it support interrupts? If so see http://www-old.alsa-project.org/~iwai/writing-an-alsa-driver/x773.htm
Yes, it supports interrupts. However, there is one caveat, which I'll describe below. I believe the Windows driver tells the card to trigger an interrupt when playback reaches the start of or middle of the audio buffer.
Also, how would I integrate this driver with my core driver for accessing the TL880? The chip's features span four separate kernel subsystems: v4l, dvb, sound, and fb.
What are dependencies if any between these functions on the chip?
The caveat I mentioned above is that all interrupts from the card are stored in a single register. If this register is read, its contents are cleared. So, only one kernel module can be allowed to handle interrupts. Additionally, the card has a very large register space, and I'd prefer to have a single interface that helps to abstract that register space. My eventual goal (which may be a very long time away) is to have a core module that just handles PCI interaction, interrupts, register reads/writes, etc., with another module for each of video capture, MPEG capture and playback, framebuffer, and audio.
Thanks for the info, Mike Bourgeous