[alsa-devel] HDMI LPCM (7.1) with AMD/FGLRX

Takashi Iwai tiwai at suse.de
Mon Aug 8 16:58:31 CEST 2011


At Mon, 8 Aug 2011 16:43:31 +0200,
Andrée 'Glaucous' wrote:
> 
> Thanks.
> 
> # hda-verb /dev/snd/hwC2D0 0x03 GET_PIN_SENSE 0
> nid = 0x3, verb = 0xf09, param = 0x0
> value = 0xffffffff

This looks pretty invalid.

> With monitor connected and outputting.

So, either codec or the a driver is too lazy to give the info.

Also, looking at your codec proc file, the codec doesn't give the
right channel count, too.

What happens with the patch below?


Takashi

---
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index 19cb72d..4da81b3 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -923,6 +923,7 @@ static void hdmi_present_sense(struct hda_codec *codec, hda_nid_t pin_nid,
 
 	memset(eld, 0, sizeof(*eld));
 
+	printk(KERN_INFO "XXX HDMI pin_sense = 0x%x\n", present);
 	eld->monitor_present	= !!(present & AC_PINSENSE_PRESENCE);
 	if (eld->monitor_present)
 		eld->eld_valid	= !!(present & AC_PINSENSE_ELDV);
@@ -996,6 +997,7 @@ static int hdmi_add_cvt(struct hda_codec *codec, hda_nid_t cvt_nid)
 
 	chans = get_wcaps(codec, cvt_nid);
 	chans = get_wcaps_channels(chans);
+	chans = 8; /* XXX */
 
 	cvt_idx = spec->num_cvts;
 	per_cvt = &spec->cvts[cvt_idx];


More information about the Alsa-devel mailing list