All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC] bitland-mifs-wmi: optional Fullspeed and four distinct modes on RedmiBook Pro 16 2024 (TM2309)
@ 2026-10-06  9:36 zsanya322
  2026-10-08 15:29 ` Anton Karasev
  0 siblings, 1 reply; 2+ messages in thread
From: zsanya322 @ 2026-10-06  9:36 UTC (permalink / raw)
  To: platform-driver-x86; +Cc: qby140326, hansg, ilpo.jarvinen

Hello,

Thank you for your work on RedmiBook and Bitland laptop support. As a
RedmiBook Pro 16 2024 user, I would like to suggest upstream support for
its four distinct firmware modes, especially an optional, explicitly
selectable Fullspeed/Geek mode. This is a proposal for consideration;
I understand that the interface and implementation need maintainer review.

My machine is XIAOMI / TM2309, BIOS RMAMT6B0P0B0B, Intel Core Ultra 5
125H with integrated Intel Arc graphics. I use EndeavourOS KDE and
Linux 7.2.8-arch1-2.

I found the ongoing per-machine ops discussion, including reports for
TM2309 and the four-mode test on TM2307:
https://lists.openwall.net/linux-kernel/2026/10/02/8
https://lists.openwall.net/linux-kernel/2026/10/02/47

With a local driver workaround scoped to my model and BIOS, WMI SET
followed by GET confirms these modes on AC power. The corresponding
Intel DTT odvp1 value also changes:

    User-facing mode    Firmware value    odvp1
    Quiet               2                 2
    Balanced            1                 0
    Turbo               3                 1
    Fullspeed / Geek    4                 4

All four controls were verified through a local GUI, including the
return from Fullspeed to Turbo. In this workaround, Turbo and Fullspeed
share the power-profiles-daemon "performance" profile, and a separate
control selects firmware mode 4. This is an experiment, not a proposed
stable userspace ABI.

Would it be possible to cover TM2309 in the ongoing series and keep
all four firmware modes independently selectable through an appropriate
kernel interface? If the four platform_profile values already discussed
are suitable, that would be preferable to maintaining a private module.
Fullspeed should be an explicit user choice, with whatever AC and
firmware capability checks are appropriate. I would also appreciate
guidance on the userspace work needed to make all four choices available
in the desktop; I understand that a kernel change alone cannot add a
fourth KDE/power-profiles-daemon button.

For context, a short AC test with eight CPU SHA256 workers for six
seconds per mode recorded MMIO PL1 limits of 45/49/75/90 W. Mean CPU
package consumption was 18.47/43.50/42.41/46.67 W respectively. These
are observations of adaptive policy, not requested fixed wattages or
a benchmark demonstrating a performance gain. The power-policy result
also depends on a separate local thermald workaround, which avoids
initializing an MSR limit from nominal PPCC on this exact machine while
retaining adaptive thermal policy. It should be reviewed separately.

No thermal protections were disabled. No new thermal-throttle events
appeared during this short test. Fan RPM is unavailable through the
tested firmware command, so I cannot claim that Fullspeed means a
verified 100% fan speed. Reboot, suspend/resume and AC/DC transitions
remain unverified, and I have not tested the exact current upstream
series; this is not a Tested-by for that series.

The collected measurements and local patches are available if helpful.
If this is already covered by pending work, please point me to the
relevant changes. Thank you for considering the suggestion and for
advising which parts belong in the driver versus userspace.

Best regards,
Aleksandr

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-10-08 15:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-06  9:36 [RFC] bitland-mifs-wmi: optional Fullspeed and four distinct modes on RedmiBook Pro 16 2024 (TM2309) zsanya322
2026-10-08 15:29 ` Anton Karasev

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.