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/driver...
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@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel