At Tue, 21 Oct 2008 17:35:49 +0800, Cai, Cliff wrote:
-----Original Message----- From: Mark Brown [mailto:broonie@sirena.org.uk] Sent: Tuesday, October 21, 2008 5:16 PM To: Cai, Cliff Cc: Bryan Wu; alsa-devel@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...
Anyway, I agree with Mark. The setup can be ideally dynamically changed.
thanks,
Takashi