[alsa-devel] 3.8-rc1 patch_cirrus 4.0 regression...

Takashi Iwai tiwai at suse.de
Tue Feb 5 18:34:41 CET 2013


At Tue, 05 Feb 2013 17:16:32 +0100,
Takashi Iwai wrote:
> 
> At Wed, 6 Feb 2013 00:10:30 +0800,
> Daniel J Blueman wrote:
> > 
> > Hi Takashi,
> > 
> > The v3.8-rc kernels have regressed from v3.7 with the quad-speaker
> > arrangement on my Macbook Pro 10,1 - only the higher-frequency
> > speakers work despite the front and rear channels being exposed in the
> > mixer.
> 
> Interesting.  So you have a machine with 4.0 built-in speaker instead
> of 2.1?  Then we need to add a device-specific flag for it.  Currently
> the driver assumes 2.1 system blindly because majority of machines
> have that.
> 
> FWIW, the codec parser code has been totally rewritten for 3.9, so any
> patch to 3.8 won't be applied to 3.9 (and vice versa)...
> 
> Could you give alsa-info.sh output on 3.8 kernel?  Then I'll try to
> cook it for 3.9 (and maybe backport to 3.8).

The patch below is a quick fix for 3.8-rc6.
Could you check whether this works alone?


Takashi

---
diff --git a/sound/pci/hda/patch_cirrus.c b/sound/pci/hda/patch_cirrus.c
index a2537b2..d74e06c 100644
--- a/sound/pci/hda/patch_cirrus.c
+++ b/sound/pci/hda/patch_cirrus.c
@@ -448,7 +448,8 @@ static int parse_output(struct hda_codec *codec)
 	spec->multiout.max_channels = i * 2;
 
 	if (cfg->line_out_type == AUTO_PIN_SPEAKER_OUT && i == 2)
-		spec->speaker_2_1 = 1; /* assume 2.1 speakers */
+		if (spec->gen.fixup_id != CS420X_MBP101)
+			spec->speaker_2_1 = 1; /* assume 2.1 speakers */
 
 	/* add HP and speakers */
 	extra_nids = 0;


More information about the Alsa-devel mailing list