Re: [PATCH v2] platform/x86: wmi-bmof: New driver to expose embedded Binary WMI MOF metadata

From: Pali RohÃr
Date: Tue Jun 20 2017 - 08:12:54 EST


On Monday 19 June 2017 09:23:45 Andy Lutomirski wrote:
> On Mon, Jun 19, 2017 at 9:19 AM, Pali RohÃr <pali.rohar@xxxxxxxxx> wrote:
> > On Monday 19 June 2017 18:13:13 Mario.Limonciello@xxxxxxxx wrote:
> >> > -----Original Message-----
> >> > From: Pali RohÃr [mailto:pali.rohar@xxxxxxxxx]
> >> > Sent: Monday, June 19, 2017 11:08 AM
> >> > To: Andy Lutomirski <luto@xxxxxxxxxx>
> >> > Cc: platform-driver-x86@xxxxxxxxxxxxxxx; Andy Shevchenko
> >> > <andriy.shevchenko@xxxxxxxxxxxxxxx>; Andy Lutomirski
> >> > <luto@xxxxxxxxxxxxxx>; Limonciello, Mario
> >> > <Mario_Limonciello@xxxxxxxx>; Rafael Wysocki <rjw@xxxxxxxxxxxxx>;
> >> > linux-kernel@xxxxxxxxxxxxxxx; linux-acpi@xxxxxxxxxxxxxxx Subject:
> >> > Re: [PATCH v2] platform/x86: wmi-bmof: New driver to expose
> >> > embedded Binary WMI MOF metadata
> >> >
> >> > On Tuesday 06 June 2017 05:16:44 Andy Lutomirski wrote:
> >> > > Many laptops (and maybe servers?) have embedded WMI Binary MOF
> >> > > metadata. We do not yet have open-source tools for processing the
> >> > >
> >> > > data, although one is in the works thanks to Pali:
> >> > > https://github.com/pali/bmfdec
> >> > >
> >> > > There is currently no interface to get the data in the first
> >> > > place. By exposing it, we facilitate the development of new
> >> > > tools.
> >> > >
> >> > > Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx>
> >> > > Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
> >> > > Cc: Mario Limonciello <mario_limonciello@xxxxxxxx>
> >> > > Cc: Pali RohÃr <pali.rohar@xxxxxxxxx>
> >> > > Cc: linux-kernel@xxxxxxxxxxxxxxx
> >> > > Cc: platform-driver-x86@xxxxxxxxxxxxxxx
> >> > > Cc: linux-acpi@xxxxxxxxxxxxxxx
> >> > > [dvhart: make sysfs mof binary read only, fixup comment block
> >> > > format] [dvhart: use bmof terminology and dev_err instead of
> >> > > dev_warn] Acked-by: Rafael J. Wysocki
> >> > > <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Darren Hart (VMware)
> >> > > <dvhart@xxxxxxxxxxxxx> ---
> >> > >
> >> > > since-v1:
> >> > > * address Pali's comments:
> >> > > * update the cover letter for clarity and accuracy
> >> > > * update mof->bmof and MOF to Binary MOF throughout the patch
> >> > > * use dev_err instead of dev_warn in wmi_bmof_probe
> >> > >
> >> > > drivers/platform/x86/Kconfig | 12 ++++
> >> > > drivers/platform/x86/Makefile | 1 +
> >> > > drivers/platform/x86/wmi-bmof.c | 125
> >> >
> >> > Another suggestion (unrelated to this patch): For working with
> >> > ACPI-WMI, this binary MOF buffer is not enough. It is needed also
> >> > content of _WDG buffer. What about exporting it too via sysfs?
> >> > Probably not part of of wmi-bmof driver, but wmi driver itself.
> >>
> >> I think this depends upon how the userspace access to WMI methods
> >> gets implemented, no? If userpsace access to WMI methods show up as
> >> /dev/wmi-$GUID-$INSTANCE and those internally to the kernel map to
> >> the proper ASL methods for example, what you get from wmi-bmof
> >> should be enough shouldn't it?
> >
> > Ok. Such interface for userspace application could be enough.
> >
> > But for debugging purposes or writing new WMI driver it is needed to
> > have both _WDG + BMOF.
>
> With the busification patches applied, all the _WDG data should be
> available in sysfs in parsed form. I have no particular objection to
> adding a new sysfs for debugfs file to give the raw binary blob, but
> I'm not sure it's needed.

I'm thinking about writing userspace tool which print information
mapping from MOF namespace/class/method name to ACPI method. Ideally if
it could parse all WMI data on its own and not depends on new parsed
/sys/ tree structure. From _WDG it is needed to know ACPI ID or WMI
event IDs.

--
Pali RohÃr
pali.rohar@xxxxxxxxx