[ltp] Re: [PATCH] Set osi=Linux for the ThinkPad X200s

Andrew Lutomirski linux-thinkpad@linux-thinkpad.org
Tue, 10 Nov 2009 08:32:17 -0500


On Tue, Nov 10, 2009 at 4:24 AM, Henrique de Moraes Holschuh
<hmh@hmh.eng.br> wrote:
> On Mon, 09 Nov 2009, Matthew Garrett wrote:
>> When you hit the mixer button, does the ACPI interrupt count increase?
>> If so, we're certainly in a position to do something with it.
>
> It is supposed to go over the KDC. =A0But I would be _really_ interested =
on
> any events related to volume key presses on the X200s. =A0I expect it is
> issuing one of the ACPI volume notification events with OSI(Linux), and n=
one
> without.

On brief inspection, with OSI(Linux), mute generates no ACPI
interrupts.  Without OSI(Linux), I see an ACPI interrupt only when the
mixer (the one in /proc/acpi/ibm/volume) changes as a result of
muting.  So pushing mute once generates an interrupt, but then there
are no more interrupts until I push volume up.

>
>> But it does nothing to solve the underlying issue, and then we get to
>> apply the same patch again for the next Thinkpad product cycle. If we
>> fix it properly, we don't need to bother.
>
> If I get a full description of behaviour, etc. =A0I can simply ask Lenovo
> about it.
>
> AFAIK, the native volume control through windows is being done in a
> different way, nowadays. =A0I'd need to know, without OSI(Linux), where t=
he
> events are going. =A0That'd be enough to know when to read EC 0x30 and ch=
eck
> if it is now mute/unmute.

What's the point of the IBM mixer (/proc/acpi/ibm/volume)?  We have a
perfectly good mixer in the form of ALSA, which already knows how to
mute and unmute the sound and even comes with nice user interfaces
these days.

With OSI(Linux) off, pressing mute turns off the sound with no UI
response whatsoever, fiddling with the ALSA mixer (or PulseAudio, for
that matter) has no effect, and the only ways to get sound back are to
play with /proc/acpi/ibm/volume or to press a different hardware
volume key.  But pressing that different hardware volume key *also*
changes the ALSA mixer because it generates a keypress.  In my book,
that means that the mute button messes up the sound hardware.

Do we really want every thinkpad to need a special UI to indicate the
state of the extra hardware muting function?

--Andy