-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'platform-drivers-x86-v6.5-1' of git://git.kernel.org/pub/s…
…cm/linux/kernel/git/pdx86/platform-drivers-x86 Pull x86 platform driver updates from Hans de Goede: "AMD PMC and PMF drivers: - Various bugfixes - Improved debugging support Intel PMC: - Refactor to support hw with multiple PMCs - Various other improvements / new hw support Intel Speed Select Technology (ISST): - TPMI Uncore Frequency + Cluster Level Power Controls - Various bugfixes - tools/intel-speed-select: Misc improvements Dell-DDV: Add documentation INT3472 ACPI camera sensor glue code: - Evaluate device's _DSM method to control imaging clock - Drop the need to have a table with per sensor-model info Lenovo Yogabook: - Refactor / rework to also support Android models Think-LMI: - Multiple improvements and fixes WMI: - Add proper API documentation for the WMI bus x86-android-tablets: - Misc new hw support Miscellaneous other cleanups / fixes" * tag 'platform-drivers-x86-v6.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (91 commits) platform/x86:intel/pmc: Add Meteor Lake IOE-M PMC related maps platform/x86:intel/pmc: Add Meteor Lake IOE-P PMC related maps platform/x86:intel/pmc: Use SSRAM to discover pwrm base address of primary PMC platform/x86:intel/pmc: Discover PMC devices platform/x86:intel/pmc: Enable debugfs multiple PMC support platform/x86:intel/pmc: Add support to handle multiple PMCs platform/x86:intel/pmc: Combine core_init() and core_configure() platform/x86:intel/pmc: Update maps for Meteor Lake P/M platforms platform/x86/intel: tpmi: Remove hardcoded unit and offset platform/x86: int3472: discrete: Log a warning if the pin-numbers don't match platform/x86: int3472: discrete: Use FIELD_GET() on the GPIO _DSM return value platform/x86: int3472: discrete: Add alternative "AVDD" regulator supply name platform/x86: int3472: discrete: Add support for 1 GPIO regulator shared between 2 sensors platform/x86: int3472: discrete: Remove sensor_config-s platform/x86: int3472: discrete: Drop GPIO remapping support platform/x86: apple-gmux: don't use be32_to_cpu and cpu_to_be32 platform/x86/dell/dell-rbtn: Fix resources leaking on error path platform/x86: ISST: Fix usage counter platform/x86: ISST: Reset default callback on unregister platform/x86: int3472: Switch back to use struct i2c_driver's .probe() ...
- Loading branch information
Showing
70 changed files
with
4,518 additions
and
956 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
What: /sys/bus/wmi/devices/05901221-D566-11D1-B2F0-00A0C9062910[-X]/bmof | ||
Date: Jun 2017 | ||
KernelVersion: 4.13 | ||
Description: | ||
Binary MOF metadata used to decribe the details of available ACPI WMI interfaces. | ||
|
||
See Documentation/wmi/devices/wmi-bmof.rst for details. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
.. SPDX-License-Identifier: GPL-2.0-or-later | ||
============== | ||
WMI Driver API | ||
============== | ||
|
||
The WMI driver core supports a more modern bus-based interface for interacting | ||
with WMI devices, and an older GUID-based interface. The latter interface is | ||
considered to be deprecated, so new WMI drivers should generally avoid it since | ||
it has some issues with multiple WMI devices and events sharing the same GUIDs | ||
and/or notification IDs. The modern bus-based interface instead maps each | ||
WMI device to a :c:type:`struct wmi_device <wmi_device>`, so it supports | ||
WMI devices sharing GUIDs and/or notification IDs. Drivers can then register | ||
a :c:type:`struct wmi_driver <wmi_driver>`, which will be bound to compatible | ||
WMI devices by the driver core. | ||
|
||
.. kernel-doc:: include/linux/wmi.h | ||
:internal: | ||
|
||
.. kernel-doc:: drivers/platform/x86/wmi.c | ||
:export: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -71,3 +71,4 @@ Storage interfaces | |
scheduler/index | ||
mhi/index | ||
peci/index | ||
wmi/index |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
.. SPDX-License-Identifier: GPL-2.0-or-later | ||
================== | ||
ACPI WMI interface | ||
================== | ||
|
||
The ACPI WMI interface is a proprietary extension of the ACPI specification made | ||
by Microsoft to allow hardware vendors to embed WMI (Windows Management Instrumentation) | ||
objects inside their ACPI firmware. Typical functions implemented over ACPI WMI | ||
are hotkey events on modern notebooks and configuration of BIOS options. | ||
|
||
PNP0C14 ACPI device | ||
------------------- | ||
|
||
Discovery of WMI objects is handled by defining ACPI devices with a PNP ID | ||
of ``PNP0C14``. These devices will contain a set of ACPI buffers and methods | ||
used for mapping and execution of WMI methods and/or queries. If there exist | ||
multiple of such devices, then each device is required to have a | ||
unique ACPI UID. | ||
|
||
_WDG buffer | ||
----------- | ||
|
||
The ``_WDG`` buffer is used to discover WMI objects and is required to be | ||
static. Its internal structure consists of data blocks with a size of 20 bytes, | ||
containing the following data: | ||
|
||
======= =============== ===================================================== | ||
Offset Size (in bytes) Content | ||
======= =============== ===================================================== | ||
0x00 16 128 bit Variant 2 object GUID. | ||
0x10 2 2 character method ID or single byte notification ID. | ||
0x12 1 Object instance count. | ||
0x13 1 Object flags. | ||
======= =============== ===================================================== | ||
|
||
The WMI object flags control whether the method or notification ID is used: | ||
|
||
- 0x1: Data block usage is expensive and must be explicitly enabled/disabled. | ||
- 0x2: Data block contains WMI methods. | ||
- 0x4: Data block contains ASCIZ string. | ||
- 0x8: Data block describes a WMI event, use notification ID instead | ||
of method ID. | ||
|
||
Each WMI object GUID can appear multiple times inside a system. | ||
The method/notification ID is used to construct the ACPI method names used for | ||
interacting with the WMI object. | ||
|
||
WQxx ACPI methods | ||
----------------- | ||
|
||
If a data block does not contain WMI methods, then its content can be retrieved | ||
by this required ACPI method. The last two characters of the ACPI method name | ||
are the method ID of the data block to query. Their single parameter is an | ||
integer describing the instance which should be queried. This parameter can be | ||
omitted if the data block contains only a single instance. | ||
|
||
WSxx ACPI methods | ||
----------------- | ||
|
||
Similar to the ``WQxx`` ACPI methods, except that it is optional and takes an | ||
additional buffer as its second argument. The instance argument also cannot | ||
be omitted. | ||
|
||
WMxx ACPI methods | ||
----------------- | ||
|
||
Used for executing WMI methods associated with a data block. The last two | ||
characters of the ACPI method name are the method ID of the data block | ||
containing the WMI methods. Their first parameter is a integer describing the | ||
instance which methods should be executed. The second parameter is an integer | ||
describing the WMI method ID to execute, and the third parameter is a buffer | ||
containing the WMI method parameters. If the data block is marked as containing | ||
an ASCIZ string, then this buffer should contain an ASCIZ string. The ACPI | ||
method will return the result of the executed WMI method. | ||
|
||
WExx ACPI methods | ||
----------------- | ||
|
||
Used for optionally enabling/disabling WMI events, the last two characters of | ||
the ACPI method are the notification ID of the data block describing the WMI | ||
event as hexadecimal value. Their first parameter is an integer with a value | ||
of 0 if the WMI event should be disabled, other values will enable | ||
the WMI event. | ||
|
||
WCxx ACPI methods | ||
----------------- | ||
Similar to the ``WExx`` ACPI methods, except that it controls data collection | ||
instead of events and thus the last two characters of the ACPI method name are | ||
the method ID of the data block to enable/disable. | ||
|
||
_WED ACPI method | ||
---------------- | ||
|
||
Used to retrieve additional WMI event data, its single parameter is a integer | ||
holding the notification ID of the event. |
Oops, something went wrong.