Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751967AbbFZEHF (ORCPT ); Fri, 26 Jun 2015 00:07:05 -0400 Received: from mout.web.de ([212.227.15.3]:56360 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751461AbbFZEG6 (ORCPT ); Fri, 26 Jun 2015 00:06:58 -0400 Message-ID: <558CCFD7.90606@web.de> Date: Fri, 26 Jun 2015 06:06:47 +0200 From: Jan Kiszka User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 MIME-Version: 1.0 To: Hui Wang , Raymond Yau , alex.hung@canonical.com, Henrique de Moraes Holschuh CC: ALSA Development Mailing List , Hui Wang , tiwai@suse.de, Linux Kernel Mailing List , david.henningsson@canonical.com Subject: Re: [alsa-devel] [V2 PATCH] ALSA: hda - Enable mute/mic-mute LEDs for more Thinkpads with Conexant codec References: <1385534846-20829-1-git-send-email-hui.wang@canonical.com> <53AFF992.5030403@web.de> <53B0C596.6090007@canonical.com> <53B1078B.4090101@web.de> <53B219DF.6090807@canonical.com> <53B26575.1000003@web.de> <53B27ED7.4070401@canonical.com> <53B50062.30200@web.de> <53B51B63.8060809@canonical.com> <53B51CF3.8090102@web.de> <53B52146.9050300@canonical.com> <55603F22.8070103@web.de> <5560A93E.7060607@web.de> <558A4216.8010401@web.de> <558A6E80.7010003@canonical.com> <558BDFD4.9060301@web.de> <558CB778.5020307@canonical.com> In-Reply-To: <558CB778.5020307@canonical.com> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="sWBo9xg4T1fRP3NETfwnl6KniF5Qi2go7" X-Provags-ID: V03:K0:VrCRT/mMWIuVI+Q+ZVK958nJGx4Kd57yVeL3L0JFk4KIAW5BE+j HloRF2nA+NGR09tWXzOXzBUu+2GJjZR0aU+rBotqvTM1PGiJYncSuhLNJbIzCdgQ3jpmoJp l8Yzbyr/3lK2/8+WVXNx+DiSAQwzON3+K0EKV2CVNnxYsoYte9J7Et18NJIuc0OFdYQL4PX TdIILxTpnfBPMkYO5gN5A== X-UI-Out-Filterresults: notjunk:1;V01:K0:u6IE9XWe31k=:MkKRlGzNGclhMx2l2X7MBv 2BDGqQAgOvEt/yEg0k/z0eUExIPt0z683ul2lUmlsJnLM6IkEBq4XIQh9lZpZ7yswBJx0EJya GEm49dDzHnwrTKCEn9SksTsmb4sAssg1xV8Dyt0mK3a6DlkhuJu52WhgaQU0qcpdzkvwEEScR 20pqHxxj3m++gM8HvJ23UeGb/G8Su+rw2RTC/4T6SxwrXDQ/MLbk+pQ63ugou71p+CP6xEzN7 zGxbX27LdIUuHUCFM0ZiTCVtzpN6cB6sdbu/tm9qtrnJLYiiK+RN1mGzFZ++IUhnxVXJL2vIE oGKW5sp+Zg081rQpn68EHv66k4AAeo+PGHtrCJGmf23vq1KvjwjmzwXzHspdKsHtWgAD3iCD1 j8E8DmzG5H2J2QFkiuSS/i8MHzIjGfI/KCw7dLCVSerAvyAAy0fd+TTM/VtxuZHrSnC6237bU TTzGlczfRib8GKmtedCw4HlO486B+S0kmn2tRJEOHC1UEikhJdAPdgF7l/b+pOaGb2grC1CV/ XiUGRF/+YPNxkJCuHk4jB8pQNbpaSj87gK9AeuUq900zHCOq5gdwFuM3gSBuau4GepTMmNgy7 Mtk+2Lj0Y5RNNIwVXPkPvGUexbpk6WOPt/+tgBw1TAY7w86Eozy5YKOyE9xXg3h1iyO78TUWl qt0QYYy34bVkP6dwW//ukAHX5UlhWdS3LIz9N649Dw33+xA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 5605 Lines: 157 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --sWBo9xg4T1fRP3NETfwnl6KniF5Qi2go7 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 2015-06-26 04:22, Hui Wang wrote: > On 06/25/2015 07:02 PM, Jan Kiszka wrote: >> On 2015-06-24 10:46, Hui Wang wrote: >>> On 06/24/2015 01:37 PM, Jan Kiszka wrote: >>>> On 2015-05-23 18:22, Jan Kiszka wrote: >>>>> On 2015-05-23 18:06, Raymond Yau wrote: >>>>>> 2015-5-23 =E4=B8=8B=E5=8D=884:50 =E6=96=BC "Jan Kiszka" =E5=AF=AB=E9=81=93=EF=BC=9A >>>>>>>>>>>>>>>>>> Most Thinkpad Edge series laptops use conexant codec, = so >>>>>>>>>>>>>>>>>> far >>>>>>>>>>>>>>>>>> although >>>>>>>>>>>> >>>>>>>>>>>>>>> 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 powe= r >>>>>>>>>>>>> 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) >=3D 0) = { >>>>>>>>>>>> //in the >>>>>>>>>>>> sound/pci/hda/thinkpad_helper.c, hda_fixup_thinkpad_acpi() >>>>>>>>>>> ...and this >>>>>>>>>>> >>>>>>>>>>>> 4. if (led_set_func(TPACPI_LED_MICMUTE, false) >=3D 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 wo= rk >>>>>>>>>> well? >>>>>>>>>> >>>>>>>>>> in the thinkpad_helper.c, hda_fixup_thinkpad_acpi() >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> if (led_set_func(TPACPI_LED_MUTE, false) >=3D 0) { >>>>>>>>>> /* >>>>>>>>>> old_vmaster_hook =3D spec->vmaster_mute.hook; >>>>>>>>>> spec->vmaster_mute.hook =3D update_tpacpi_mute_= led; >>>>>>>>>> removefunc =3D 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 behavi= or? >>>>>>>> >>>>>>> I think we all lost track of this issue, but it unfortunately sti= ll >>>>>>> exists in the latest kernel, requiring custom builds here. How >>>>>>> can we >>>>>>> proceed? >>>>>> http://mailman.alsa-project.org/pipermail/alsa-devel/2015-May/0915= 61.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 a= t >>>>> least no physical LED to drive. >>> Some hotkey leds are embedded on button. Through the pictures I foun= d >>> on the internet (thinkpad t520), it looks like there is a led at the >>> center of the mute button. >> Again, I'm on a X121e, and that has only a single physical LED for >> signaling the power state. The mute button is behind key combination o= f >> the keyboard. >> >> Jan > There is no reason to change a power button to a reset button after > accessing the acpi device "SSMS", the "SSMS" is for the mute led instea= d > of the power management. >=20 > I think it is better you login to the lenovo website and look for the > latest BIOS image, then upgrade the BIOS on your machine to see if it > can solve the problem or not. There is no more update since 2013, and I'm using the latest one. The real bug is likely in the BIOS (it also has some other oddities), but the trigger was this patch. I suggested to have a quirk installed for my model - it cannot benefit from this change anyway. Now I'm waiting for feedback on how to address this best *in Linux* (because this is what we have under control). Thanks, Jan --sWBo9xg4T1fRP3NETfwnl6KniF5Qi2go7 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAlWMz9cACgkQitSsb3rl5xQ4ngCg0WHP2qD9Y7mWveDhRi/Qx7Rn 7oIAn0hDy+ONo3pWkbxjGCSInRNdJIce =7qxD -----END PGP SIGNATURE----- --sWBo9xg4T1fRP3NETfwnl6KniF5Qi2go7-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/