ALSA: hda - Create HP-vol control properly for VIA codecs
When the individual DAC is available for the headphone output, the driver should create the DAC for its volume control. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Родитель
de6c74f3e3
Коммит
18bd2c44b9
|
@ -1855,6 +1855,7 @@ static int via_auto_create_hp_ctls(struct hda_codec *codec, hda_nid_t pin)
|
|||
{
|
||||
struct via_spec *spec = codec->spec;
|
||||
struct nid_path *path;
|
||||
bool check_dac;
|
||||
int err;
|
||||
|
||||
if (!pin)
|
||||
|
@ -1875,11 +1876,14 @@ static int via_auto_create_hp_ctls(struct hda_codec *codec, hda_nid_t pin)
|
|||
!spec->hp_dac_nid)
|
||||
return 0;
|
||||
|
||||
if (spec->hp_dac_nid && !spec->hp_indep_shared)
|
||||
if (spec->hp_dac_nid && !spec->hp_indep_shared) {
|
||||
path = &spec->hp_path;
|
||||
else
|
||||
check_dac = true;
|
||||
} else {
|
||||
path = &spec->hp_dep_path;
|
||||
err = create_ch_ctls(codec, "Headphone", 3, false, path);
|
||||
check_dac = false;
|
||||
}
|
||||
err = create_ch_ctls(codec, "Headphone", 3, check_dac, path);
|
||||
if (err < 0)
|
||||
return err;
|
||||
if (spec->hp_dac_nid) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче