diff options
| author | 2010-10-06 11:10:48 +1000 | |
|---|---|---|
| committer | 2010-10-06 11:10:48 +1000 | |
| commit | fb7ba2114bcd8bb51640c20bc68f89164b29b9ed (patch) | |
| tree | 80b4a779130a477680a72109257fb8c19d66cf22 /sound/pci/hda/patch_realtek.c | |
| parent | Merge remote branch 'intel/drm-intel-next' of ../drm-next into drm-core-next (diff) | |
| parent | vmwgfx: Fix fb VRAM pinning failure due to fragmentation (diff) | |
| download | wireguard-linux-fb7ba2114bcd8bb51640c20bc68f89164b29b9ed.tar.xz wireguard-linux-fb7ba2114bcd8bb51640c20bc68f89164b29b9ed.zip | |
Merge remote branch 'korg/drm-fixes' into drm-vmware-next
necessary for some of the vmware fixes to be pushed in.
Conflicts:
drivers/gpu/drm/drm_gem.c
drivers/gpu/drm/i915/intel_fb.c
include/drm/drmP.h
Diffstat (limited to 'sound/pci/hda/patch_realtek.c')
| -rw-r--r-- | sound/pci/hda/patch_realtek.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index a1312a6c8af2..a432e6efd19b 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -1594,12 +1594,22 @@ static void alc_auto_parse_digital(struct hda_codec *codec) } if (spec->autocfg.dig_in_pin) { - hda_nid_t dig_nid; - err = snd_hda_get_connections(codec, - spec->autocfg.dig_in_pin, - &dig_nid, 1); - if (err > 0) - spec->dig_in_nid = dig_nid; + dig_nid = codec->start_nid; + for (i = 0; i < codec->num_nodes; i++, dig_nid++) { + unsigned int wcaps = get_wcaps(codec, dig_nid); + if (get_wcaps_type(wcaps) != AC_WID_AUD_IN) + 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; + break; + } + } } } |
