Re: [ibm-acpi-devel] HKEY version 0x200
Linux kernel driver for ThinkPad laptops
Brought to you by:
akw,
hmholschuh
|
From: Dennis W. <den...@se...> - 2016-04-14 10:16:48
|
Hi, On 13.04.2016 16:48, Henrique de Moraes Holschuh wrote: > On Wed, Apr 13, 2016, at 09:28, Dennis Wassenberg wrote: >> I would like to contribute to this topic as well. > > Thanks! > >> I believe (don't know, just guessing) that we should not make the >> feature "has_adaptive_kbd" depend on hkeyv 0x200. Instead we should use >> the "MHKA" method to evaluate if there is a flags mask set for the >> adaptive keyboard. I assume that if we pass "1" to the MHKA method we >> will get the hotkey_all_mask. If we pass "2" to the MHKA mask we will >> get the hotkey_all_adaptive_mask. Thats my assumption which is based on >> the observation of current Lenovo Skylake devices and the Thinkpad X1 >> Carbon (2014). > > It might need to depend on both. Are there any adaptive keyboards with > HKEY 0x100? > > If so, do they have the full ACPI interface for the adaptative keyboard, > or do they like something, e.g. MHKA(0x2) ? I don't know if there are any adaptive keyboards with HKEY 0x100. The only adaptive keyboard which I know is the X1 Carbon 2014. As far as I know this was the first HKEY 0x200 device. Thats why I assumed that the HKEY 0x200 is only a necessary condition. If HKEY 0x200 is used it is possible to query method MHKA with parameter 0x2. If there is something set != 0 this would be the sufficient condition for adaptive keyboards. But there might be other adaptive keybaords with HKEY 0x100, which I don't know? > > Because HKEY returning 0x200 should actually be the marker that the MHK* > methods have changed to support the adaptive keyboard better... > >> I checked it with T460, T460p, T460s, T560, X260 and X1 Tablet (2016). >> All of these devices return 0 in that case. Only the X1 Carbon (2014) >> will return 0x1FFFFFFF. The Thinkpads L460 and L560 are not covered by >> this because they have hkeyv 0x100. > > Seems like it would also work if we detect by HKEY 0x200 + MHKA(2) != > 0... > Unfortunately, I don't know the correct interpretation of MHKA(2). HKEY 0x200 + MHKA(2) != 0 is what I used in the patch I send yesterday. >> I prepared a patch which does what I described above (attachment). This >> works fine in my case with kernel >= 4.3 until 4.6-rc3 for T460, T460p, >> T460s, T560, X260. All hkeyv 0x100 Thinkpads should not be affected by >> this change. Whats your opinion about this patch? > > I will likely be able to only look at it in detail during the weekend. > >> Testing this with Lenovo Thinkpad X1 Tablet (2016) will make the hotkeys >> generate an event but currently there seems to be a mapping issue >> because the most events are "KEY_UNKNOWN". > > Ok. This needs a fix, but I will only know which one after I have time > to look over the current adaptive code and your patch in detail. > > We likely need to extend the keymap. > Ok, I will let you know the results of my investigation regarding the key mapping during the next days. >> Additionally I observed that the new Skylake Thinkpads have no HKEY >> methods GDFR, STRW, GTRW, SBMI, SVOI, GVOI, GCGI, GHOV, NALL, SAPI, >> GAPI, SMNC, GMNC, SCMI, GCMI, SCMD, GCMD, GMMS, UAND, DGBL, SDHK, GDHK, >> SDFL, GDFL, SDAM, GDAM in contrast to X1 Carbon (2014) with HKEY 0x200. > > Can you send to me in private mail the full acpidump (i.e. every table) > and dmidecode output for all these thinkpads you tested with? Please > cross-out any UUIDs and serial numbers... > |