11 Jan 2007 13:06
Re: ep93xx I2S driver
Lennert Buytenhek <buytenh <at> wantstofly.org>
2007-01-11 12:06:29 GMT
2007-01-11 12:06:29 GMT
On Wed, Jan 10, 2007 at 10:40:28PM -0500, Chase Douglas wrote: > My I2S driver runs assuming the audio data is 24 bits. I saw that > ep93xx-pcm.c says the only allowed format is 16 bit. Since I'm not > quite sure what happens with the DMA stuff, what is the best way to > handle this? The AC97 controller either delivers 16 bit or 32 bit samples to the DMA controller. Since ALSA doesn't have a format for 32 bit LE data, I run the AC97 controller in 16 bit mode unconditionally (Compact Mode Enable, I think the bit is called.) Glancing at the I2S section of the EP9315 datasheet, it seems to have an option for what word length to use on the wire (remember that I2S uses variable word length), but not for what sample width to present to the DMA controller, so I'm guessing it'll always use 32 bit samples. (The docs might be incorrect, though -- they are occasionally.) If there is indeed no other format it can read/write data in, you might be forced to do the conversion to a sane format in the PCM driver (ugh.) (I wonder why ALSA doesn't have a 32bit sample format..)
RSS Feed