Re: [linux-sunxi] Re: [PATCH v8 2/2] ASoc: sun4i-codec: Add FM, Line and Mic inputs

From: Danny Milosavljevic
Date: Sat Mar 19 2016 - 12:51:45 EST


Hi Maxime,

> IIRC, in order to have shared controls, you just needed to share the
> controls structure.

Yeah. I did this and it actually works in a way, but in doesn't do all that I want.

There are two different kinds of sharing I mean:

The one kind with the controls structure causes the control to rename itself
to not state its mixer but there's still just one slider in the end.
So instead of "Left Mixer Left XXX" it will just say "Left XXX" if you put it
inside Left Mixer and Right Mixer and share the entry - for this hardware,
that's of doubtful use.

But what I would like to have is that the same Mic Playback Volume (the very
same bits) be used for different sliders
(1) Mic1 Left Channel Playback Volume
(2) Mic1 Right Channel Playback Volume
(3) Mic2 Left Channel Playback Volume (!!)
(4) Mic2 Right Channel Playback Volume

Additionally, Mic1 Playback and Mic2 Playback have two mutes each in the
hardware (all separately switchable).

Now if we could make the alsamixer selems look like the following,
that would be nice:

Mic1_Playback Mic2_Playback

MM MM
ii ii
cc cc

PP PP
ll ll
aa aa
yy yy
bb bb
aa aa
cc cc
kk kk

VV VV
oo oo
ll ll
uu uu
mm mm
ee ee

[Mm] [Nn]
^ ^^-- so are those, separately
+-- this one is a different muter :-)

Where the text is the same, it's supposed to signify the same bits
in the hardware.

Right now in v8 it's (and that's going to take a lot of horizontal space,
sorry - I know E-Mails like this aren't so nice to read):

Mic_Playback_Volume Left_Mic1_Playback_Switch Right_Mic1_Playback_Switch Left_Mic2_Playback_Switch Right_Mic2_Playback_Switch

MM
ii
cc

PP
ll
aa
yy
bb
aa
cc
kk

VV
oo
ll
uu
mm
ee

[MM] [NN] [OO] [PP]
^- WTF ^- WTF ^- WTF ^- WTF

(Actually, it's worse - believe it or not, that's how the simplified explanation looks)

> Unfortunately, that is exposed to the user-space. Once it's in, you
> cannot change it / fix it anymore.

Hmm. Right. Let's get it to work nicely then.