Skip to content

Commit 9d588a1

Browse files
committed
Merge tag 'platform-drivers-x86-v6.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
Pull x86 platform driver updates from Ilpo Järvinen: - acer-wmi: Add PH16-72, PHN16-72, and PT14-51 fan control support - acpi: platform_profile: Add max-power profile option (power draw limited by the cooling hardware, may exceed battery power draw limit when on AC power) - amd/hsmp: Allow more than one data-fabric per socket - asus-armoury: Add WMI attributes driver to expose miscellaneous WMI functions through fw_attributes (deprecates the custom BIOS features interface through asus-wmi) - asus-wmi: Use brightness_set_blocking() for kbd led - ayaneo-ec: Add Ayaneo Embedded Controller driver - fs/nls: - Fix utf16 to utf8 string conversion when output size restricted - Improve error code consistency for utf8 to utf32 conversions - ideapad-laptop: Fast (Rapid Charge) charge type support - intel/hid: Add Dell Pro Rugged 10/12 tablet to VGBS DMI quirks - intel/pmc: - Arrow Lake telemetry GUID improvements - Add support for Wildcat Lake PMC information - intel_pmc_ipc: Fix ACPI buffer memleak - intel/punit_ipc: Fix memory corruption - intel/vsec: Wildcat Lake PMT telemetry support - lenovo-wmi-gamezone: Map "Extreme" performance mode to max-power - lg-laptop: Add support for the HDAP opregion field - serial-multi-instantiate: Add IRQ_RESOURCE_OPT for IRQ missing projects - thinkpad-t14s-ec: Improve suspend/resume support (lid LEDs, keyboard backlight) - uniwill: Add Uniwill laptop driver - wmi: Move under drivers/platform/wmi as non-x86 WMI support is around the corner and other WMI features will require adding more C files as well - tools/power/x86/intel-speed-select: v1.24 - Check feature status to check if the feature enablement was successful - Reset SST-TF bucket structure to display valid bucket info - Miscellaneous cleanups / refactoring / improvements * tag 'platform-drivers-x86-v6.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (73 commits) tools/power/x86/intel-speed-select: v1.24 release tools/power/x86/intel-speed-select: Reset isst_turbo_freq_info for invalid buckets tools/power/x86/intel-speed-select: Check feature status platform/x86: asus-wmi: use brightness_set_blocking() for kbd led fs/nls: Fix inconsistency between utf8_to_utf32() and utf32_to_utf8() platform/x86: asus-armoury: add support for GA503QR platform/x86: intel_pmc_ipc: fix ACPI buffer memory leak platform/x86: hp-wmi: Order DMI board name arrays platform/x86/intel/hid: Add Dell Pro Rugged 10/12 tablet to VGBS DMI quirks platform: surface: replace use of system_wq with system_percpu_wq platform: x86: replace use of system_wq with system_percpu_wq platform/surface: acpi-notify: add WQ_PERCPU to alloc_workqueue users platform/x86: wmi-gamezone: Add Legion Go 2 Quirks platform/x86: lenovo-wmi-gamezone Use max-power rather than balanced-performance acpi: platform_profile - Add max-power profile option platform/x86/amd/pmf: Use devm_mutex_init() for mutex initialization platform/x86/amd/pmf: Add BIOS_INPUTS_MAX macro to replace hardcoded array size platform/x86: serial-multi-instantiate: Add IRQ_RESOURCE_OPT for IRQ missing projects platform/x86/amd/pmf: Refactor repetitive BIOS output handling platform/x86/uniwill: Add TUXEDO devices ...
2 parents 9f20d9b + 4df66a7 commit 9d588a1

70 files changed

Lines changed: 7114 additions & 675 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Documentation/ABI/testing/sysfs-class-platform-profile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ Description: This file contains a space-separated list of profiles supported
2323
power consumption with a slight bias
2424
towards performance
2525
performance High performance operation
26+
max-power Higher performance operation that may exceed
27+
internal battery draw limits when on AC power
2628
custom Driver defined custom profile
2729
==================== ========================================
2830

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
What: /sys/bus/platform/devices/INOU0000:XX/fn_lock_toggle_enable
2+
Date: November 2025
3+
KernelVersion: 6.19
4+
Contact: Armin Wolf <W_Armin@gmx.de>
5+
Description:
6+
Allows userspace applications to enable/disable the FN lock feature
7+
of the integrated keyboard by writing "1"/"0" into this file.
8+
9+
Reading this file returns the current enable status of the FN lock functionality.
10+
11+
What: /sys/bus/platform/devices/INOU0000:XX/super_key_toggle_enable
12+
Date: November 2025
13+
KernelVersion: 6.19
14+
Contact: Armin Wolf <W_Armin@gmx.de>
15+
Description:
16+
Allows userspace applications to enable/disable the super key functionality
17+
of the integrated keyboard by writing "1"/"0" into this file.
18+
19+
Reading this file returns the current enable status of the super key functionality.
20+
21+
What: /sys/bus/platform/devices/INOU0000:XX/touchpad_toggle_enable
22+
Date: November 2025
23+
KernelVersion: 6.19
24+
Contact: Armin Wolf <W_Armin@gmx.de>
25+
Description:
26+
Allows userspace applications to enable/disable the touchpad toggle functionality
27+
of the integrated touchpad by writing "1"/"0" into this file.
28+
29+
Reading this file returns the current enable status of the touchpad toggle
30+
functionality.
31+
32+
What: /sys/bus/platform/devices/INOU0000:XX/rainbow_animation
33+
Date: November 2025
34+
KernelVersion: 6.19
35+
Contact: Armin Wolf <W_Armin@gmx.de>
36+
Description:
37+
Forces the integrated lightbar to display a rainbow animation when the machine
38+
is not suspended. Writing "1"/"0" into this file enables/disables this
39+
functionality.
40+
41+
Reading this file returns the current status of the rainbow animation functionality.
42+
43+
What: /sys/bus/platform/devices/INOU0000:XX/breathing_in_suspend
44+
Date: November 2025
45+
KernelVersion: 6.19
46+
Contact: Armin Wolf <W_Armin@gmx.de>
47+
Description:
48+
Causes the integrated lightbar to display a breathing animation when the machine
49+
has been suspended and is running on AC power. Writing "1"/"0" into this file
50+
enables/disables this functionality.
51+
52+
Reading this file returns the current status of the breathing animation
53+
functionality.

Documentation/ABI/testing/sysfs-platform-asus-wmi

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ Date: Aug 2022
6363
KernelVersion: 6.1
6464
Contact: "Luke Jones" <luke@ljones.dev>
6565
Description:
66+
DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
6667
Switch the GPU hardware MUX mode. Laptops with this feature can
6768
can be toggled to boot with only the dGPU (discrete mode) or in
6869
standard Optimus/Hybrid mode. On switch a reboot is required:
@@ -75,6 +76,7 @@ Date: Aug 2022
7576
KernelVersion: 5.17
7677
Contact: "Luke Jones" <luke@ljones.dev>
7778
Description:
79+
DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
7880
Disable discrete GPU:
7981
* 0 - Enable dGPU,
8082
* 1 - Disable dGPU
@@ -84,6 +86,7 @@ Date: Aug 2022
8486
KernelVersion: 5.17
8587
Contact: "Luke Jones" <luke@ljones.dev>
8688
Description:
89+
DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
8790
Enable the external GPU paired with ROG X-Flow laptops.
8891
Toggling this setting will also trigger ACPI to disable the dGPU:
8992

@@ -95,6 +98,7 @@ Date: Aug 2022
9598
KernelVersion: 5.17
9699
Contact: "Luke Jones" <luke@ljones.dev>
97100
Description:
101+
DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
98102
Enable an LCD response-time boost to reduce or remove ghosting:
99103
* 0 - Disable,
100104
* 1 - Enable
@@ -104,6 +108,7 @@ Date: Jun 2023
104108
KernelVersion: 6.5
105109
Contact: "Luke Jones" <luke@ljones.dev>
106110
Description:
111+
DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
107112
Get the current charging mode being used:
108113
* 1 - Barrel connected charger,
109114
* 2 - USB-C charging
@@ -114,6 +119,7 @@ Date: Jun 2023
114119
KernelVersion: 6.5
115120
Contact: "Luke Jones" <luke@ljones.dev>
116121
Description:
122+
DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
117123
Show if the egpu (XG Mobile) is correctly connected:
118124
* 0 - False,
119125
* 1 - True
@@ -123,6 +129,7 @@ Date: Jun 2023
123129
KernelVersion: 6.5
124130
Contact: "Luke Jones" <luke@ljones.dev>
125131
Description:
132+
DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
126133
Change the mini-LED mode:
127134
* 0 - Single-zone,
128135
* 1 - Multi-zone
@@ -133,13 +140,15 @@ Date: Apr 2024
133140
KernelVersion: 6.10
134141
Contact: "Luke Jones" <luke@ljones.dev>
135142
Description:
143+
DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
136144
List the available mini-led modes.
137145

138146
What: /sys/devices/platform/<platform>/ppt_pl1_spl
139147
Date: Jun 2023
140148
KernelVersion: 6.5
141149
Contact: "Luke Jones" <luke@ljones.dev>
142150
Description:
151+
DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
143152
Set the Package Power Target total of CPU: PL1 on Intel, SPL on AMD.
144153
Shown on Intel+Nvidia or AMD+Nvidia based systems:
145154

@@ -150,6 +159,7 @@ Date: Jun 2023
150159
KernelVersion: 6.5
151160
Contact: "Luke Jones" <luke@ljones.dev>
152161
Description:
162+
DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
153163
Set the Slow Package Power Tracking Limit of CPU: PL2 on Intel, SPPT,
154164
on AMD. Shown on Intel+Nvidia or AMD+Nvidia based systems:
155165

@@ -160,6 +170,7 @@ Date: Jun 2023
160170
KernelVersion: 6.5
161171
Contact: "Luke Jones" <luke@ljones.dev>
162172
Description:
173+
DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
163174
Set the Fast Package Power Tracking Limit of CPU. AMD+Nvidia only:
164175
* min=5, max=250
165176

@@ -168,6 +179,7 @@ Date: Jun 2023
168179
KernelVersion: 6.5
169180
Contact: "Luke Jones" <luke@ljones.dev>
170181
Description:
182+
DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
171183
Set the APU SPPT limit. Shown on full AMD systems only:
172184
* min=5, max=130
173185

@@ -176,6 +188,7 @@ Date: Jun 2023
176188
KernelVersion: 6.5
177189
Contact: "Luke Jones" <luke@ljones.dev>
178190
Description:
191+
DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
179192
Set the platform SPPT limit. Shown on full AMD systems only:
180193
* min=5, max=130
181194

@@ -184,6 +197,7 @@ Date: Jun 2023
184197
KernelVersion: 6.5
185198
Contact: "Luke Jones" <luke@ljones.dev>
186199
Description:
200+
DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
187201
Set the dynamic boost limit of the Nvidia dGPU:
188202
* min=5, max=25
189203

@@ -192,6 +206,7 @@ Date: Jun 2023
192206
KernelVersion: 6.5
193207
Contact: "Luke Jones" <luke@ljones.dev>
194208
Description:
209+
DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
195210
Set the target temperature limit of the Nvidia dGPU:
196211
* min=75, max=87
197212

@@ -200,6 +215,7 @@ Date: Apr 2024
200215
KernelVersion: 6.10
201216
Contact: "Luke Jones" <luke@ljones.dev>
202217
Description:
218+
DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
203219
Set if the BIOS POST sound is played on boot.
204220
* 0 - False,
205221
* 1 - True
@@ -209,6 +225,7 @@ Date: Apr 2024
209225
KernelVersion: 6.10
210226
Contact: "Luke Jones" <luke@ljones.dev>
211227
Description:
228+
DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
212229
Set if the MCU can go in to low-power mode on system sleep
213230
* 0 - False,
214231
* 1 - True
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
What: /sys/devices/platform/ayaneo-ec/controller_power
2+
Date: Nov 2025
3+
KernelVersion: 6.19
4+
Contact: "Antheas Kapenekakis" <lkml@antheas.dev>
5+
Description:
6+
Current controller power state. Allows turning on and off
7+
the controller power (e.g. for power savings). Write 1 to
8+
turn on, 0 to turn off. File is readable and writable.
9+
10+
What: /sys/devices/platform/ayaneo-ec/controller_modules
11+
Date: Nov 2025
12+
KernelVersion: 6.19
13+
Contact: "Antheas Kapenekakis" <lkml@antheas.dev>
14+
Description:
15+
Shows which controller modules are currently connected to
16+
the device. Possible values are "left", "right" and "both".
17+
File is read-only. The Windows software for this device
18+
will only set controller power to 1 if both module sides
19+
are connected (i.e. this file returns "both").

Documentation/admin-guide/laptops/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,4 @@ Laptop Drivers
1717
sonypi
1818
thinkpad-acpi
1919
toshiba_haps
20+
uniwill-laptop
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
.. SPDX-License-Identifier: GPL-2.0+
2+
3+
Uniwill laptop extra features
4+
=============================
5+
6+
On laptops manufactured by Uniwill (either directly or as ODM), the ``uniwill-laptop`` driver
7+
handles various platform-specific features.
8+
9+
Module Loading
10+
--------------
11+
12+
The ``uniwill-laptop`` driver relies on a DMI table to automatically load on supported devices.
13+
When using the ``force`` module parameter, this DMI check will be omitted, allowing the driver
14+
to be loaded on unsupported devices for testing purposes.
15+
16+
Hotkeys
17+
-------
18+
19+
Usually the FN keys work without a special driver. However as soon as the ``uniwill-laptop`` driver
20+
is loaded, the FN keys need to be handled manually. This is done automatically by the driver itself.
21+
22+
Keyboard settings
23+
-----------------
24+
25+
The ``uniwill-laptop`` driver allows the user to enable/disable:
26+
27+
- the FN and super key lock functionality of the integrated keyboard
28+
- the touchpad toggle functionality of the integrated touchpad
29+
30+
See Documentation/ABI/testing/sysfs-driver-uniwill-laptop for details.
31+
32+
Hwmon interface
33+
---------------
34+
35+
The ``uniwill-laptop`` driver supports reading of the CPU and GPU temperature and supports up to
36+
two fans. Userspace applications can access sensor readings over the hwmon sysfs interface.
37+
38+
Platform profile
39+
----------------
40+
41+
Support for changing the platform performance mode is currently not implemented.
42+
43+
Battery Charging Control
44+
------------------------
45+
46+
The ``uniwill-laptop`` driver supports controlling the battery charge limit. This happens over
47+
the standard ``charge_control_end_threshold`` power supply sysfs attribute. All values
48+
between 1 and 100 percent are supported.
49+
50+
Additionally the driver signals the presence of battery charging issues through the standard
51+
``health`` power supply sysfs attribute.
52+
53+
Lightbar
54+
--------
55+
56+
The ``uniwill-laptop`` driver exposes the lightbar found on some models as a standard multicolor
57+
LED class device. The default name of this LED class device is ``uniwill:multicolor:status``.
58+
59+
See Documentation/ABI/testing/sysfs-driver-uniwill-laptop for details on how to control the various
60+
animation modes of the lightbar.

Documentation/driver-api/wmi.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,5 @@ which will be bound to compatible WMI devices by the driver core.
1616
.. kernel-doc:: include/linux/wmi.h
1717
:internal:
1818

19-
.. kernel-doc:: drivers/platform/x86/wmi.c
19+
.. kernel-doc:: drivers/platform/wmi/core.c
2020
:export:

Documentation/wmi/devices/lenovo-wmi-gamezone.rst

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,27 +19,26 @@ WMI GUID ``887B54E3-DDDC-4B2C-8B88-68A26A8835D0``
1919
The Gamezone Data WMI interface provides platform-profile and fan curve
2020
settings for devices that fall under the "Gaming Series" of Lenovo devices.
2121
It uses a notifier chain to inform other Lenovo WMI interface drivers of the
22-
current platform profile when it changes.
22+
current platform profile when it changes. The currently set profile can be
23+
determined by the user on the hardware by looking at the color of the power
24+
or profile LED, depending on the model.
2325

2426
The following platform profiles are supported:
25-
- low-power
26-
- balanced
27-
- balanced-performance
28-
- performance
29-
- custom
27+
- low-power, blue LED
28+
- balanced, white LED
29+
- performance, red LED
30+
- max-power, purple LED
31+
- custom, purple LED
3032

31-
Balanced-Performance
33+
Extreme Mode
3234
~~~~~~~~~~~~~~~~~~~~
3335
Some newer Lenovo "Gaming Series" laptops have an "Extreme Mode" profile
34-
enabled in their BIOS. For these devices, the performance platform profile
35-
corresponds to the BIOS Extreme Mode, while the balanced-performance
36-
platform profile corresponds to the BIOS Performance mode. For legacy
37-
devices, the performance platform profile will correspond with the BIOS
38-
Performance mode.
39-
40-
For some newer devices the "Extreme Mode" profile is incomplete in the BIOS
41-
and setting it will cause undefined behavior. A BIOS bug quirk table is
42-
provided to ensure these devices cannot set "Extreme Mode" from the driver.
36+
enabled in their BIOS. When available, this mode will be represented by the
37+
max-power platform profile.
38+
39+
For a subset of these devices the "Extreme Mode" profile is incomplete in
40+
the BIOS and setting it will cause undefined behavior. A BIOS bug quirk table
41+
is provided to ensure these devices cannot set "Extreme Mode" from the driver.
4342

4443
Custom Profile
4544
~~~~~~~~~~~~~~

0 commit comments

Comments
 (0)