Re: [alsa-devel] 3.8-rc1 patch_cirrus 4.0 regression...
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).
Takashi
Reverting f37bc7 [1] restored the correct behaviour ([2] was reverted to compile, but the problem still occurs with only [2] reverted).
How can I help to debug this and find the right approach?
Thanks, Daniel
--- [1]
commit f37bc7a88d374448a1f4bba9267d308606d78bf2 Author: Takashi Iwai tiwai@suse.de Date: Thu Nov 8 15:59:23 2012 +0100
ALSA: hda - Give standard "Bass Speaker" mixer for 2.1 speakers When two built-in speakers are found on the machine, we can suppose it's rather a 2.1 speaker system with a bass output instead of front/surround channels. Signed-off-by: Takashi Iwai <tiwai@suse.de>
--- [2]
commit ee81abb623cb5e03c182d16871bb4fb34fdc9b4f Author: Takashi Iwai tiwai@suse.de Date: Thu Nov 8 17:12:10 2012 +0100
ALSA: hda - Apply a proper chmap for built-in 2.1 speakers When 2.1 speakers are detected, use the corresponding channel map instead of the standard map with front+rear surrounds. Signed-off-by: Takashi Iwai <tiwai@suse.de>
-- Daniel J Blueman
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;
participants (1)
-
Takashi Iwai