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

[email protected]
Newsgroups org.kernel.vger.platform-driver-x86,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
From: KentoNion <[email protected]>

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/[email protected]/
[2] https://github.com/Oksion/XiControl/blob/main/docs/01-wmi-protocol.md

Thanks,
KentoNion
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.