+++ /dev/null
-From: Takashi Iwai <tiwai@suse.de>
-Subject: ALSA: hda - Misc fixes on proc output
-Patch-mainline: 2.6.28-rc1
-References:
-
-Misc fixes and additions for codec#* proc output.
-
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-
----
----
- sound/pci/hda/hda_proc.c | 21 ++++++++++++++++++---
- 1 file changed, 18 insertions(+), 3 deletions(-)
-
---- a/sound/pci/hda/hda_proc.c
-+++ b/sound/pci/hda/hda_proc.c
-@@ -229,6 +229,13 @@ static void print_pin_caps(struct snd_in
- snd_iprintf(buffer, " Detect");
- if (caps & AC_PINCAP_BALANCE)
- snd_iprintf(buffer, " Balanced");
-+ if (caps & AC_PINCAP_HDMI) {
-+ /* Realtek uses this bit as a different meaning */
-+ if ((codec->vendor_id >> 16) == 0x10ec)
-+ snd_iprintf(buffer, " R/L");
-+ else
-+ snd_iprintf(buffer, " HDMI");
-+ }
- if (caps & AC_PINCAP_LR_SWAP)
- snd_iprintf(buffer, " R/L");
- if (caps & AC_PINCAP_TRIG_REQ)
-@@ -552,9 +559,15 @@ static void print_codec_info(struct snd_
-
- snd_iprintf(buffer, "Node 0x%02x [%s] wcaps 0x%x:", nid,
- get_wid_type_name(wid_type), wid_caps);
-- if (wid_caps & AC_WCAP_STEREO)
-- snd_iprintf(buffer, " Stereo");
-- else
-+ if (wid_caps & AC_WCAP_STEREO) {
-+ unsigned int chans;
-+ chans = (wid_caps & AC_WCAP_CHAN_CNT_EXT) >> 13;
-+ chans = ((chans << 1) | 1) + 1;
-+ if (chans == 2)
-+ snd_iprintf(buffer, " Stereo");
-+ else
-+ snd_iprintf(buffer, " %d-Channels", chans);
-+ } else
- snd_iprintf(buffer, " Mono");
- if (wid_caps & AC_WCAP_DIGITAL)
- snd_iprintf(buffer, " Digital");
-@@ -566,6 +579,8 @@ static void print_codec_info(struct snd_
- snd_iprintf(buffer, " Stripe");
- if (wid_caps & AC_WCAP_LR_SWAP)
- snd_iprintf(buffer, " R/L");
-+ if (wid_caps & AC_WCAP_CP_CAPS)
-+ snd_iprintf(buffer, " CP");
- snd_iprintf(buffer, "\n");
-
- /* volume knob is a special widget that always have connection