From: "Derek J. Clark" <derekjohn.clark@gmail.com>
To: "Rong Zhang" <i@rong.moe>, "Aditya Dash" <mradityadash@gmail.com>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Armin Wolf" <W_Armin@gmx.de>, "Hans de Goede" <hansg@kernel.org>,
"Mark Pearson" <mpearson-lenovo@squebb.ca>
Cc: Guenter Roeck <linux@roeck-us.net>,
Jonathan Corbet <corbet@lwn.net>,
Shuah Khan <skhan@linuxfoundation.org>,
linux-doc@vger.kernel.org, linux-hwmon@vger.kernel.org,
linux-kernel@vger.kernel.org,
platform-driver-x86@vger.kernel.org
Subject: Re: [RFC PATCH 0/3] platform/x86: lenovo: Add Legion Go fan controls
Date: Sun, 23 Aug 2026 13:08:25 -0700 [thread overview]
Message-ID: <782FE636-A06A-4E12-9563-786374805947@gmail.com> (raw)
In-Reply-To: <3dca1e1efa285d8644b8ac681a5fb41742ce06a6.camel@rong.moe>
On August 23, 2026 12:32:02 PM PDT, Rong Zhang <i@rong.moe> wrote:
>Hi Aditya,
>
>On Sat, 2026-08-22 at 03:17 +0530, Aditya Dash wrote:
>> Capability Data does not cover all fan controls on the Legion Go. Full
>> Speed uses a separate Other Mode feature, some firmware exposes an RPM
>> reading that Capability Data does not advertise,
>>
>
>"does not advertise"
>
>Really? Please dump capdata via debugfs and attach it.
>
>> and the custom fan table
>> uses a separate Fan Method WMI interface.
>>
>
>The hwmon part of lenovo-wmi-other was done by me. Please CC me in your
>next revision.
>
Hi Rong,
I'd ack if you wanted to add yourself as a maintainer of the Lenovo drivers so you get picked up by the kernel scripts. Otherwise people won't know to Cc you.
>> Patches 1 and 2 add Full Speed and the RPM fallback to the existing HWMON
>> device. Patch 3 adds a Fan Method driver and attaches the ten curve points
>> to that device when both WMI interfaces belong to the same provider. Other
>> Mode continues to work without Fan Method.
>>
>> The open question is how the firmware control range should map to HWMON.
>> On the tested Legion Go 8APU1, values from 0 through 115 produce the
>> observable fan response and correspond to Lenovo's 0 through 115 percent
>> range. Lenovo software shows 0 through 100 percent to the user, and 115
>> reaches the RPM observed in Full Speed mode. Firmware accepts values
>> through 255, but no RPM increase was observed above 115.
>
>This is what we've observed in Fan Test Data. We chose to enforce
>constraints according to it and relax it when users set an module
>parameter.
>
>>
>> This series keeps the native values unchanged and exposes the fixed
>> temperatures as read-only automatic points. Should the driver map the
>> effective 0 through 115 range to the standard HWMON 0 through 255 scale,
>> or keep the native firmware values unchanged?
>
>In your case, if there is no range data to query, I'd prefer enforcing 0-
>100 by default and relaxing it when appropriate range data is provided by
>module parameters or DMI table.
>
>The range should always map to hwmon pwm 0-255.
Concur on both counts.
>As far as I can recall, Derek once said that he planed to introduce fan
>curve support for Legion Go, so I think he has some helpful ideas.
I'll post a full review once I've had time to test and review the documentation again.
Cheers,
Derek
>Thanks,
>Rong
>
>>
>> Aditya Dash (3):
>> platform/x86: lenovo-wmi-other: Add Legion Go Full Speed control
>> platform/x86: lenovo-wmi-other: Add Legion Go fan RPM fallback
>> platform/x86: lenovo: Add Legion Go Fan Method curve driver
>>
>> .../wmi/devices/lenovo-wmi-fan-method.rst | 34 ++
>> .../wmi/devices/lenovo-wmi-other.rst | 14 +
>> MAINTAINERS | 1 +
>> drivers/platform/x86/lenovo/Kconfig | 11 +
>> drivers/platform/x86/lenovo/Makefile | 1 +
>> drivers/platform/x86/lenovo/wmi-fan-method.c | 380 ++++++++++++++++++
>> drivers/platform/x86/lenovo/wmi-other.c | 215 +++++++++-
>> 7 files changed, 649 insertions(+), 7 deletions(-)
>> create mode 100644 Documentation/wmi/devices/lenovo-wmi-fan-method.rst
>> create mode 100644 drivers/platform/x86/lenovo/wmi-fan-method.c
>>
>>
>> base-commit: aca39607c1734ed976fdd65deb75b3555a5a0326
next prev parent reply other threads:[~2026-08-23 20:08 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-21 21:47 [RFC PATCH 0/3] platform/x86: lenovo: Add Legion Go fan controls Aditya Dash
2026-08-21 21:47 ` [RFC PATCH 1/3] platform/x86: lenovo-wmi-other: Add Legion Go Full Speed control Aditya Dash
2026-08-22 18:55 ` Antheas Kapenekakis
2026-08-23 19:55 ` Rong Zhang
2026-08-24 7:46 ` Ilpo Järvinen
2026-08-21 21:47 ` [RFC PATCH 2/3] platform/x86: lenovo-wmi-other: Add Legion Go fan RPM fallback Aditya Dash
2026-08-22 18:50 ` Antheas Kapenekakis
2026-08-23 20:23 ` Rong Zhang
2026-08-24 7:49 ` Ilpo Järvinen
2026-08-21 21:47 ` [RFC PATCH 3/3] platform/x86: lenovo: Add Legion Go Fan Method curve driver Aditya Dash
2026-08-22 18:47 ` Antheas Kapenekakis
2026-08-23 21:09 ` Rong Zhang
2026-08-24 8:10 ` Ilpo Järvinen
2026-08-22 18:33 ` [RFC PATCH 0/3] platform/x86: lenovo: Add Legion Go fan controls Antheas Kapenekakis
2026-08-23 19:32 ` Rong Zhang
2026-08-23 20:08 ` Derek J. Clark [this message]
2026-08-23 20:24 ` Rong Zhang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=782FE636-A06A-4E12-9563-786374805947@gmail.com \
--to=derekjohn.clark@gmail.com \
--cc=W_Armin@gmx.de \
--cc=corbet@lwn.net \
--cc=hansg@kernel.org \
--cc=i@rong.moe \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=mpearson-lenovo@squebb.ca \
--cc=mradityadash@gmail.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=skhan@linuxfoundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox