[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <55603F22.8070103@web.de>
Date: Sat, 23 May 2015 10:49:38 +0200
From: Jan Kiszka <jan.kiszka@....de>
To: Hui Wang <hui.wang@...onical.com>, alex.hung@...onical.com
CC: Hui Wang <jason77.wang@...il.com>, tiwai@...e.de,
alsa-devel@...a-project.org, yk@...onical.com,
david.henningsson@...onical.com,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [V2 PATCH] ALSA: hda - Enable mute/mic-mute LEDs for more Thinkpads
with Conexant codec
On 2014-07-03 11:24, Hui Wang wrote:
> On 07/03/2014 05:05 PM, Jan Kiszka wrote:
>> On 2014-07-03 10:59, Hui Wang wrote:
>>> On 07/03/2014 03:04 PM, Jan Kiszka wrote:
>>>> On 2014-07-01 11:26, Hui Wang wrote:
>>>>> On 07/01/2014 03:38 PM, Jan Kiszka wrote:
>>>>>> On 2014-07-01 04:15, Hui Wang wrote:
>>>>>>> On 06/30/2014 02:45 PM, Jan Kiszka wrote:
>>>>>>>> On 2014-06-30 04:04, Hui Wang wrote:
>>>>>>>>> On 06/29/2014 07:33 PM, Jan Kiszka wrote:
>>>>>>>>>> On 2013-11-27 07:47, Hui Wang 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);
>
>
> @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?
Thanks,
Jan
Download attachment "signature.asc" of type "application/pgp-signature" (199 bytes)
Powered by blists - more mailing lists