At Mon, 07 Mar 2011 09:22:42 +0100, David Henningsson wrote:
I spend last Friday together with Bartłomiej Żogała fixing up a long standing issue with Lenovo Y530, which has 4+1 internal speakers on a Realtek 888. And we all want that supported by the auto parser, don't we?
Well, it's a bit flaky. The current behavior assigning speakers only as "Speaker" is intentional. This is a simplification to avoid the conflict with the case where both multiple line-outs and multiple speakers are present.
And, in general, I don't like to get rid of "Speaker" notation. If any, we should keep "Speaker" with a channel prefix.
So here comes the patches. Would be nice to have in 2.6.38.
Sorry, the speaker-change is too intrusive for 2.6.38. Since I already sent a pull request yesterday, which is supposed to be the final one unless major fixes come up, I'll queue this later with stable-kernel tag.
Looking at each patch...
Subject: [PATCH 1/4] ALSA: HDA: Enable surround and subwoofer on Lenovo Ideapad Y530
The pin config values would change the association instead of the sequence, this commit fixes that up.
This looks good.
Subject: [PATCH 2/4] ALSA: HDA: Fix volume control naming for surround speakers on Realtek auto-parser
When more than one pair of internal speakers is present, allow names according to their channels.
This one is for re-consideration.
From: David Henningsson david.henningsson@canonical.com Date: Fri, 4 Mar 2011 14:22:25 +0100 Subject: [PATCH 3/4] ALSA: HDA: Fixup unnecessary volume control index on Realtek ALC88x
Without this change, a volume control named "Surround" or "Side" would get an unnecessary index, causing it to be ignored by the vmaster and PulseAudio.
vmaster should handle multiple indices properly, but maybe PA not. Nevertheless, the fix is correct.
Subject: [PATCH 4/4] ALSA: HDA: Realtek ALC88x: Do not over-initialize speakers and hp that are primary outputs
Do not initialize again the what has already been initialized as multi outs, as this breaks surround speakers.
This looks correct, too.
thanks,
Takashi