Messages in this thread | | | Date | Wed, 01 Jul 2015 17:51:20 +0800 | From | Hui Wang <> | Subject | Re: [alsa-devel] [V2 PATCH] ALSA: hda - Enable mute/mic-mute LEDs for more Thinkpads with Conexant codec |
| |
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@alsa-project.org >> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel >> >
| |