[alsa-devel] [PATCH 2/3] ASoC: Blackfin: add multi-channel supporting in Blackfin ASoC driver and AD1980 codec driver

Cai, Cliff Cliff.Cai at analog.com
Tue Oct 21 11:48:56 CEST 2008


 

>-----Original Message-----
>From: Takashi Iwai [mailto:tiwai at suse.de] 
>Sent: Tuesday, October 21, 2008 5:39 PM
>To: Cai, Cliff
>Cc: Mark Brown; Bryan Wu; alsa-devel at alsa-project.org
>Subject: Re: [alsa-devel] [PATCH 2/3] ASoC: Blackfin: add 
>multi-channel supporting in Blackfin ASoC driver and AD1980 
>codec driver
>
>At Tue, 21 Oct 2008 17:35:49 +0800,
>Cai, Cliff wrote:
>> 
>>  
>> 
>> >-----Original Message-----
>> >From: Mark Brown [mailto:broonie at sirena.org.uk]
>> >Sent: Tuesday, October 21, 2008 5:16 PM
>> >To: Cai, Cliff
>> >Cc: Bryan Wu; alsa-devel at alsa-project.org
>> >Subject: Re: [PATCH 2/3] ASoC: Blackfin: add multi-channel 
>supporting 
>> >in Blackfin ASoC driver and AD1980 codec driver
>> >
>> >On Tue, Oct 21, 2008 at 05:08:31PM +0800, Cai, Cliff wrote:
>> >
>> >> >To be honest, I'm surprised that the multi-channel support
>> >can't only
>> >> >incur the extra memory consumpton when playing back a 
>> >> >multi-channel stream - I'd have expected the hardware to work in 
>> >> >the same
>> >way for a
>> >> >normal stereo stream even if multi-channel support is built in.
>> >
>> >> Yes,hardware almost works in the same way as playing a stereo 
>> >> stream,except That it need to fill more data to DMA memory 
>> >> manually,since we just simulate AC97 Controller using serial port.
>> >
>> >My point is that the configuration of the hardware for 
>multi-channel 
>> >playback only needs to be done when actually playing back 
>> >multi-channel data.  When playing back stereo data it should be 
>> >possible to configure the hardware and do the simulation in 
>the same 
>> >way as when multi-channel support is not compiled in and avoid the 
>> >additional costs which that incurs.
>> >
>> >As well as saving memory I'd expect configuring this at runtime to 
>> >also save some power when playing back two or four channel data.
>> >
>> 
>> Yes, it's an ideal way,but it's not safe to allocate 
>continuous memory 
>> dynamicly, Since embedded system has limited uncached DMA memory.
>
>But, CONFIG_SND_MULTICHAN_SUPPORT would change any buffer 
>allocation behavior?  I don't find it...

It will change the ac97 frame size defined in bf5xx-ac97.h,the frame
size the basic unit of the DMA buffer 

>Anyway, I agree with Mark.  The setup can be ideally 
>dynamically changed.
>
>
>thanks,
>
>Takashi
>


More information about the Alsa-devel mailing list