On 2015-05-23 18:22, Jan Kiszka wrote: > On 2015-05-23 18:06, Raymond Yau wrote: >> 2015-5-23 下午4:50 於 "Jan Kiszka" <[email protected]> 寫道: >>> >>>>>>>>>>>>>> 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 >
Ping... Jan -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

