[alsa-devel] Writing a new sound driver
Michael Bourgeous
sts.nitrogen at gmail.com
Thu Aug 16 00:30:15 CEST 2007
On 8/11/07, Eliot Blennerhassett <linux at 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
More information about the Alsa-devel
mailing list