mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Derek J. Clark" <derekjohn.clark@gmail.com>
To: Rong Zhang <i@rong.moe>, Kurt Borja <kuurtb@gmail.com>
Cc: "Mark Pearson" <mpearson-lenovo@squebb.ca>,
	"Armin Wolf" <W_Armin@gmx.de>, "Hans de Goede" <hansg@kernel.org>,
	"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
	platform-driver-x86@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/2] platform/x86: lenovo-wmi-capdata: Add debugfs file for dumping capdata
Date: Wed, 11 Feb 2026 11:14:38 -0800	[thread overview]
Message-ID: <5A76941F-6099-4C51-8EED-B69AA2998CC0@gmail.com> (raw)
In-Reply-To: <06772053d9ea324117c78f83bad49e4f49222ff2.camel@rong.moe>

On February 11, 2026 3:49:43 AM PST, Rong Zhang <i@rong.moe> wrote:
>Hi Derek and Kurt,
>
>On Tue, 2026-02-10 at 15:49 -0800, Derek J. Clark wrote:
>> On February 10, 2026 3:41:31 PM PST, Kurt Borja <kuurtb@gmail.com> wrote:
>> > On Tue Feb 10, 2026 at 2:19 PM -05, Rong Zhang wrote:
>> > > The Lenovo GameZone/Other interfaces have some delicate divergences
>> > > among different devices. When making a bug report or adding support for
>> > > new devices/interfaces, capdata is the most important information to
>> > > cross-check with.
>> > > 
>> > > Add a debugfs file (lenovo_wmi/<device_name>/capdata), so that users can
>> > > dump capdata and include it in their reports.
>> > > 
>> > > The output is like:
>> > > 
>> > >   LENOVO_CAPABILITY_DATA_00[0]:
>> > >     id:             0x00010000 [dev:  0, feat:  1, mode:  0, type:  0]
>> > >     supported:      0x00000007 [ RWV]
>> > >     default_value:  0
>> > > 
>> > >   LENOVO_CAPABILITY_DATA_01[0]:
>> > >     id:             0x00000000 [dev:  0, feat:  0, mode:  0, type:  0]
>> > >     supported:      0x00000000 [    ]
>> > >     default_value:  0
>> > >     step:           0
>> > >     min_value:      0
>> > >     max_value:      0
>> > > 
>> > >   LENOVO_FAN_TEST_DATA[0]:
>> > >     id:             1
>> > >     min_rpm:        2200
>> > >     max_rpm:        5000
>> > > 
>> > > A helper function for creating per-devcie debugfs directories is also
>> > > introduced into lenovo-wmi-helpers in order that we can maintain a tidy
>> > > directory structure in debugfs.
>> > > 
>> > > The series is based on platform-drivers-x86/review-ilpo-next since it
>> > > depends on a commit there. I am OK to wait until the next cycle.
>> > > 
>> > > Rong Zhang (2):
>> > >   platform/x86: lenovo-wmi-helpers: Add helper for creating per-device
>> > >     debugfs dir
>> > >   platform/x86: lenovo-wmi-capdata: Add debugfs file for dumping capdata
>> > > 
>> > >  drivers/platform/x86/lenovo/Kconfig       |   1 +
>> > >  drivers/platform/x86/lenovo/wmi-capdata.c | 121 ++++++++++++++++++++++
>> > >  drivers/platform/x86/lenovo/wmi-capdata.h |   4 +-
>> > >  drivers/platform/x86/lenovo/wmi-helpers.c |  34 ++++++
>> > >  drivers/platform/x86/lenovo/wmi-helpers.h |   2 +
>> > >  5 files changed, 159 insertions(+), 3 deletions(-)
>> > > 
>> > > 
>> > > base-commit: 5a5203a45b063a594e89a2aeaf9e4923893a5b4c
>> > 
>> > Hi Rong,
>> > 
>> > This is indeed very useful debug information.
>> > 
>> > Once you and Derek agree on the approach for this series, I'll add my
>> > Tested-by tag.
>> > 
>> > One more thing though. Can you please explain the "supported" byte? What
>> > is `+` and `V` supposed to mean?
>
>"V" means valid. It's consistent with the corresponding macro name.
>
>> Kurt,
>> 
>> It's enumerated in the patch:
>> 
>> +       seq_printf(s, "  supported:      0x%08x [%c%c%c%c]\n", cd00->supported,
>> +                  extra ? '+' : ' ',
>> +                  get   ? 'R' : ' ',
>> +                  set   ? 'W' : ' ',
>> +                  valid ? 'V' : ' ');
>> 
>> 
>> From the documentation:
>> uint32 Capability //7:by project 
>> bit 2:  0: not support SetFeatureValue(),  1: support SetFeatureValue() 
>> bit 1:  0: not support GetFeatureValue(),  1: support GetFeatureValue()
>> bit 0:  0: not support feature,  1: support feature 
>> 
>> I don't see any examples of the "extra" bit in the docs.
>
>It's not a single bit. Instead, it's printed out when any bit other
>than RWV is set. I added this when I recalled the definition of
>capability 0x04050000, which has an extra bit defined:
>
>   Fan Test For Diagnostic Software
>   uint32 IDs //0x04050000
>   uint32 Capability //9:by project
>   bit 3: 0: not support LENOVO_FAN_TEST_DATA, 1 support LENOVO_FAN_TEST_DATA
>   bit 2: 0: not support SetFeatureValue(), 1: support SetFeatureValue()
>   bit 1: 0: not support GetFeatureValue(), 1: support GetFeatureValue()
>   bit 0: 0: not support fan test for diagnostic software, 1: support an test for diagnostic software
>
>(from https://lore.kernel.org/r/CAFqHKTkOZUfDb8cGbGnVPCS9wNbOBsiyOk_MkZR-2_Za6ZPMng@mail.gmail.com/ )
>
>I assume extra bits are not standardized, and some (current or future)
>capabilities may have multiple extra bits defined. Hence, I simply
>named it "+". After all, it's just a reminder for us to check the
>documentation (I don't have any, though).

Okay. Makes sense. I have no issues with reporting that then. 

Thanks,
Derek

>Thanks,
>Rong
>
>> Thanks,
>> Derek


  reply	other threads:[~2026-02-11 19:14 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-10 19:19 Rong Zhang
2026-02-10 19:19 ` [PATCH 1/2] platform/x86: lenovo-wmi-helpers: Add helper for creating per-device debugfs dir Rong Zhang
2026-02-10 19:19 ` [PATCH 2/2] platform/x86: lenovo-wmi-capdata: Add debugfs file for dumping capdata Rong Zhang
2026-02-10 20:38   ` Derek J. Clark
2026-02-10 23:47     ` Kurt Borja
2026-02-11 11:47     ` Rong Zhang
2026-02-11 19:10       ` Derek J. Clark
2026-02-25 18:28       ` Derek J. Clark
2026-02-25 18:24   ` Kurt Borja
2026-02-10 23:41 ` [PATCH 0/2] " Kurt Borja
2026-02-10 23:49   ` Derek J. Clark
2026-02-11 11:49     ` Rong Zhang
2026-02-11 19:14       ` Derek J. Clark [this message]
2026-03-25 18:15 ` Rong Zhang
2026-03-26 16:34   ` 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=5A76941F-6099-4C51-8EED-B69AA2998CC0@gmail.com \
    --to=derekjohn.clark@gmail.com \
    --cc=W_Armin@gmx.de \
    --cc=hansg@kernel.org \
    --cc=i@rong.moe \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=kuurtb@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mpearson-lenovo@squebb.ca \
    --cc=platform-driver-x86@vger.kernel.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

all inboxes | Powered by JetHome®