[alsa-devel] [PATCH v3 0/2] Disable the ThinkPad HW mute/level control when possible
Darren Hart
dvhart at infradead.org
Thu Dec 11 05:58:16 CET 2014
On Tue, Dec 09, 2014 at 02:47:34PM -0800, Andy Lutomirski wrote:
> On Thu, Dec 4, 2014 at 3:55 AM, Darren Hart <dvhart at infradead.org> wrote:
> > On Fri, Oct 17, 2014 at 05:04:28PM -0700, Andy Lutomirski wrote:
> >> This series is being resurrected after several years, and it's quite
> >> different from before, so I'm restarting the version numbers :)
> >>
> >> ThinkPad volume and mute controls are a mess. For whatever reason,
> >> ThinkPads have mute buttons that send KEY_MUTE *and* control an
> >> invisible-to-ALSA mute switch. Some of them have volume controls that
> >> interact with this switch as well.
> >>
> >> This is a perennial source of problems. On most ThinkPads, if you press
> >> mute and then unmute using GUI controls, you have no sound, because
> >> userspace and ALSA state gets out of sync with the hardware switch.
> >> There's a separate "sound card" that exposes the hardware switch, but
> >> userspace code generally doesn't understand that.
> >>
> >> There are already a few _OSI(Linux) overrides to turn all the hardware
> >> buttons into regular buttons. Rather than quirking ACPI everywhere,
> >> just teach thinkpad-acpi to program the buttons for full software
> >> control and to disable hardware controls. That allows us to remove the
> >> ACPI quirks and have normal mute controls. This approach should be
> >> much simpler than adding even more kludgey ALSA integration for
> >> questionable gain.
> >>
> >> Tested on an X200s (with latching mute by default) and an X220 (with
> >> a mute light and toggle mute by default). Everything works as expected.
> >>
> >> Changes from v2:
> >> - Don't try to change the mute mode on IBM ThinkPads.
> >> - Further minor cleanups.
> >> - Try to restore the mode on module unload.
> >>
> >> Changes from v1:
> >> - Simplified the code a bit.
> >> - Improved suspend/hibernate behavior.
> >>
> >> Andy Lutomirski (2):
> >> thinkpad-acpi: Try to use full software mute control
> >> acpi: Remove _OSI(Linux) for ThinkPads
> >>
> >> drivers/acpi/blacklist.c | 54 ----------------
> >> drivers/platform/x86/thinkpad_acpi.c | 116 ++++++++++++++++++++++++++++++++---
> >> 2 files changed, 106 insertions(+), 64 deletions(-)
> >
> > Andy, is this the latest version?
>
> Yes.
Queued to for-next. Pending anything unforseen, I'll attempt to get this into
3.19.
--
Darren Hart
Intel Open Source Technology Center
More information about the Alsa-devel
mailing list