Loading sound/pci/hda/patch_analog.c +1 −0 Original line number Original line Diff line number Diff line Loading @@ -3641,6 +3641,7 @@ static struct snd_pci_quirk ad1984_cfg_tbl[] = { /* Lenovo Thinkpad T61/X61 */ /* Lenovo Thinkpad T61/X61 */ SND_PCI_QUIRK_VENDOR(0x17aa, "Lenovo Thinkpad", AD1984_THINKPAD), SND_PCI_QUIRK_VENDOR(0x17aa, "Lenovo Thinkpad", AD1984_THINKPAD), SND_PCI_QUIRK(0x1028, 0x0214, "Dell T3400", AD1984_DELL_DESKTOP), SND_PCI_QUIRK(0x1028, 0x0214, "Dell T3400", AD1984_DELL_DESKTOP), SND_PCI_QUIRK(0x1028, 0x0233, "Dell Latitude E6400", AD1984_DELL_DESKTOP), {} {} }; }; Loading sound/pci/hda/patch_realtek.c +16 −6 Original line number Original line Diff line number Diff line Loading @@ -1594,12 +1594,22 @@ static void alc_auto_parse_digital(struct hda_codec *codec) } } if (spec->autocfg.dig_in_pin) { if (spec->autocfg.dig_in_pin) { hda_nid_t dig_nid; dig_nid = codec->start_nid; err = snd_hda_get_connections(codec, for (i = 0; i < codec->num_nodes; i++, dig_nid++) { spec->autocfg.dig_in_pin, unsigned int wcaps = get_wcaps(codec, dig_nid); &dig_nid, 1); if (get_wcaps_type(wcaps) != AC_WID_AUD_IN) if (err > 0) continue; if (!(wcaps & AC_WCAP_DIGITAL)) continue; if (!(wcaps & AC_WCAP_CONN_LIST)) continue; err = get_connection_index(codec, dig_nid, spec->autocfg.dig_in_pin); if (err >= 0) { spec->dig_in_nid = dig_nid; spec->dig_in_nid = dig_nid; break; } } } } } } Loading Loading
sound/pci/hda/patch_analog.c +1 −0 Original line number Original line Diff line number Diff line Loading @@ -3641,6 +3641,7 @@ static struct snd_pci_quirk ad1984_cfg_tbl[] = { /* Lenovo Thinkpad T61/X61 */ /* Lenovo Thinkpad T61/X61 */ SND_PCI_QUIRK_VENDOR(0x17aa, "Lenovo Thinkpad", AD1984_THINKPAD), SND_PCI_QUIRK_VENDOR(0x17aa, "Lenovo Thinkpad", AD1984_THINKPAD), SND_PCI_QUIRK(0x1028, 0x0214, "Dell T3400", AD1984_DELL_DESKTOP), SND_PCI_QUIRK(0x1028, 0x0214, "Dell T3400", AD1984_DELL_DESKTOP), SND_PCI_QUIRK(0x1028, 0x0233, "Dell Latitude E6400", AD1984_DELL_DESKTOP), {} {} }; }; Loading
sound/pci/hda/patch_realtek.c +16 −6 Original line number Original line Diff line number Diff line Loading @@ -1594,12 +1594,22 @@ static void alc_auto_parse_digital(struct hda_codec *codec) } } if (spec->autocfg.dig_in_pin) { if (spec->autocfg.dig_in_pin) { hda_nid_t dig_nid; dig_nid = codec->start_nid; err = snd_hda_get_connections(codec, for (i = 0; i < codec->num_nodes; i++, dig_nid++) { spec->autocfg.dig_in_pin, unsigned int wcaps = get_wcaps(codec, dig_nid); &dig_nid, 1); if (get_wcaps_type(wcaps) != AC_WID_AUD_IN) if (err > 0) continue; if (!(wcaps & AC_WCAP_DIGITAL)) continue; if (!(wcaps & AC_WCAP_CONN_LIST)) continue; err = get_connection_index(codec, dig_nid, spec->autocfg.dig_in_pin); if (err >= 0) { spec->dig_in_nid = dig_nid; spec->dig_in_nid = dig_nid; break; } } } } } } Loading