Hi Linus, Here is the main PDx86 PR for v6.9. Just that you know up front, I ended up replacing a (non-top) commit very recently to correct a patch that related to input uapi (just a define name changed to another). Thus, some of the commits have my commit timestamps that reflect to that. I don't usually like touching history like this but figured this was good enough case to be an exception. Highlights: - acer-wmi: New HW support - amd/pmf: Support for new revision of heartbeat notify - asus-wmi: Correctly handle HW without LEDs - fujitsu-laptop: Battery charge control support - hp-wmi: Support for new thermal profiles - ideapad-laptop: Support for refresh rate key - intel/pmc: Put AI accelerator (GNA) into D3 if it has no driver to allow entry into low-power modes, and temporarily removed Lunar Lake SSRAM support due to breaking FW changes causing probe fail (further breaking FW changes are still pending) - pmc/punit_atom: Report devices that prevent reacing low power levels - surface: Fan speed function support - thinkpad_acpi: Support for more sperial keys and complete the list of models with non-standard fan registers - touchscreen_dmi: New HW support - wmi: Continued modernization efforts - Removal of obsoleted ledtrig-audio call and the related dependency - Debug & metrics interface improvements - Miscellaneous cleanups / fixes / improvements Regards, i. The following changes since commit 6613476e225e090cc9aad49be7fa504e290dd33d: Linux 6.8-rc1 (2024-01-21 14:11:32 -0800) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git tags/platform-drivers-x86-v6.9-1 for you to fetch changes up to 16f8091b49175f327120cdbbdde135d38a853ae1: platform/x86/intel/pmc: Improve PKGC residency counters debug (2024-03-12 12:56:04 +0200) ---------------------------------------------------------------- platform-drivers-x86 for v6.9-1 Highlights: - acer-wmi: New HW support - amd/pmf: Support for new revision of heartbeat notify - asus-wmi: Correctly handle HW without LEDs - fujitsu-laptop: Battery charge control support - hp-wmi: Support for new thermal profiles - ideapad-laptop: Support for refresh rate key - intel/pmc: Put AI accelerator (GNA) into D3 if it has no driver to allow entry into low-power modes, and temporarily removed Lunar Lake SSRAM support due to breaking FW changes causing probe fail (further breaking FW changes are still pending) - pmc/punit_atom: Report devices that prevent reacing low power levels - surface: Fan speed function support - thinkpad_acpi: Support for more sperial keys and complete the list of models with non-standard fan registers - touchscreen_dmi: New HW support - wmi: Continued modernization efforts - Removal of obsoleted ledtrig-audio call and the related dependency - Debug & metrics interface improvements - Miscellaneous cleanups / fixes / improvements The following is an automated shortlog grouped by driver: acer-wmi: - Add predator_v4 module parameter - Add support for Acer PH16-71 amd/hsmp: - Add support for ACPI based probing - Cache pci_dev in struct hsmp_socket - Change devm_kzalloc() to devm_kcalloc() - Check num_sockets against MAX_AMD_SOCKETS - Create static func to handle platdev - Define a struct to hold mailbox regs - Move dev from platdev to hsmp_socket - Move hsmp_test to probe - Non-ACPI support for AMD F1A_M00~0Fh - Remove extra parenthesis and add a space - Restructure sysfs group creation amd/pmf: - Add missing __iomem attribute to policy_base - Add support to get APTS index numbers for static slider - Add support to get sbios requests in PMF driver - Add support to get sps default APTS index values - Add support to notify sbios heart beat event - Differentiate PMF ACPI versions - Disable debugfs support for querying power thermals - Do not use readl() for policy buffer access - Fix possible out-of-bound memory accesses - Fix return value of amd_pmf_start_policy_engine() - Update sps power thermals according to the platform-profiles - Use struct for cookie header asus-wmi: - Consider device is absent when the read is ~0 - Revert: Support WMI event queue clk: x86: - Move clk-pmc-atom register defines to include/linux/platform_data/x86/pmc_atom.h dell-privacy: - Remove usage of wmi_has_guid() Documentation/x86/amd/hsmp: - Updating urls drivers/mellanox: - Convert snprintf to sysfs_emit fujitsu-laptop: - Add battery charge control support hp-wmi: - Add thermal profile support for 8BAD boards - Tidy up module source code ideapad-laptop: - map Fn + R key to KEY_REFRESH_RATE_TOGGLE - support Fn+R dual-function key Input: - allocate keycode for Display refresh rate toggle intel/ifs: - Add an entry rendezvous for SAF - Add current batch number to trace output - Remove unnecessary initialization of 'ret' - Replace the exit rendezvous with an entry rendezvous for ARRAY_BIST - Trace on all HT threads when executing a test intel/pmc/arl: - Put GNA device in D3 intel/pmc: - Improve PKGC residency counters debug intel/pmc/lnl: - Remove SSRAM support intel_scu_ipcutil: - Make scu static intel_scu_pcidrv: - Remove unused intel-mid.h intel_scu_wdt: - Remove unused intel-mid.h intel/tpmi: - Change vsec offset to u64 intel/vsec: - Remove nuisance message ISST: - Allow reading core-power state on HWP disabled systems mlxbf-pmc: - Cleanup signed/unsigned mix-up - fix signedness bugs - Ignore unsupported performance blocks mlxbf-pmc: mlxbf_pmc_event_list(): - make size ptr optional mlxbf-pmc: - Replace uintN_t with kernel-style types mlxreg-hotplug: - Remove redundant NULL-check pmc_atom: - Annotate d3_sts register bit defines - Check state of PMC clocks on s2idle - Check state of PMC managed devices on s2idle silicom-platform: - clean up a check surface: aggregator_registry: - add entry for fan speed thinkpad_acpi: - Add more ThinkPads with non-standard reg address for fan - Fix to correct wrong temp reporting on some ThinkPads - remove redundant assignment to variable i - Simplify thermal mode checking - Support for mode FN key touchscreen_dmi: - Add an extra entry for a variant of the Chuwi Vi8 tablet wmi: - Always evaluate _WED when receiving an event - Check if event data is not NULL - Check if WMxx control method exists - Do not instantiate older WMI drivers multiple times - Ignore duplicated GUIDs in legacy matches - Make input buffer mandatory when evaluating methods - Prevent incompatible event driver from probing - Remove obsolete duplicate GUID allowlist - Remove unnecessary out-of-memory message - Replace pr_err() with dev_err() - Stop using ACPI device class - Update documentation regarding _WED - Use ACPI device name in netlink event - Use FW_BUG when warning about missing control methods x86/atom: - Check state of Punit managed devices on s2idle x86: ibm_rtl: - make rtl_subsys const x86: wmi: - make wmi_bus_type const platform/x86: - make fw_attr_class constant - remove obsolete calls to ledtrig_audio_get Merges: - Merge tag 'platform-drivers-x86-v6.8-2' into pdx/for-next - Merge tag 'platform-drivers-x86-v6.8-4' into pdx86/for-next ---------------------------------------------------------------- Alban Boyé (1): platform/x86: touchscreen_dmi: Add an extra entry for a variant of the Chuwi Vi8 tablet Alexis Belmonte (2): platform/x86: hp-wmi: Tidy up module source code platform/x86: hp-wmi: Add thermal profile support for 8BAD boards Andy Shevchenko (2): platform/x86: intel_scu_wdt: Remove unused intel-mid.h platform/x86: intel_scu_pcidrv: Remove unused intel-mid.h Armin Wolf (27): platform/x86: wmi: Fix error handling in legacy WMI notify handler functions platform/x86: wmi: Return immediately if an suitable WMI event is found platform/x86: wmi: Decouple legacy WMI notify handlers from wmi_block_list platform/x86: wmi: Fix notify callback locking platform/x86: intel-wmi-sbl-fw-update: Fix function name in error message platform/x86: wmi: Use ACPI device name in netlink event platform/x86: wmi: Stop using ACPI device class platform/x86: wmi: Check if WMxx control method exists platform/x86: wmi: Use FW_BUG when warning about missing control methods platform/x86: wmi: Remove unnecessary out-of-memory message platform/x86: wmi: Replace pr_err() with dev_err() platform/x86: wmi: Make input buffer mandatory when evaluating methods platform/x86: wmi: Prevent incompatible event driver from probing platform/x86: wmi: Check if event data is not NULL platform/x86: wmi: Always evaluate _WED when receiving an event platform/x86: wmi: Update documentation regarding _WED Revert "platform/x86: asus-wmi: Support WMI event queue" platform/x86: dell-privacy: Remove usage of wmi_has_guid() platform/x86: wmi: Ignore duplicated GUIDs in legacy matches platform/x86: wmi: Do not instantiate older WMI drivers multiple times platform/x86: wmi: Remove obsolete duplicate GUID allowlist platform/x86/amd/pmf: Add missing __iomem attribute to policy_base platform/x86: intel_scu_ipcutil: Make scu static platform/x86/amd/pmf: Fix return value of amd_pmf_start_policy_engine() platform/x86/amd/pmf: Do not use readl() for policy buffer access platform/x86/amd/pmf: Use struct for cookie header platform/x86/amd/pmf: Fix possible out-of-bound memory accesses Ashok Raj (4): platform/x86/intel/ifs: Trace on all HT threads when executing a test platform/x86/intel/ifs: Add current batch number to trace output platform/x86/intel/ifs: Replace the exit rendezvous with an entry rendezvous for ARRAY_BIST platform/x86/intel/ifs: Add an entry rendezvous for SAF Colin Ian King (1): platform/x86: thinkpad_acpi: remove redundant assignment to variable i Cong Liu (1): platform/x86/amd/pmf: Fix memory leak in amd_pmf_get_pb_data() Dan Carpenter (3): platform/x86: wmi: Fix wmi_dev_probe() platform/x86: silicom-platform: clean up a check platform/mellanox: mlxbf-pmc: fix signedness bugs Daniil Dulov (1): platform/mellanox: mlxreg-hotplug: Remove redundant NULL-check David E. Box (3): platform/x86/intel/vsec: Remove nuisance message platform/x86/intel/pmc/lnl: Remove SSRAM support platform/x86/intel/pmc/arl: Put GNA device in D3 Erwan Velu (1): Documentation/x86/amd/hsmp: Updating urls Gergo Koteles (3): platform/x86: ideapad-laptop: support Fn+R dual-function key Input: allocate keycode for Display refresh rate toggle platform/x86: ideapad-laptop: map Fn + R key to KEY_REFRESH_RATE_TOGGLE Hans de Goede (14): platform/x86: silicom-platform: Add missing "Description:" for power_cycle sysfs attr MAINTAINERS: remove defunct acpi4asus project info from asus notebooks section platform/x86: intel: int0002_vgpio: Pass IRQF_ONESHOT to request_irq() platform/x86: touchscreen_dmi: Allow partial (prefix) matches for ACPI names platform/x86: touchscreen_dmi: Consolidate Goodix upside-down touchscreen data platform/x86: x86-android-tablets: Fix keyboard touchscreen on Lenovo Yogabook1 X90 platform/x86: Add new get_serdev_controller() helper platform/x86: x86-android-tablets: Fix serdev instantiation no longer working platform/x86: x86-android-tablets: Fix acer_b1_750_goodix_gpios name platform/x86: intel-vbtn: Stop calling "VBDL" from notify_handler platform/x86: p2sb: On Goldmont only cache P2SB and SPI devfn BAR clk: x86: Move clk-pmc-atom register defines to include/linux/platform_data/x86/pmc_atom.h platform/x86: pmc_atom: Annotate d3_sts register bit defines platform/x86: pmc_atom: Check state of PMC clocks on s2idle Harshit Mogalapalli (1): platform/x86/amd/pmf: Fix missing error code in amd_pmf_init_smart_pc() Heiner Kallweit (2): MAINTAINERS: Remove Perry Yuan as DELL WMI HARDWARE PRIVACY SUPPORT maintainer platform/x86: remove obsolete calls to ledtrig_audio_get Ilpo Järvinen (3): platform/x86/intel/ifs: Remove unnecessary initialization of 'ret' Merge tag 'platform-drivers-x86-v6.8-2' into pdx/for-next Merge tag 'platform-drivers-x86-v6.8-4' into pdx86/for-next Ivor Wanders (1): platform/surface: aggregator_registry: add entry for fan speed Jithu Joseph (1): platform/x86/intel/ifs: Call release_firmware() when handling errors. Johannes Stezenbach (2): platform/x86: pmc_atom: Check state of PMC managed devices on s2idle x86/platform/atom: Check state of Punit managed devices on s2idle Kai-Heng Feng (1): platform/x86: asus-wmi: Consider device is absent when the read is ~0 Kane Chen (1): platform/x86/intel/pmc: Improve PKGC residency counters debug Li Zhijian (1): drivers/platform/mellanox: Convert snprintf to sysfs_emit Liming Sun (1): platform/mellanox: mlxbf-tmfifo: Drop Tx network packet when Tx TmFIFO is full Luiz Capitulino (2): platform/mellanox: mlxbf-pmc: mlxbf_pmc_event_list(): make size ptr optional platform/mellanox: mlxbf-pmc: Ignore unsupported performance blocks Luke D. Jones (1): MAINTAINERS: add Luke Jones as maintainer for asus notebooks Mario Limonciello (5): platform/x86/amd/pmf: Fix a suspend hang on Framework 13 platform/x86/amd/pmf: Add debugging message for missing policy data platform/x86/amd/pmf: Fixup error handling for amd_pmf_init_smart_pc() platform/x86/amd/pmf: Fix a potential race with policy binary sideload platform/x86: thinkpad_acpi: Only update profile if successfully converted Mark Pearson (2): platform/x86: Support for mode FN key platform/x86: think-lmi: Fix password opcode ordering for workstations Nathan Chancellor (1): platform/x86: intel-uncore-freq: Fix types in sysfs callbacks Phoenix Chen (1): platform/x86: touchscreen_dmi: Add info for the TECLAST X16 Plus tablet Ricardo B. Marliere (3): platform: x86: wmi: make wmi_bus_type const platform: x86: ibm_rtl: make rtl_subsys const platform/x86: make fw_attr_class constant Shin'ichiro Kawasaki (2): platform/x86: p2sb: Allow p2sb_bar() calls during PCI device probe platform/x86: p2sb: Use pci_resource_n() in p2sb_read_bar0() Shravan Kumar Ramani (3): platform/mellanox: mlxbf-pmc: Fix offset calculation for crspace events platform/mellanox: mlxbf-pmc: Replace uintN_t with kernel-style types platform/mellanox: mlxbf-pmc: Cleanup signed/unsigned mix-up Shyam Sundar S K (11): platform/x86/amd/pmf: Get Human presence information from AMD SFH driver platform/x86/amd/pmf: Get ambient light information from AMD SFH driver platform/x86/amd/pmf: Remove smart_pc_status enum platform/x86/amd/pmf: Fix TEE enact command failure after suspend and resume platform/x86/amd/pmf: Differentiate PMF ACPI versions platform/x86/amd/pmf: Disable debugfs support for querying power thermals platform/x86/amd/pmf: Add support to get sbios requests in PMF driver platform/x86/amd/pmf: Add support to notify sbios heart beat event platform/x86/amd/pmf: Add support to get APTS index numbers for static slider platform/x86/amd/pmf: Add support to get sps default APTS index values platform/x86/amd/pmf: Update sps power thermals according to the platform-profiles Srinivas Pandruvada (2): platform/x86: ISST: Allow reading core-power state on HWP disabled systems platform/x86/intel/tpmi: Change vsec offset to u64 Suma Hegde (11): platform/x86/amd/hsmp: Move hsmp_test to probe platform/x86/amd/hsmp: Cache pci_dev in struct hsmp_socket platform/x86/amd/hsmp: Create static func to handle platdev platform/x86/amd/hsmp: Define a struct to hold mailbox regs platform/x86/amd/hsmp: Move dev from platdev to hsmp_socket platform/x86/amd/hsmp: Restructure sysfs group creation platform/x86/amd/hsmp: Add support for ACPI based probing platform/x86/amd/hsmp: Non-ACPI support for AMD F1A_M00~0Fh platform/x86/amd/hsmp: Check num_sockets against MAX_AMD_SOCKETS platform/x86/amd/hsmp: Remove extra parenthesis and add a space platform/x86/amd/hsmp: Change devm_kzalloc() to devm_kcalloc() SungHwan Jung (2): platform/x86: acer-wmi: Add support for Acer PH16-71 platform/x86: acer-wmi: Add predator_v4 module parameter Szilard Fabian (1): platform/x86/fujitsu-laptop: Add battery charge control support Vishnu Sankar (3): platform/x86: thinkpad_acpi: Simplify thermal mode checking platform/x86: thinkpad_acpi: Fix to correct wrong temp reporting on some ThinkPads platform/x86: thinkpad_acpi: Add more ThinkPads with non-standard reg address for fan Documentation/ABI/testing/sysfs-platform-silicom | 1 + .../admin-guide/laptops/thinkpad-acpi.rst | 7 +- Documentation/arch/x86/amd_hsmp.rst | 7 +- Documentation/wmi/acpi-interface.rst | 5 +- MAINTAINERS | 5 +- arch/x86/platform/atom/punit_atom_debug.c | 54 +- drivers/clk/x86/clk-pmc-atom.c | 13 +- drivers/hwmon/dell-smm-hwmon.c | 1 + drivers/platform/mellanox/mlxbf-bootctl.c | 14 +- drivers/platform/mellanox/mlxbf-pmc.c | 271 +++++----- drivers/platform/mellanox/mlxbf-tmfifo.c | 67 +++ drivers/platform/mellanox/mlxreg-hotplug.c | 14 - .../platform/surface/surface_aggregator_registry.c | 7 + drivers/platform/x86/Kconfig | 7 +- drivers/platform/x86/acer-wmi.c | 17 +- drivers/platform/x86/amd/Kconfig | 2 +- drivers/platform/x86/amd/hsmp.c | 584 ++++++++++++++++----- drivers/platform/x86/amd/pmf/Kconfig | 1 + drivers/platform/x86/amd/pmf/acpi.c | 136 ++++- drivers/platform/x86/amd/pmf/core.c | 32 +- drivers/platform/x86/amd/pmf/pmf.h | 98 +++- drivers/platform/x86/amd/pmf/spc.c | 36 ++ drivers/platform/x86/amd/pmf/sps.c | 145 ++++- drivers/platform/x86/amd/pmf/tee-if.c | 101 ++-- drivers/platform/x86/asus-wmi.c | 84 +-- drivers/platform/x86/dell/Kconfig | 3 - drivers/platform/x86/dell/dell-laptop.c | 2 - drivers/platform/x86/dell/dell-wmi-ddv.c | 1 + drivers/platform/x86/dell/dell-wmi-privacy.c | 5 - drivers/platform/x86/dell/dell-wmi-sysman/sysman.c | 2 +- drivers/platform/x86/firmware_attributes_class.c | 4 +- drivers/platform/x86/firmware_attributes_class.h | 2 +- drivers/platform/x86/fujitsu-laptop.c | 117 +++++ drivers/platform/x86/hp/hp-bioscfg/bioscfg.c | 2 +- drivers/platform/x86/hp/hp-wmi.c | 71 ++- drivers/platform/x86/huawei-wmi.c | 1 - drivers/platform/x86/ibm_rtl.c | 2 +- drivers/platform/x86/ideapad-laptop.c | 4 +- drivers/platform/x86/intel/ifs/load.c | 5 +- drivers/platform/x86/intel/ifs/runtest.c | 101 ++-- drivers/platform/x86/intel/int0002_vgpio.c | 2 +- drivers/platform/x86/intel/pmc/arl.c | 2 + drivers/platform/x86/intel/pmc/core.c | 47 +- drivers/platform/x86/intel/pmc/core.h | 7 +- drivers/platform/x86/intel/pmc/lnl.c | 40 +- .../x86/intel/speed_select_if/isst_tpmi_core.c | 4 +- drivers/platform/x86/intel/tpmi.c | 9 +- .../uncore-frequency/uncore-frequency-common.c | 82 +-- .../uncore-frequency/uncore-frequency-common.h | 32 +- drivers/platform/x86/intel/vbtn.c | 3 - drivers/platform/x86/intel/vsec.c | 5 +- drivers/platform/x86/intel/wmi/sbl-fw-update.c | 5 +- drivers/platform/x86/intel/wmi/thunderbolt.c | 1 + drivers/platform/x86/intel_scu_ipcutil.c | 2 +- drivers/platform/x86/intel_scu_pcidrv.c | 1 - drivers/platform/x86/intel_scu_wdt.c | 1 - drivers/platform/x86/p2sb.c | 177 +++++-- drivers/platform/x86/pmc_atom.c | 79 +++ drivers/platform/x86/serdev_helpers.h | 80 +++ drivers/platform/x86/silicom-platform.c | 7 +- drivers/platform/x86/think-lmi.c | 22 +- drivers/platform/x86/thinkpad_acpi.c | 258 ++++++--- drivers/platform/x86/touchscreen_dmi.c | 73 ++- drivers/platform/x86/wmi-bmof.c | 1 + drivers/platform/x86/wmi.c | 377 +++++++------ drivers/platform/x86/x86-android-tablets/core.c | 38 +- drivers/platform/x86/x86-android-tablets/lenovo.c | 1 + drivers/platform/x86/x86-android-tablets/other.c | 4 +- .../x86/x86-android-tablets/x86-android-tablets.h | 1 + include/linux/platform_data/x86/pmc_atom.h | 25 +- include/linux/wmi.h | 4 +- include/trace/events/intel_ifs.h | 12 +- include/uapi/linux/input-event-codes.h | 1 + 73 files changed, 2466 insertions(+), 968 deletions(-) create mode 100644 drivers/platform/x86/serdev_helpers.h