UPSTREAM: ec/lenovo/h8: Fix mute LEDs
thinkpad_acpi expects a SSMS method to turn on/off the mute LED
and a MMTS method to turn on/off the microphone mute LED. With
these methods implemented the driver can correctly sync the LEDs
with the corresponding statuses.
There seems to be two different bits to mute the audio in the
Lenovo H8 EC:
* AMUT, used internally (for example to disable the audio before
entering S3).
* ALMT, controllable by the OS, which also toggles the mute LED
(if present).
Tested on a X220T and on a X201.
BUG=none
BRANCH=none
TEST=none
Change-Id: I6a33511266f67aa2337b83673ea7a990f33df6a9
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 068edc1c52
Original-Change-Id: I578f95f9619a53fd35f8a8bfe5564aeb6c789212
Original-Signed-off-by: Nicola Corna <nicola@corna.info>
Original-Reviewed-on: https://review.coreboot.org/18329
Original-Reviewed-by: Alexander Couzens <lynxis@fe80.eu>
Original-Tested-by: build bot (Jenkins)
Reviewed-on: https://chromium-review.googlesource.com/449819
This commit is contained in:
parent
5846d19bf9
commit
20cc5e66c7
1 changed files with 21 additions and 1 deletions
|
|
@ -39,8 +39,11 @@ Device(EC)
|
|||
DKR2, 1, /* Dock register 2 */
|
||||
Offset (0x2a),
|
||||
EVNT, 8, /* write will trigger EC event */
|
||||
Offset (0x30),
|
||||
, 6,
|
||||
ALMT, 1, /* Audio Mute + LED */
|
||||
Offset (0x3a),
|
||||
AMUT, 1, /* Audio Mute */
|
||||
AMUT, 1, /* Audio Mute (internal use) */
|
||||
, 3,
|
||||
BTEB, 1,
|
||||
WLEB, 1,
|
||||
|
|
@ -362,6 +365,23 @@ Device(EC)
|
|||
{
|
||||
Return (TBSW << 3)
|
||||
}
|
||||
/* Mute audio */
|
||||
Method (SSMS, 1, NotSerialized)
|
||||
{
|
||||
Store(Arg0, ALMT)
|
||||
}
|
||||
/* Control mute microphone LED */
|
||||
Method (MMTS, 1, NotSerialized)
|
||||
{
|
||||
If (Arg0)
|
||||
{
|
||||
TLED(0x8E)
|
||||
}
|
||||
Else
|
||||
{
|
||||
TLED(0x0E)
|
||||
}
|
||||
}
|
||||
/* Version */
|
||||
Method (MHKV, 0, NotSerialized)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue