-----Original Message----- From: Mark Brown [mailto:broonie@sirena.org.uk] Sent: Tuesday, October 21, 2008 6:15 PM To: Bryan Wu Cc: Takashi Iwai; Cai, Cliff; alsa-devel@alsa-project.org Subject: Re: [alsa-devel] [PATCH 2/3] ASoC: Blackfin: add multi-channel supporting in Blackfin ASoC driver and AD1980 codec driver
On Tue, Oct 21, 2008 at 05:55:23PM +0800, Bryan Wu wrote:
But you know, it is very difficult for us to allocate big
buffer in an
NOMMU machine (such as Blackfin) on the fly, So we prefer to
allocate
them at the beginning. And in the embedded world, when the user want to use multi-channel function, they will enable this option. If they don't, they won't do that. It is very simple for both us and our users, although it is less elegant than Mark's idea.
So the issue is that you want to force a static allocation at startup due to hardware limitations? That makes a bit more sense. I guess that's OK but I'd suggest changing the code to also allow the user to select four channels - not all multi-channel systems use six channels.
The buffer struct of ac97 frame for 4/6 channels only has one slot difference -- LFE slot, 6-channel mode does support 4-channel mode.
Another option would be to select it at driver startup time.
I'm still not sure that this is something that should be selected via the kernel configuration rather than by the machine driver - I would expect the use of six channels to be a property of the system rather than of the particular kernel build.