Re: [PATCH 1/3] dell_wmi: Support new hotkeys on the XPS 13 Skylake

From: Andy Lutomirski
Date: Tue Nov 17 2015 - 22:44:46 EST


On Tue, Nov 17, 2015 at 11:03 AM, Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:
> On Nov 17, 2015 12:36 AM, "Pali RohÃr" <pali.rohar@xxxxxxxxx> wrote:
>>
>> On Saturday 14 November 2015 18:07:57 Andy Lutomirski wrote:
>> > [lots of people added]
>> >
>> > On Sat, Nov 14, 2015 at 8:13 AM, Pali RohÃr <pali.rohar@xxxxxxxxx>
>> > wrote:
>> > > On Saturday 14 November 2015 16:48:25 Andy Lutomirski wrote:
>> > >> On Nov 14, 2015 1:27 AM, "Pali RohÃr" <pali.rohar@xxxxxxxxx> wrote:
>> > >> > On Friday 13 November 2015 21:49:30 Andy Lutomirski wrote:
>> > >> > > The XPS 13 Skylake has an rfkill button and a switchvideomode
>> > >> > > button that aren't enumerated in the DMI table AFAICT. Add a
>> > >> > > table listing extra un-enumerated hotkeys. To avoid breaking
>> > >> > > things that worked before, these un-enumerated hotkeys won't
>> > >> > > be used if the DMI table maps them to something else.
>> > >> >
>> > >> > Do you have any (Dell) documentation which specify list of these
>> > >> > wmi codes send to dell-wmi driver?
>> > >>
>> > >> No. Do you know where to get that documentation?
>> > >
>> > > Time to time Dell release some documentation or example code. You
>> > > could ask Dell people on LKML (e.g. Mario Limonciello is active)
>> > > or on smbios mailing list libsmbios-devel@xxxxxxxxxxxxxxxxxx
>> > >
>> > > But currently there there are open questions about WMI hotkeys on
>> > > Dell Vostro V131 which we cannot fix yet :-(
>> >
>> > On the Dell XPS 13 Skylake (XPS 13 9350), upstream Linux doesn't
>> > support the rfkill button.
>> >
>> > There seem to be three WMI events that aren't reflected in the OEM
>> > type 178 DMI table:
>> >
>> > 0x151: Fn-lock (no action needed by OS)
>> > 0x152: Switch video mode (should send KEY_SWITCHVIDEOMODE, but
>> > currently just warns)
>> > 0x153: rfkill -- currently warns, and see below.
>> >
>> > On several Dell models, there's the dell_rbtn (DELRBTN / DELLABCE)
>> > device. It's here in the DSDT, too, but it seems to be disabled if
>> > _OSI reports "Windows 2012" or "Windows 2013", so _STA returns zero.
>> > (It also shows up as DELLRBC6, but I haven't tried all the _OSI
>> > hackery that seems to be needed in order to test the driver.)
>> >
>>
>> Hi!
>>
>> In your ASL code is:
>>
>> Method (_STA, 0, NotSerialized) // _STA: Status
>> {
>> If ((OIDE () < One))
>> {
>> Return (0x0F)
>> }
>>
>> Return (Zero)
>> }
>>
>> OIDE() returns 1 for Windows 8.
>>
>> This is quite interesting, on my Latitude E6440 is this ASL code:
>>
>> Method (_STA, 0, NotSerialized)
>> {
>> If (LLess (OIDE (), One))
>> {
>> Return (Zero)
>> }
>>
>> Return (0x0F)
>> }
>>
>> And again OIDE() returns 1 for Windows 8. So behaviour is negated.
>>
>> Can you check if you have latest version of BIOS? Maybe Dell written
>> that condition incorrectly?
>>
>
> I'll check later on. There's one newer version.

No relevant changes in 1.0.4.

--Andy
--
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/