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

Raymond Yau superquad.vortex2 at gmail.com
Sat May 23 18:06:54 CEST 2015


2015-5-23 下午4:50 於 "Jan Kiszka" <jan.kiszka at 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


More information about the Alsa-devel mailing list