ALSA: hda - Remove bad code for IDT 92HD83 family patch
The purpose of this patch is to remove a section of "bad" code that assigns the last DAC to ports E or F in order to support notebooks with docking in earlier days, around ALSA 1.0.19 - 21. This is not necessary now and actually breaks some configurations that use these ports as other devices. This have been tested on several different configurations to make sure that it is working for different combinations. Signed-off-by: Charles Chin <Charles.Chin@idt.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
d5cf991198
commit
6c5c04e509
@ -5589,9 +5589,7 @@ static void stac92hd8x_fill_auto_spec(struct hda_codec *codec)
|
||||
static int patch_stac92hd83xxx(struct hda_codec *codec)
|
||||
{
|
||||
struct sigmatel_spec *spec;
|
||||
hda_nid_t conn[STAC92HD83_DAC_COUNT + 1];
|
||||
int err;
|
||||
int num_dacs;
|
||||
|
||||
spec = kzalloc(sizeof(*spec), GFP_KERNEL);
|
||||
if (spec == NULL)
|
||||
@ -5693,22 +5691,6 @@ static int patch_stac92hd83xxx(struct hda_codec *codec)
|
||||
return err;
|
||||
}
|
||||
|
||||
/* docking output support */
|
||||
num_dacs = snd_hda_get_connections(codec, 0xF,
|
||||
conn, STAC92HD83_DAC_COUNT + 1) - 1;
|
||||
/* skip non-DAC connections */
|
||||
while (num_dacs >= 0 &&
|
||||
(get_wcaps_type(get_wcaps(codec, conn[num_dacs]))
|
||||
!= AC_WID_AUD_OUT))
|
||||
num_dacs--;
|
||||
/* set port E and F to select the last DAC */
|
||||
if (num_dacs >= 0) {
|
||||
snd_hda_codec_write_cache(codec, 0xE, 0,
|
||||
AC_VERB_SET_CONNECT_SEL, num_dacs);
|
||||
snd_hda_codec_write_cache(codec, 0xF, 0,
|
||||
AC_VERB_SET_CONNECT_SEL, num_dacs);
|
||||
}
|
||||
|
||||
codec->proc_widget_hook = stac92hd_proc_hook;
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user