[alsa-devel] [PATCH] ALSA: soc - fsl_ssi.c fix audio capture

Timur Tabi timur at freescale.com
Fri Jul 4 13:02:17 CEST 2008


On Jul 3, 2008, at 10:42 AM, Mark Brown wrote:

> On Thu, Jul 03, 2008 at 06:37:14PM +0400, Anton Vorontsov wrote:
>> Since we're using SSI in synchronous mode, the STCCR register  
>> controls
>> both the receive and transmit sections. So, when we're trying to  
>> record
>> anything, stccr register does not get initialized, thus the output  
>> file
>> filled with the white noise.
>
>> Fix this by initializing the STCCR for both playback and capture. If
>> TX/RX widths don't match, return that we're busy at the moment.
>
>> Signed-off-by: Anton Vorontsov <avorontsov at ru.mvista.com>
>
> Acked-by: Mark Brown <broonie at opensource.wolfsonmicro.com>
>
> but Timur needs to ack it since I don't have any particular  
> knowledge of
> the hardware.

Anton has the right idea, but I'm not sure the fix is the best.  I was  
planning on posting my fix after I got back from vacation.

Part of the problem is that STCK and SRCK can be wired together, which  
means that even though you're not in synchronous mode, the sample  
rates have to match.  For the 8610 HPCD, this isn't a problem, but the  
SSI driver is supposed to support more than just that board.  We need  
device tree additions to cover all cases.

Anton, are you sure returning -EBUSY is the right fix?  Would this  
make applications like mplayer detect the problem and automatically  
pick a matching sample format that does work?


More information about the Alsa-devel mailing list