Re: [PATCH 2/4] ASoC: Add ADAU1373 codec support

From: Lars-Peter Clausen
Date: Fri Aug 12 2011 - 23:28:31 EST


On 08/12/2011 03:20 AM, Mark Brown wrote:
> On Fri, 2011-08-12 at 02:20 +0200, Lars-Peter Clausen wrote:
>> On 08/11/2011 03:16 PM, Mark Brown wrote:
>
>>> Sorry, what does this actually control? I guess I've been mislead but
>>> from the name of the control I'd expect it to control if the outputs
>>> were physically connected as mono or stereo outputs.
>
>> It controls how Lineout and Speaker mixers distribute the left and right input
>> channels to their output channels.
>
> Ah, I see. I guess that should really be represented in DAPM so that if
> we're playing a mono signal out we figure out that both left and right
> channels are connected even if there's only input for one of them,
> especially for the line outputs which may be connected to external
> speaker drivers or something that needs power management.
>

Looks as if both my understanding and my explanation on how this controls works
were a bit inaccurate.

So here is how it works: There are 4 possible settings
Mute: Both the left and the right mixer are muted
Left Channel (L+R): The right mixer is muted. The left mixer is unmuted and for
the input bypass signals both the left and the right channel are mixed into the
output.
Right Channel (L+R): Similar to Left Channel (L+R), only for the right mixer.
Stereo: Both the left and the right mixer are unmuted. For the left mixer the
left channels of the input bypass signals are mixed into the output and for the
right mixer the right channels.

Since this driver's DAPM already doesn't distinguish between the left and the
right channel of the input bypass signals none of the outputs or mixers are not
powered when they should be.

So I would like to keep these as enums, as they are right now.

- Lars
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/