platform-drivers-x86 for v7.0-1

Highlights:

- amd/pmf:
  - Avoid overwriting BIOS input values when events occur rapidly
  - Fix PMF driver issues related to S4 (in part on crypto/ccp side)
  - Add NPU metrics API (for accel side consumers)
  - Allow disabling Smart PC function through a module parameter

- asus-wmi & HID/asus:
  - Unification of backlight control (replaces quirks)
  - Support multiple interfaces for controlling keyboard/RGB brightness
  - Simplify init sequence

- hp-wmi:
  - Add manual fan control for Victus S models
  - Add fan mode keep-alive
  - Fix platform profile values for Omen 16-wf1xxx
  - Add EC offset to get the thermal profile

- intel/pmc: Show substate residencies also for non-primary PMCs

- intel/ISST:
  - Store and restore data for all domains
  - Write interface improvements

- lenovo-wmi:
  - Support multiple Capability Data
  - Add HWMON reporting and tuning support

- mellanox/mlx-platform: Add HI173 & HI174 support

- surface/aggregator_registry: Add Surface Pro 11 (QCOM)

- thinkpad_acpi: Add support for HW damage detection capability

- uniwill: Implement cTGP setting

- wmi:
  - Introduce marshalling support
  - Convert a few drivers to use the new buffer-based WMI API

- tools/power/x86/intel-speed-select: Allow read operations for non-root

- Miscellaneous cleanups / refactoring / improvements

The following is an automated shortlog grouped by driver:

amd/pmf:
 -  Added a module parameter to disable the Smart PC function
 -  Introduce new interface to export NPU metrics
 -  Prevent TEE errors after hibernate
 -  Use ring buffer to store custom BIOS input values

amd:
 -  Use scope-based cleanup for wbrf_record()

asus-wmi:
 -  add keyboard brightness event handler
 -  Add support for multiple kbd led handlers
 -  remove unused keyboard backlight quirk

crypto:
 -  ccp - Add an S4 restore flow
 -  ccp - Declare PSP dead if PSP_CMD_TEE_RING_INIT fails
 -  ccp - Factor out ring destroy handling to a helper
 -  ccp - Send PSP_CMD_TEE_RING_DESTROY when PSP_CMD_TEE_RING_INIT fails

HID: asus:
 -  add support for the asus-wmi brightness handler
 -  early return for ROG devices
 -  fortify keyboard handshake
 -  initialize additional endpoints only for certain devices
 -  listen to the asus-wmi brightness device instead of creating one
 -  move vendor initialization to probe
 -  simplify RGB init sequence
 -  use same report_id in response

hp-wmi:
 -  Add EC offsets to read Victus S thermal profile
 -  add manual fan control for Victus S models
 -  fix platform profile values for Omen 16-wf1xxx
 -  implement fan keep-alive
 -  order include headers

ideadpad-laptop:
 -  Clean up style warnings and checks

intel/pmc:
 -  Change LPM mode fields to u8
 -  Enable substate residencies for multiple PMCs
 -  Move LPM mode attributes to PMC
 -  Remove double empty line

intel/pmt:
 -  Replace sprintf() with sysfs_emit()

intel/uncore-freq:
 -  Replace sprintf() with scnprintf()
 -  Replace sprintf() with sysfs_emit()

intel-wmi-sbl-fw-update:
 -  Use new buffer-based WMI API

intel/wmi: thunderbolt:
 -  Use new buffer-based WMI API

ISST:
 -  Add missing write block check
 -  Check for admin capability for write commands
 -  Optimize suspend/resume callbacks
 -  Store and restore all domains data

lenovo-wmi-capdata:
 -  Add support for Capability Data 00
 -  Add support for Fan Test Data

lenovo-wmi-{capdata,other}:
 -  Fix HWMON channel visibility
 -  Support multiple Capability Data

lenovo-wmi-capdata:
 -  Wire up Fan Test Data

lenovo-wmi-helpers:
 -  Convert returned buffer into u32

lenovo-wmi-other:
 -  Add HWMON for fan reporting/tuning

mlx-platform:
 -  Add support DGX flavor of next-generation 800GB/s ethernet switch.
 -  Add support for new Nvidia DGX system based on class VMOD0010

Rename lenovo-wmi-capdata01 to lenovo-wmi-capdata:
 - Rename lenovo-wmi-capdata01 to lenovo-wmi-capdata

surface: aggregator_registry:
 -  Add Surface Pro 11 (QCOM)

surface:
 -  Replace deprecated strcpy() in surface_button_add()

thinkpad_acpi:
 -  Add support to detect hardware damage detection capability.
 -  Add sysfs to display details of damaged device.

tools/power/x86/intel-speed-select:
 -  Allow non root users
 -  Fix file descriptor leak in isolate_cpus()
 -  Use pkg-config for libnl-3.0 detection
 -  v1.25 release

uniwill:
 -  Implement cTGP setting

uniwill-laptop:
 -  Introduce device descriptor system

wmi:
 -  Add helper functions for WMI string conversions
 -  Add kunit test for the marshalling code
 -  Add kunit test for the string conversion code

wmi-bmof:
 -  Use new buffer-based WMI API

wmi:
 -  Introduce marshalling support

wmi: string-kunit:
 -  Add missing oversized string test case

wmi:
 -  Update driver development guide

xiaomi-wmi:
 -  Use new buffer-based WMI API

yogabook:
 -  Clean up code style

Merges:
 -  Merge branch 'fixes' of into for-next
 -  Merge branch 'intel-sst' of https://github.com/spandruvada/linux-kernel into for-next
 -  Merge branch 'platform-drivers-x86-asus-kbd' into for-next
platform/x86: lenovo-wmi-{capdata,other}: Fix HWMON channel visibility

The LWMI_SUPP_MAY_{GET,SET} macros are fundamentally broken. When I
introduced them, I meant to check LWMI_SUPP_VALID *and* the
corresponding bits for get/set capabilities. However, `supported &
LWMI_SUPP_MAY_{GET,SET}' means *or*, so it accidentally passes the check
when LWMI_SUPP_VALID is set.

Fix them by only including the corresponding get/set bit without
LWMI_SUPP_VALID. Meanwhile, rename them to LWMI_SUPP_{GET,SET} to make
them less confusing.

Fixes: 67d9a39ce85f ("platform/x86: lenovo-wmi-capdata: Wire up Fan Test Data")
Signed-off-by: Rong Zhang <i@rong.moe>
Link: https://patch.msgid.link/20260207172327.80111-1-i@rong.moe
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2 files changed