Re: [RESEND PATCH 2/5] platform/x86: bitland-mifs-wmi: support MIFS v2 perf-mode mapping

From: kento

Date: Sun Aug 16 2026 - 18:18:36 EST


From: KentoNion <kento@xxxxxxxx>

Hi Yuming, Mingyou, all,

I sent a TM2424-only quirk today [1] before I had seen this series.
Please treat this series as the right vehicle; I am not proposing a
competing v2. Two things from live testing on the same machine class
(Xiaomi Book Pro 14 2026, DMI board_name=TM2424, SKU TM2424-77080)
disagree with patch 2/5 and with a note in 0/5.

On Tue, Jul 28, 2026 at 06:09:58PM +0000, Yuming Sun wrote:
> Map the v2 codes to platform profiles (2=quiet, 3=balanced, 4=speed,
> 9/10=extreme)

On this SKU those bytes are the Xiaomi thin-ultrabook names from the
Windows OEM stack (MIControl / XiControl [2]), not "extreme":

0x02 Quiet
0x03 Turbo
0x04 Full-speed (firmware rejects this on battery; status != 0x80)
0x09 Auto / Smart
0x0A Eco (dims keyboard backlight and panel; more aggressive
than Quiet)

Confirmed by SET/GET with status byte 0x80, and by UX: Eco really dims
the machine. 0x01 Balance is rejected and does not stick.

That makes the SET path in 2/5 invert the user's intent:

platform_profile 2/5 writes firmware meaning on TM2424
---------------- --------- --------------------------
low-power 0x02 Quiet not the strongest saver (Eco)
balanced 0x03 Turbo a high-power mode
performance 0x09 "extreme" Auto, not Full-speed

So "performance" never programs 0x04. On AC, 0x04 is the mode that
holds ~50 W package power under stress-ng + turbostat here; 0x03 is
noticeably lower. That is also why I disagree with the cover-letter
note that the TDP change "is currently not applied on Linux": a Linux
DTT driver is not required for the firmware preset to move package
power. I did not program RAPL from this driver either.

Suggested mapping (matches power-profiles-daemon's three choices):

SET low-power -> 0x0A Eco
SET balanced -> 0x09 Auto
SET performance -> 0x04 Full-speed; if firmware NACK, 0x03 Turbo

GET 0x0A / 0x02 -> low-power
GET 0x09 -> balanced
GET 0x04 / 0x03 -> performance

Mingyou already pointed out that `probe_out.data[0] > 3` misses v2
when the machine is sitting in Quiet (2) or Turbo (3). A DMI match
(XIAOMI + TM2424, and likely other TM24*) plus the >3 heuristic would
cover both.

Everything else in this series looks strictly better than my quirk:
status-word / suspend -22 (Nabil's TM2411), EC fan tachs, lid poll.
Please keep those. I only ask to retarget patch 2/5's names and SET
values before this lands, otherwise Linux "performance" on these
thin machines will select Auto.

I can test a v3 of 2/5 on TM2424.

[1] https://lore.kernel.org/lkml/20260816215825.289356-1-kento@xxxxxxxx/
[2] https://github.com/Oksion/XiControl/blob/main/docs/01-wmi-protocol.md

Thanks,
KentoNion