[alsa-devel] [PATCH] ALSA: hda - Don't be too specific for conflicting boost ctl names

Raymond Yau superquad.vortex2 at gmail.com
Thu Dec 19 10:54:40 CET 2013


When a boost control influences on multiple input paths, we shouldn't
> pick up the name string specific to one input but rather choose a more
> generic name.  A problem seen often is that a single mic boost
> controls both internal and external mics although the driver picks up
> the very first name randomly like "Internal Mic Boost".  This should
> have been "Mic Boost", instead.
>
> This patch tries to correct that behavior: when a boost control is
> available, check whether it conflicts with other inputs.  If it does,
> use a common string ("Mic", "Line") as long as possible, or take a
> generic name "Input".
>
> +

>                 /* create a boost control */
> +               if (!conflict) {
> +                       pfx = spec->input_labels[idx];
> +                       idx = spec->input_label_idxs[idx];
> +               } else {
> +                       pfx = input_type_labels[type];
> +                       idx = input_type_idxs[type]++;
> +               }
> +
>                 snprintf(boost_label, sizeof(boost_label),
> -                        "%s Boost Volume", spec->input_labels[idx]);
> -               if (!add_control(spec, HDA_CTL_WIDGET_VOL, boost_label,
> -                                spec->input_label_idxs[idx], val))
> +                        "%s Boost Volume", pfx);
>

should "Boost Volume" change to "Boost Capture Volume" if loopback path not
exist ?

                 if (spec->mixer_nid)
                           "Boost Volume"


More information about the Alsa-devel mailing list