Commit 1193e205 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'platform-drivers-x86-v6.16-1' of...

Merge tag 'platform-drivers-x86-v6.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86

Pull x86 platform drivers updates from Ilpo Järvinen:
 "The changes are mostly business as usual. Besides pdx86 changes, there
  are a few power supply changes needed for related pdx86 features, move
  of oxpec driver from hwmon (oxp-sensors) to pdx86, and one FW version
  warning to hid-asus.

  Highlights:

   - alienware-wmi-wmax:
       - Add HWMON support
       - Add ABI and admin-guide documentation
       - Expose GPIO debug methods through debug FS
       - Support manual fan control and "custom" thermal profile

   - amd/hsmp:
       - Add sysfs files to show HSMP telemetry
       - Report power readings and limits via hwmon

   - amd/isp4: Add AMD ISP platform config for OV05C10

   - asus-wmi:
       - Refactor Ally suspend/resume to work better with older FW
       - hid-asus: check ROG Ally MCU version and warn about old FW versions

   - dasharo-acpi:
       - Add driver for Dasharo devices supporting fans and temperatures
         monitoring

   - dell-ddv:
       - Expose the battery health and manufacture date to userspace
         using power supply extensions
       - Implement the battery matching algorithm

   - dell-pc:
       - Improve error propagation
       - Use faux device

   - int3472:
       - Add delays to avoid GPIO regulator spikes
       - Add handshake pin support
       - Make regulator supply name configurable and allow registering
         more than 1 GPIO regulator
       - Map mt9m114 powerdown pin to powerenable

   - intel/pmc: Add separate SSRAM Telemetry driver

   - intel-uncore-freq: Add attributes to show agent types and die ID

   - ISST:
       - Support SST-TF revision 2 (allows more cores per bucket)
       - Support SST-PP revision 2 (fabric 1 frequencies)
       - Remove unnecessary SST MSRs restore (the package retains MSRs
         despite CPU offlining)

   - mellanox: Add support for SN2201, SN4280, SN5610, and SN5640

   - mellanox: mlxbf-pmc: Support additional PMC blocks

   - oxpec:
       - Add OneXFly variants
       - Add support for charge limit, charge thresholds, and turbo LED
       - Distinguish current X1 variants to avoid unwanted matching to
         new variants
       - Follow hwmon conventions
       - Move from hwmon/oxp-sensors to platform/x86 to match the
         enlarged scope

   - power supply:
       - Add inhibit-charge-awake (needed by oxpec)
       - Add additional battery health status values ("blown fuse" and
         "cell imbalance") (needed by dell-ddv)

   - powerwell-ec: Add driver for Portwell EC supporting GPIO and watchdog

   - thinkpad-acpi: Support camera shutter switch hotkey

   - tuxedo: Add virtual LampArray for TUXEDO NB04 devices

   - tools/power/x86/intel-speed-select:
       - Support displaying SST-PP revision 2 fields
       - Skip uncore frequency update on newer generations of CPUs

   - Miscellaneous cleanups / refactoring / improvements"

* tag 'platform-drivers-x86-v6.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (112 commits)
  thermal/drivers/acerhdf: Constify struct thermal_zone_device_ops
  platform/x86/amd/hsmp: fix building with CONFIG_HWMON=m
  platform/x86: asus-wmi: fix build without CONFIG_SUSPEND
  docs: ABI: Fix "aassociated" to "associated"
  platform/x86: Add AMD ISP platform config for OV05C10
  Documentation: admin-guide: pm: Add documentation for die_id
  platform/x86/intel-uncore-freq: Add attributes to show die_id
  platform/x86/intel: power-domains: Add interface to get Linux die ID
  Documentation: admin-guide: pm: Add documentation for agent_types
  platform/x86/intel-uncore-freq: Add attributes to show agent types
  platform/x86/tuxedo: Prevent invalid Kconfig state
  platform/x86: dell-ddv: Expose the battery health to userspace
  platform/x86: dell-ddv: Expose the battery manufacture date to userspace
  platform/x86: dell-ddv: Implement the battery matching algorithm
  power: supply: core: Add additional health status values
  platform/x86/amd/hsmp: acpi: Add sysfs files to display HSMP telemetry
  platform/x86/amd/hsmp: Report power via hwmon sensors
  platform/x86/amd/hsmp: Use a single DRIVER_VERSION for all hsmp modules
  platform/mellanox: mlxreg-dpu: Fix smatch warnings
  platform: mellanox: nvsw-sn2200: Fix .items in nvsw_sn2201_busbar_hotplug
  ...
parents 9d230d50 9c96808f
Loading
Loading
Loading
Loading
+98 −0
Original line number Diff line number Diff line
@@ -715,3 +715,101 @@ Description: This file shows 1 in case the system reset happened due to the
		switch board.

		The file is read only.

What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/global_wp_request
Date:		May 2025
KernelVersion:	6.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	This file when written 1 activates request to allow access to
		the write protected flashes. Such request can be performed only
		for system equipped with BMC (Board Management Controller),
		which can grant access to protected flashes. In case BMC allows
		access - it will respond with "global_wp_response". BMC decides
		regarding time window of granted access. After granted window is
		expired, BMC will change value back to 0.
		Default value is 0.

		The file is read/write.

What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/global_wp_response
Date:		May 2025
KernelVersion:	6.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	This file, when set 1, indicates that access to protected
		flashes have been granted to host CPU by BMC.
		Default value is 0.

		The file is read only.

What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/shutdown_unlock
Date:		May 2025
KernelVersion:	6.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	When ASICs are getting overheated, system protection
		hardware mechanism enforces system reboot. After system
		reboot ASICs come up in locked state. To unlock ASICs,
		this file should be written 1
		Default value is 0.

		The file is read/write.

What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-00**/mlxreg-io.*/hwmon/hwmon*/boot_progress
Date:		May 2025
KernelVersion:	6.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	These files show the Data Process Unit board boot progress
		state. Valid states are:
		- 4 : OS starting.
		- 5 : OS running.
		- 6 : Low-Power Standby.

		The file is read only.

What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-00**/mlxreg-io.*/hwmon/hwmon*/dpu_id
Date:		May 2025
KernelVersion:	6.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	This file shows hardware Id of Data Process Unit board.

		The file is read only.

What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-00**/mlxreg-io.*/hwmon/hwmon*/reset_aux_pwr_or_reload
What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-00**/mlxreg-io.*/hwmon/hwmon*/reset_dpu_thermal
What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-00**/mlxreg-io.*/hwmon/hwmon*/reset_from_main_board
Date:		May 2025
KernelVersion:	6.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	These files expose the cause of the most recent reset of the Data
		Processing Unit (DPU) board. The possible causes are:
		- Power auxiliary outage or power reload.
		- Thermal shutdown.
		- Reset request from the main board.
		Value 1 in file means this is reset cause, 0 - otherwise. Only one of
		the above causes could be 1 at the same time, representing only last
		reset cause.

		The files are read only.

What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-00**/mlxreg-io.*/hwmon/hwmon*/perst_rst
What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-00**/mlxreg-io.*/hwmon/hwmon*/phy_rst
What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-00**/mlxreg-io.*/hwmon/hwmon*/tpm_rst
What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-00**/mlxreg-io.*/hwmon/hwmon*/usbphy_rst
Date:		May 2025
KernelVersion:	6.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	These files allow to reset hardware components of Data Process
		Unit board. Respectively PCI, Ethernet PHY, TPM and USB PHY
		resets.
		Default values for all the attributes is 1. Writing 0 will
		cause reset of the related component.

		The files are read/write.

What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/*-00**/mlxreg-io.*/hwmon/hwmon*/ufm_upgrade
Date:		May 2025
KernelVersion:	6.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	These files show status of Unified Fabric Manager upgrade.
		state. 0 - means upgrade is done, 1 - otherwise.

		The file is read only.
+64 −0
Original line number Diff line number Diff line
What:		/sys/kernel/debug/alienware-wmi-<wmi_device_name>/system_description
Date:		March 2025
KernelVersion:	6.15
Contact:	Kurt Borja <kuurtb@gmail.com>
Description:
		This file exposes the raw ``system_description`` number reported
		by the WMAX device.

		Only present on devices with the AWCC interface.

		See Documentation/admin-guide/laptops/alienware-wmi.rst for
		details.

		RO

What:		/sys/kernel/debug/alienware-wmi-<wmi_device_name>/hwmon_data
Date:		March 2025
KernelVersion:	6.15
Contact:	Kurt Borja <kuurtb@gmail.com>
Description:
		This file exposes HWMON private data.

		Includes fan sensor count, temperature sensor count, internal
		fan IDs and internal temp IDs.

		See Documentation/admin-guide/laptops/alienware-wmi.rst for
		details.

		RO

What:		/sys/kernel/debug/alienware-wmi-<wmi_device_name>/pprof_data
Date:		March 2025
KernelVersion:	6.15
Contact:	Kurt Borja <kuurtb@gmail.com>
Description:
		This file exposes Platform Profile private data.

		Includes internal mapping to platform profiles and thermal
		profile IDs.

		See Documentation/admin-guide/laptops/alienware-wmi.rst for
		details.

		RO

What:		/sys/kernel/debug/alienware-wmi-<wmi_device_name>/gpio_ctl/total_gpios
Date:		May 2025
KernelVersion:	6.16
Contact:	Kurt Borja <kuurtb@gmail.com>
Description:
		Total number of GPIO pins reported by the device.

		RO

What:		/sys/kernel/debug/alienware-wmi-<wmi_device_name>/gpio_ctl/pinX
Date:		May 2025
KernelVersion:	6.16
Contact:	Kurt Borja <kuurtb@gmail.com>
Description:
		This file controls GPIO pin X status.

		See Documentation/wmi/devices/alienware-wmi.rst for details.

		RW
+1 −1
Original line number Diff line number Diff line
@@ -76,6 +76,6 @@ Date: May 2017
Contact:	Darren Hart (VMware) <dvhart@infradead.org>
Description:
		This file contains a boolean flags signaling the data block
		aassociated with the given WMI device is writable. If the
		associated with the given WMI device is writable. If the
		given WMI device is not associated with a data block, then
		this file will not exist.
+7 −6
Original line number Diff line number Diff line
@@ -456,7 +456,7 @@ Description:
			      "Over voltage", "Under voltage", "Unspecified failure", "Cold",
			      "Watchdog timer expire", "Safety timer expire",
			      "Over current", "Calibration required", "Warm",
			      "Cool", "Hot", "No battery"
			      "Cool", "Hot", "No battery", "Blown fuse", "Cell imbalance"

What:		/sys/class/power_supply/<supply_name>/precharge_current
Date:		June 2017
@@ -508,11 +508,12 @@ Description:
		Access: Read, Write

		Valid values:
			================ ====================================
			===================== ========================================
			auto:                 Charge normally, respect thresholds
			inhibit-charge:       Do not charge while AC is attached
			inhibit-charge-awake: inhibit-charge only when device is awake
			force-discharge:      Force discharge while AC is attached
			================ ====================================
			===================== ========================================

What:		/sys/class/power_supply/<supply_name>/technology
Date:		May 2007
+14 −0
Original line number Diff line number Diff line
What:		/sys/class/hwmon/hwmonX/fanY_boost
Date:		March 2025
KernelVersion:	6.15
Contact:	Kurt Borja <kuurtb@gmail.com>
Description:
		This file exposes fan boost control for Dell gaming laptops with
		the AWCC WMI interface.

		See Documentation/admin-guide/laptops/alienware-wmi.rst for
		details.

		Integer value in the range 0 to 255

		RW
Loading