Re: [PATCH v6 5/5] platform/x86: bitland-mifs-wmi: Add per-machine ops table

From: Anton Karasev

Date: Thu Oct 08 2026 - 11:29:05 EST


Hi Milos,

On Fri, Oct 02, 2026 at 02:18 Milos Vlku wrote:
> It matches your machine on every point you listed, checked against the
> ACPI tables

I checked the WMAA and NTDP points of your mail against the TM2309
tables and every one of them matches, so one entry for both boards
looks possible.

> So I would suggest an entry for these boards uses balanced = 1 rather
> than 0.

Agreed. My local build already writes 1 for balanced, which is also
what Fn+K sets; listing 0 and 1 together as balanced in my table was
only right for ODV1. I have not repeated your measurement on the
TM2309.

One thing to keep in mind with balanced = 1: GET returns 0 whenever
QFAN is not 1..4, for example while QFAN still holds the 0 written by a
kernel with the default map. A read of 0 then maps to no profile,
laptop_profile_get() returns -EINVAL, and bitland_mifs_wmi_suspend()
returns that error, so suspend fails -- the same -22 that was just
reported for the TM2426 [1]. Reading 0 as balanced avoids that.

On Fri, Oct 02, 2026 at 02:51 Milos Vlku wrote:
> - No machine-specific capability check is needed on this one.

On AC, yes. But bitland_pp_check_capability() calls
power_supply_is_system_supplied() before anything else, so on battery
balanced-performance and performance are refused, although this
firmware supports Turbo on battery: Fn+K reaches it, the GDDV has a DC
Turbo target, and writing 3 on battery works on the TM2309 (odvp1 1,
thermald applies the DC Turbo limits). Could you check the TM2307 on
battery? If it behaves the same, these boards need no capability check
at all.

> balanced-performance -> QFAN 3
> performance -> QFAN 4

On the TM2309 Fn+K only cycles 1 -> 3 -> 2 and never offers full
speed, even with the stock 140 W charger, although the firmware accepts
4 without any check. Does Fn+K on your TM2307 offer it?
power-profiles-daemon maps its "performance" profile to platform_profile
"performance", so putting full speed there would make the desktop's
performance setting mean full speed, with a PL1 of up to 90 W on AC on
the TM2309. I would rather map performance to Turbo (3) on these boards
and offer full speed as max-power, which platform_profile_cycle() skips
and power-profiles-daemon does not select, so it is only used when
chosen explicitly: low-power 2, balanced 1 (0 read as balanced),
performance 3, max-power 4, and no balanced-performance. Aleksandr
asked for full speed as an explicit choice on the TM2309 [2]. Chris: if
the generalized table can map max-power, that would cover it.

> So that is a Tested-by from a second board if it is useful.

If you reply with it to Chris's patch [3], b4 will pick it up from
there; here it is easy to miss.

Once Chris's series is out (see Ilpo's reply [4]), I would suggest a
single entry for both boards with two DMI matches (board_name TM2307
and TM2309): you test the TM2307 and I test the TM2309, and whoever
sends it Cc's the other. I am happy to fold the TM2309 into your patch
or the other way round.

[1] https://lore.kernel.org/all/tencent_D96ED693B9D664B3CDD8943D920571929406@xxxxxx/
[2] https://lore.kernel.org/all/CAFpZVRM_A9K+6-eFy_zfC-8gE+3r7pcdhgU+3M3g_XdQ_SJdiw@xxxxxxxxxxxxxx/
[3] https://lore.kernel.org/all/20260928154337.154969-1-chris@xxxxxxxxx/
[4] https://lore.kernel.org/all/094577b3-7b96-72b6-4ef2-a5d1db457401@xxxxxxxxxxxxxxx/

Thanks,
Anton Karasev