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

From: Jan Kiszka
Date: Wed Jun 24 2015 - 01:37:50 EST


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" <jan.kiszka@xxxxxx> åéï
>>>
>>>>>>>>>>>>>> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/