[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