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

Takashi Iwai tiwai at suse.de
Tue Oct 21 12:30:23 CEST 2008


At Tue, 21 Oct 2008 11:19:39 +0100,
Mark Brown wrote:
> 
> On Tue, Oct 21, 2008 at 12:01:45PM +0200, Takashi Iwai wrote:
> > Cai, Cliff wrote:
> 
> > BTW, are your changes to ad1980.c applicable unconditionally?
> > For example,
> > > --- a/sound/soc/codecs/ad1980.c
> > > +++ b/sound/soc/codecs/ad1980.c
> > > @@ -145,7 +145,7 @@ struct snd_soc_dai ad1980_dai = {
> > >  	.playback = {
> > >  		.stream_name = "Playback",
> > >  		.channels_min = 2,
> > > -		.channels_max = 2,
> > > +		.channels_max = 6,
> 
> > This won't work if the machine side doesn't support the
> > multi-channel.  Right now, blackfin is the only one, but the codec
> > driver should be generic.
> 
> This is fine - the ASoC core does constraint checks so if the controller
> doesn't support the extra channels user space will never be told about
> them.

OK, then this change itself is fine.  But there is no volume control
for surrounds and CLFE, so always loudest outputs?

As a simple workaround, one can set bit 0x4000 to register 0x76
(AD_MISC), so that the master volume controls surrounds, too.
Of course, creating corresponding volume controls would be an option,
but then it'll be annoying if the machine driver supports only two
channels.

Or am I missing anything else?


Takashi


More information about the Alsa-devel mailing list