I am happy to report, that the patch works on my MacBookPro6,2 with vanilla Linux 2.6.37.
Arigatou Gozaimasita. :) Thank you.
On 2011-03-03, Takashi Iwai tiwai@suse.de wrote:
OK, to be sure, try the patch below.
thanks,
Takashi
From: Takashi Iwai tiwai@suse.de Date: Thu, 3 Mar 2011 14:54:19 +0100 Subject: [PATCH] ALSA: hda - Don't set to D3 in Cirrus errata init verbs
The errata init verbs for CS42xx codecs contain the verbs to set the power-state of SPDIF nodes to D3, which seem to break the SPDIF output on some MacBooks. Since this is executed during the power-up initialization, we shouldn't turn them down there.
Reported-by: Arun Raghavan arun.raghavan@collabora.co.uk Signed-off-by: Takashi Iwai tiwai@suse.de
sound/pci/hda/patch_cirrus.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/sound/pci/hda/patch_cirrus.c b/sound/pci/hda/patch_cirrus.c index a07b031..067982f 100644 --- a/sound/pci/hda/patch_cirrus.c +++ b/sound/pci/hda/patch_cirrus.c @@ -1039,9 +1039,11 @@ static struct hda_verb cs_errata_init_verbs[] = { {0x11, AC_VERB_SET_PROC_COEF, 0x0008}, {0x11, AC_VERB_SET_PROC_STATE, 0x00},
+#if 0 /* Don't to set to D3 as we are in power-up sequence */ {0x07, AC_VERB_SET_POWER_STATE, 0x03}, /* S/PDIF Rx: D3 */ {0x08, AC_VERB_SET_POWER_STATE, 0x03}, /* S/PDIF Tx: D3 */ /*{0x01, AC_VERB_SET_POWER_STATE, 0x03},*/ /* AFG: D3 This is already handled */ +#endif
{} /* terminator */ };