Re: [alsa-devel] [V2 PATCH] ALSA: hda - Enable mute/mic-mute LEDs for more Thinkpads with Conexant codec

From: Hui Wang
Date: Wed Jul 01 2015 - 05:51:41 EST


On 06/29/2015 08:49 AM, Hui Wang wrote:
On 06/27/2015 11:03 AM, Raymond Yau wrote:
Most Thinkpad Edge series laptops use conexant codec, so far
although
<snip>
Is there anything I can debug or any information I can collect
from my
box to examine this?
What is the linux distribution on your machine? And use showkey to
catch
the keycode of that button.
I'm running OpenSUSE 13.1. The reported keycode of the power
button is
116.
It seems the keycode is correct, it is power keycode rather the mute
keycode.

Could you please do some debug, let us find which line of code is
the
root cause for this problem. for example:

after running the line, the problem shows up:

1. if (ACPI_SUCCESS(acpi_get_devices("LEN0068", acpi_check_cb,
&found, NULL)) && found) // in the sound/pci/hda/thinkpad_helper.c,
is_thinkpad()
This evaluates to true

2. return ACPI_SUCCESS(acpi_get_devices("IBM0068",
acpi_check_cb,
&found, NULL)) && found; // same as above

3. if (led_set_func(TPACPI_LED_MUTE, false) >= 0) { //in the
sound/pci/hda/thinkpad_helper.c, hda_fixup_thinkpad_acpi()
...and this

4. if (led_set_func(TPACPI_LED_MICMUTE, false) >= 0) { // same as
above

...and this as well. spec->num_adc_nids is 1.
If we change the code like below, does the power button can work well?

in the thinkpad_helper.c, hda_fixup_thinkpad_acpi()


if (led_set_func(TPACPI_LED_MUTE, false) >= 0) {
/*
old_vmaster_hook = spec->vmaster_mute.hook;
spec->vmaster_mute.hook = update_tpacpi_mute_led;
removefunc = false;
*/
Disabling only this block resolves the issue.
So Below two lines make the power button change to the reset button.

drivers/platform/x86/thinkpad_acpi.c mute_led_on_off():

acpi_get_handle(hkey_handle, "SSMS", &temp);
acpi_evalf(hkey_handle, &output, "SSMS", "dd", 1);


http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/platform/x86/thinkpad_acpi.c?id=9a417ec0c9d1f7af5394333411fc4d98adb8761b

It seem that software mute also depend on HAUM and SAUM ACPI interface

Seem regression of the above patch is SSMS is not supported

https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1450947

Which models of thinkpad are tested by the author ?
A lot, we tested this patch on all Lenovo machines with mute led we have. I need to check the models name and provide them at a later time.

What I can remeber now are x230, x240, x250, L560 and x1

_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/