On 2015-05-23 18:06, Raymond Yau wrote: > 2015-5-23 下午4:50 於 "Jan Kiszka" <jan.kis...@web.de> 寫道: >> >>>>>>>>>>>>> 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); >>> >>> >>> @alexhung, >>> Do you have any idea why this can affect the power button behavior? >>> >> >> I think we all lost track of this issue, but it unfortunately still >> exists in the latest kernel, requiring custom builds here. How can we >> proceed? > > http://mailman.alsa-project.org/pipermail/alsa-devel/2015-May/091561.html > > If you cannot find "SSMS" in your T520 ACPI dump, this mean mute LED > cannot be turn on/off similar to T510
There is an entry (see attached disassembly), but this device has at least no physical LED to drive. Jan
dsdt.dsl.xz
Description: application/xz
signature.asc
Description: OpenPGP digital signature