On 11/25/2013 08:12 AM, noman pouigt wrote:
Hello Lars,
I was wondering if you can enlighten me on below query.
Commit:ce6cfaf1
From the commit text "The input and output paths for each widgets are only updated though during the respective run for that widget".
Does this commit text mean: when mux or mixer_power_update is called then only the widget is powered and it's peer- widget source(path source) and widget sink(path sink)?
Hi,
What the commit does is to make sure that if a control is shared between multiple mixers/muxes to apply all the changes in the same update sequence. Instead of, as it was done before, to run a update sequence for each mixer/mux.
+------+ A1 ------| | | MUX1 |----- C1 B1 ------| | +------+ | control ---+ | +------+ A2 ------| | | MUX2 |----- C2 B2 ------| | +------+
Can I represent the above diagram as below:
char *input_text_1[] = { "A1", "B1" };
struct soc_enum input_enum_1 = SOC_ENUM_SINGLE(some_register, some_bit, 2, input_text_1);
char *input_text_2[] = { "A2", "B2" }; struct soc_enum input_enum_2 = SOC_ENUM_SINGLE(some_register, some_bit, 2, input_text_2);
struct snd_kcontrol_new input_mux = SOC_DAPM_ENUM("C1", input_enum_1); struct snd_kcontrol_new input_mux = SOC_DAPM_ENUM("C2", input_enum_2);
dapm_route[] { "A1", "control","C1" "B1", "control","C1" "A2", "control","C2" "B2", "control","C2" };
The control part needs to have the name of one of the enum items. So this would be { "A1", "A1", "C1" } and so on.
- Lars