[BUG] Redmi Book Pro 16 2024: platform_profile exposes unsupported performance modes on 7.1.x
Martiya Aryan Mehr <[email protected]>
| Newsgroups | org.kernel.vger.platform-driver-x86,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CAM-sYPodAoU1Rr65=xMM_VZ8211ViQp1zC7eOZAOyx=0XzdHvQ@mail.gmail.com> |
Hello,
I am testing Linux kernel support on a Xiaomi Redmi Book Pro 16 2024
(TM2309) with an Intel Core Ultra 7 155H (Meteor Lake).
I believe there is a problem/regression in the platform_profile
handling on the 7.1.x Arch kernel.
Hardware:
Laptop: Xiaomi Redmi Book Pro 16 2024
Model: TM2309
CPU: Intel Core Ultra 7 155H (Meteor Lake)
BIOS: RMAMT6B0P0B0B
BIOS date: 06/10/2025
I reproduced the behavior on Linux 7.1.7 and again after updating to
Linux 7.1.8.
Kernel versions tested:
Linux 7.1.7-arch1-1
Linux 7.1.8-arch1-3
Reference kernel:
Linux 6.18.44-1-lts
The important difference is that Linux 7.1.x registers a
platform_profile interface and exposes four profiles, but two of those
profiles cannot actually be written.
On Linux 7.1.8-arch1-3:
$ uname -r
7.1.8-arch1-3
$ cat /sys/firmware/acpi/platform_profile
balanced
$ cat /sys/firmware/acpi/platform_profile_choices
low-power balanced balanced-performance performance
Testing the available profiles:
$ echo low-power | sudo tee /sys/firmware/acpi/platform_profile
low-power
$ cat /sys/firmware/acpi/platform_profile
low-power
This works.
$ echo balanced | sudo tee /sys/firmware/acpi/platform_profile
balanced
$ cat /sys/firmware/acpi/platform_profile
balanced
This also works.
However:
$ echo balanced-performance | sudo tee /sys/firmware/acpi/platform_profile
balanced-performance
tee: /sys/firmware/acpi/platform_profile: Operation not supported
The profile remains:
$ cat /sys/firmware/acpi/platform_profile
balanced
The same happens with performance:
$ echo performance | sudo tee /sys/firmware/acpi/platform_profile
performance
tee: /sys/firmware/acpi/platform_profile: Operation not supported
$ cat /sys/firmware/acpi/platform_profile
balanced
Therefore the advertised profiles are:
Works:
- low-power
- balanced
Fails:
- balanced-performance
- performance
power-profiles-daemon detects the platform_profile backend on 7.1.8:
$ powerprofilesctl
performance:
CpuDriver: intel_pstate
PlatformDriver: platform_profile
Degraded: no
* balanced:
CpuDriver: intel_pstate
PlatformDriver: platform_profile
power-saver:
CpuDriver: intel_pstate
PlatformDriver: platform_profile
Attempting to activate performance through power-profiles-daemon
consequently fails because the underlying platform_profile write
returns -EOPNOTSUPP.
The same behavior was already present on Linux 7.1.7.
Important comparison with Linux 6.18.44-1-lts:
$ uname -r
6.18.44-1-lts
On the LTS kernel:
$ ls -l /sys/firmware/acpi/platform_profile*
ls: cannot access '/sys/firmware/acpi/platform_profile*': No such file
or directory
Neither platform_profile nor platform_profile_choices is exposed
through /sys/firmware/acpi.
However, the relevant kernel modules are present:
$ lsmod | grep -E "redmi|wmi|platform_profile|processor_thermal"
processor_thermal_soc_slider
platform_profile
redmi_wmi
...
The platform_profile module is present:
$ modinfo platform_profile
filename:
/lib/modules/6.18.44-1-lts/kernel/drivers/acpi/platform_profile.ko.zst
srcversion:
1286B64F09D8B6244885873
The processor thermal SoC slider module is also present:
$ modinfo processor_thermal_soc_slider
filename:
/lib/modules/6.18.44-1-lts/kernel/drivers/thermal/intel/int340x_thermal/processor_thermal_soc_slider.ko.zst
srcversion:
583E680621918305EF374CD
The Redmi WMI driver is present on both kernels, but has different
source versions:
Linux 6.18.44:
filename:
/lib/modules/6.18.44-1-lts/kernel/drivers/platform/x86/redmi-wmi.ko.zst
srcversion:
369C9F3502463ADD78FDC0F
Linux 7.1.8:
filename:
/lib/modules/7.1.8-arch1-3/kernel/drivers/platform/x86/redmi-wmi.ko.zst
srcversion:
E64350B38255B1100E64863
On both kernels the system is correctly identified:
DMI:
XIAOMI Redmi Book Pro 16 2024/TM2309
BIOS RMAMT6B0P0B0B 06/10/2025
The Redmi WMI device is also detected:
input: Redmibook WMI keys
There are no obvious redmi_wmi errors in dmesg.
The relevant kernel configuration is enabled on the LTS kernel:
CONFIG_ACPI=y
CONFIG_ACPI_PLATFORM_PROFILE=m
CONFIG_X86_INTEL_PSTATE=y
The platform_profile module is therefore available on LTS, but no
/sys/firmware/acpi/platform_profile interface is registered there.
This makes the 7.1.x behavior particularly interesting: the newer
kernel registers a platform_profile interface and advertises four
modes, but performance and balanced-performance return -EOPNOTSUPP
when written.
My questions are:
1. Is this expected behavior for the Redmi Book Pro 16 2024, or should
unsupported platform profiles be filtered out instead of being exposed
through platform_profile_choices?
2. Could this be related to changes in:
- drivers/platform/x86/redmi-wmi.c
- drivers/thermal/intel/int340x_thermal/processor_thermal_soc_slider.c
- drivers/acpi/platform_profile.c
- the platform_profile registration/selection logic
- ACPI platform profile handling
3. Why does the 7.1.x kernel expose the platform_profile interface on
this machine while 6.18.44 does not, despite platform_profile and
processor_thermal_soc_slider being present on the LTS kernel?
4. Is there a known regression or intended behavior change between
these kernel versions that could explain this?
For reference, the ACPI errors seen during boot are unrelated-looking
USB _PLD/_UPC errors involving the RUCC method:
ACPI Error: Missing argument(s) for method [RUCC]
AE_AML_TOO_FEW_ARGUMENTS
These errors occur on both kernels and do not appear to be directly
related to platform_profile.
I can provide complete dmesg output, kernel configuration, ACPI
tables, or perform a git bisect if that would help identify the
change.
Thank you.
Martiya Aryan Mehr