[alsa-devel] [PATCH] ALSA: hda - apply CS420X erratum fix for CS4207 only
Takashi Iwai
tiwai at suse.de
Thu Mar 3 14:58:18 CET 2011
At Thu, 03 Mar 2011 17:50:22 +0530,
Arun Raghavan wrote:
>
> On Thu, 2011-03-03 at 13:01 +0100, Takashi Iwai wrote:
> > At Thu, 3 Mar 2011 03:18:18 +0530,
> > Arun Raghavan wrote:
> > >
> > > From: Arun Raghavan <arun at accosted.net>
> > >
> > > The commit a769cbcf60cee51f4431c0938acd39e7e5b76b8d
> > > ALSA: hda - Add errata initverb sequence for CS42xx codecs
> > > applies a fix for a chip erratum that is specific to CS4207
> > > unconditionally. On CS4206, this causes digital output to never be
> > > activated.
> >
> > It might be the power-state the verb table sets?
> > Try to comment out only the line setting SPDIF Tx to D3,
> > {0x08, AC_VERB_SET_POWER_STATE, 0x03}
> > instead of disabling the whole verbs, just for testing.
>
> Indeed, this also works.
OK, to be sure, try the patch below.
thanks,
Takashi
---
From: Takashi Iwai <tiwai at 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 at collabora.co.uk>
Signed-off-by: Takashi Iwai <tiwai at 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 */
};
--
1.7.3.4
More information about the Alsa-devel
mailing list