Commit 6ab1d483 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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

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

Pull x86 platform driver updates from Hans de Goede:
 "Highlights:

   - AMD-PMC S0ix support fixes and improvements

   - HP-WMI support for Omen laptops

   - New nvidia-wmi-ec-backlight driver

   - New Intel ISH ECLITE driver

   - WMI core cleanups

   - Support for various new Melanox platforms

   - System76 Laptop support improvements

   - Surface Laptop Studio support and initial Surface Pro 8 support

   - Various other small fixes and hardware-id additions"

* tag 'platform-drivers-x86-v5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (106 commits)
  platform/x86: system76_acpi: Fix input device error handling
  platform/x86: touchscreen_dmi: Add info for the Viglen Connect 10 tablet
  platform/surface: aggregator_registry: Add initial support for Surface Pro 8
  platform/x86: mlx-platform: Add support for new system SGN2410
  platform/x86: mlx-platform: Add BIOS attributes for CoffeeLake COMEx based systems
  platform/x86: mlx-platform: Extend FAN and LED configuration to support new MQM97xx systems
  platform/x86: asus-wmi: rename platform_profile_* function symbols
  platform/x86: hp-wmi: rename platform_profile_* function symbols
  platform/x86: amd-pmc: Drop check for valid alarm time
  platform/x86: amd-pmc: Downgrade dev_info message to dev_dbg
  platform/x86: amd-pmc: fix compilation without CONFIG_RTC_SYSTOHC_DEVICE
  platform/x86: system76_acpi: fix Kconfig dependencies
  platform/x86: barco-p50-gpio: use KEY_VENDOR for button instead of KEY_RESTART
  platform/x86: sony-laptop: replace snprintf in show functions with sysfs_emit
  platform/x86: lg-laptop: replace snprintf in show functions with sysfs_emit
  docs: ABI: fix documentation warning in sysfs-driver-mlxreg-io
  platform/x86: wmi: change notification handler type
  HID: surface-hid: Allow driver matching for target ID 1 devices
  HID: surface-hid: Use correct event registry for managing HID events
  platform/surface: aggregator_registry: Add support for Surface Laptop Studio
  ...
parents 56d33754 97ae4595
Loading
Loading
Loading
Loading
+244 −0
Original line number Diff line number Diff line
@@ -223,3 +223,247 @@ Description: These files show with which CPLD part numbers and minor
		system.

		The files are read only.

What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/bios_active_image
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/bios_auth_fail
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/bios_upgrade_fail
Date:		October 2021
KernelVersion:	5.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	The files represent BIOS statuses:

		bios_active_image: location of current active BIOS image:
		0: Top, 1: Bottom.
		The reported value should correspond to value expected by OS
		in case of BIOS safe mode is 0. This bit is related to Intel
		top-swap feature of DualBios on the same flash.

		bios_auth_fail: BIOS upgrade is failed because provided BIOS
		image is not signed correctly.

		bios_upgrade_fail: BIOS upgrade is failed by some other
		reason not because authentication. For example due to
		physical SPI flash problem.

		The files are read only.

What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc1_enable
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc2_enable
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc3_enable
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc4_enable
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc5_enable
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc6_enable
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc7_enable
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc8_enable
Date:		October 2021
KernelVersion:	5.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	These files allow line cards enable state control.
		Expected behavior:
		When  lc{n}_enable is written 1, related line card is released
		from the reset state, when 0 - is hold in reset state.

		The files are read/write.

What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc1_pwr
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc2_pwr
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc3_pwr
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc4_pwr
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc5_pwr
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc6_pwr
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc7_pwr
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc8_pwr
Date:		October 2021
KernelVersion:	5.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	These files switching line cards power on and off.
		Expected behavior:
		When  lc{n}_pwr is written 1, related line card is powered
		on, when written 0 - powered off.

		The files are read/write.

What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc1_rst_mask
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc2_rst_mask
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc3_rst_mask
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc4_rst_mask
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc5_rst_mask
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc6_rst_mask
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc7_rst_mask
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc8_rst_mask
Date:		October 2021
KernelVersion:	5.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	These files clear line card reset bit enforced by ASIC, when it
		sets it due to some abnormal ASIC behavior.
		Expected behavior:
		When lc{n}_rst_mask is written 1, related line card reset bit
		is cleared, when written 0 - no effect.

		The files are write only.

What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/os_started
Date:		October 2021
KernelVersion:	5.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	This file, when written 1, indicates to programmable devices
		that OS is taking control over it.

		The file is read/write.

What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/pm_mgmt_en
Date:		October 2021
KernelVersion:	5.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	This file assigns power management control ownership.
		When power management control is provided by hardware, hardware
		will automatically power off one or more line previously
		powered line cards in case system power budget is getting
		insufficient. It could be in case when some of power units lost
		power good state.
		When pm_mgmt_en is written 1, power management control by
		software is enabled, 0 - power management control by hardware.
		Note that for any setting of pm_mgmt_en attribute hardware will
		not allow to power on any new line card in case system power
		budget is insufficient.
		Same in case software will try to power on several line cards
		at once - hardware will power line cards while system has
		enough power budget.
		Default is 0.

		The file is read/write.

What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/psu3_on
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/psu4_on
Date:		October 2021
KernelVersion:	5.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	These files switching power supply units on and off.
		Expected behavior:
		When  psu3_on or psu4_on is written 1, related unit will be
		disconnected from the power source, when written 0 - connected.

		The files are write only.

What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/shutdown_unlock
Date:		October 2021
KernelVersion:	5.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	This file allows to unlock ASIC after thermal shutdown event.
		When system thermal shutdown is enforced by ASIC, ASIC is
		getting locked and after system boot it will not be available.
		Software can decide to unlock it by setting this attribute to
		1 and then perform system power cycle by setting pwr_cycle
		attribute to 1 (power cycle of main power domain).
		Before setting shutdown_unlock to 1 it is recommended to
		validate that system reboot cause is reset_asic_thermal or
		reset_thermal_spc_or_pciesw.
		In case shutdown_unlock is not set 1, the only way to release
		ASIC from locking - is full system power cycle through the
		external power distribution unit.
		Default is 1.

		The file is read/write.

What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/cpld1_pn
What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/cpld1_version
What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/cpld1_version_min
Date:		October 2021
KernelVersion:	5.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	These files show with which CPLD major and minor versions
		and part number has been burned CPLD device on line card.

		The files are read only.

What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/fpga1_pn
What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/fpga1_version
What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/fpga1_version_min
Date:		October 2021
KernelVersion:	5.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	These files show with which FPGA major and minor versions
		and part number has been burned FPGA device on line card.

		The files are read only.

What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/vpd_wp
Date:		October 2021
KernelVersion:	5.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	This file allow to overwrite line card VPD hardware write
		protection mode. When attribute is set 1 - write protection is
		disabled, when 0 - enabled.
		Default is 0.
		If the system is in locked-down mode writing this file will not
		be allowed.
		The purpose if this file is to allow line card VPD burning
		during production flow.

		The file is read/write.

What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/reset_aux_pwr_or_ref
What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/reset_dc_dc_pwr_fail
What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/reset_fpga_not_done
What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/reset_from_chassis
What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/reset_line_card
What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/reset_pwr_off_from_chassis
Date:		October 2021
KernelVersion:	5.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	These files show the line reset cause, as following: power
		auxiliary outage or power refresh, DC-to-DC power failure, FPGA reset
		failed, line card reset failed, power off from chassis.
		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-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/cpld_upgrade_en
What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/fpga_upgrade_en
Date:		October 2021
KernelVersion:	5.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	These files allow CPLD and FPGA burning. Value 1 in file means burning
		is enabled, 0 - otherwise.
		If the system is in locked-down mode writing these files will
		not be allowed.
		The purpose of these files to allow line card CPLD and FPGA
		upgrade through the JTAG daisy-chain.

		The files are read/write.

What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/qsfp_pwr_en
What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/pwr_en
Date:		October 2021
KernelVersion:	5.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	These files allow to power on/off all QSFP ports and whole line card.
		The attributes are set 1 for power on, 0 - for power off.

		The files are read/write.

What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/agb_spi_burn_en
What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/fpga_spi_burn_en
Date:		October 2021
KernelVersion:	5.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	These files allow gearboxes and FPGA SPI flash burning.
		The attributes are set 1 to enable burning, 0 - to disable.
		If the system is in locked-down mode writing these files will
		not be allowed.
		The purpose of these files to allow line card Gearboxes and FPGA
		burning during production flow.

		The file is read/write.

What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/max_power
What:		/sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/config
Date:		October 2021
KernelVersion:	5.16
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	These files provide the maximum powered required for line card
		feeding and line card configuration Id.

		The files are read only.
+38 −22
Original line number Diff line number Diff line
What:		/sys/bus/wmi/devices/6932965F-1671-4CEB-B988-D3AB0A901919/dell_privacy_supported_type
Date:		Apr 2021
KernelVersion:	5.13
Contact:	"perry.yuan@dell.com>"
Contact:	"<perry.yuan@dell.com>"
Description:
		Display which dell hardware level privacy devices are supported
		“Dell Privacy” is a set of HW, FW, and SW features to enhance
		Dell’s commitment to platform privacy for MIC, Camera, and
		ePrivacy screens.
		The supported hardware privacy devices are:

		Attributes:
			Microphone Mute:
				Identifies the local microphone can be muted by hardware, no applications
@@ -18,13 +19,15 @@ Attributes:
				shutter assembly that is built onto the camera module to block capturing images
				from outside the laptop

		Values:

			supported:
				The privacy device is supported by this system

			unsupported:
				The privacy device is not supported on this system

		For example to check which privacy devices are supported:
		For example to check which privacy devices are supported::

		    # cat /sys/bus/wmi/drivers/dell-privacy/6932965F-1671-4CEB-B988-D3AB0A901919/dell_privacy_supported_type
		    [Microphone Mute] [supported]
@@ -34,21 +37,34 @@ Attributes:
What:		/sys/bus/wmi/devices/6932965F-1671-4CEB-B988-D3AB0A901919/dell_privacy_current_state
Date:		Apr 2021
KernelVersion:	5.13
Contact:	"perry.yuan@dell.com>"
Contact:	"<perry.yuan@dell.com>"
Description:
		Allow user space to check current dell privacy device state.
		Describes the Device State class exposed by BIOS which can be
		consumed by various applications interested in knowing the Privacy
		feature capabilities

		Attributes:
			Microphone:
				Identifies the local microphone can be muted by hardware, no applications
				is available to capture system mic sound

			Camera Shutter:
				Identifies camera shutter controlled by hardware, which is a micromechanical
				shutter assembly that is built onto the camera module to block capturing images
				from outside the laptop

		Values:
			muted:
			Identifies the privacy device is turned off and cannot send stream to OS applications
				Identifies the privacy device is turned off
				and cannot send stream to OS applications

			unmuted:
			Identifies the privacy device is turned on ,audio or camera driver can get
			stream from mic and camera module to OS applications
				Identifies the privacy device is turned on,
				audio or camera driver can get stream from mic
				and camera module to OS applications

		For example to check all supported current privacy device states:
		For example to check all supported current privacy device states::

		    # cat /sys/bus/wmi/drivers/dell-privacy/6932965F-1671-4CEB-B988-D3AB0A901919/dell_privacy_current_state
		    [Microphone] [unmuted]
+2 −0
Original line number Diff line number Diff line
@@ -11,8 +11,10 @@ Description:
		to take effect.

		Display global reset setting bits for PMC.

			* bit 31 - global reset is locked
			* bit 20 - global reset is set

		Writing bit 20 value to the etr3 will induce
		a platform "global reset" upon consequent platform reset,
		in case the register is not locked.
+23 −5
Original line number Diff line number Diff line
@@ -3229,6 +3229,12 @@ F: drivers/video/backlight/
F:	include/linux/backlight.h
F:	include/linux/pwm_backlight.h
BARCO P50 GPIO DRIVER
M:	Santosh Kumar Yadav <santoshkumar.yadav@barco.com>
M:	Peter Korsgaard <peter.korsgaard@barco.com>
S:	Maintained
F:	drivers/platform/x86/barco-p50-gpio.c
BATMAN ADVANCED
M:	Marek Lindner <mareklindner@neomailbox.ch>
M:	Simon Wunderlich <sw@simonwunderlich.de>
@@ -6725,7 +6731,7 @@ S: Supported
F:	drivers/edac/dmc520_edac.c
EDAC-E752X
M:	Mark Gross <mark.gross@intel.com>
M:	Mark Gross <markgross@kernel.org>
L:	linux-edac@vger.kernel.org
S:	Maintained
F:	drivers/edac/e752x_edac.c
@@ -9537,6 +9543,12 @@ L: linux-crypto@vger.kernel.org
S:	Maintained
F:	drivers/crypto/ixp4xx_crypto.c
INTEL ISHTP ECLITE DRIVER
M:	Sumesh K Naduvalath <sumesh.k.naduvalath@intel.com>
L:	platform-driver-x86@vger.kernel.org
S:	Supported
F:	drivers/platform/x86/intel/ishtp_eclite.c
INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT
M:	Krzysztof Halasa <khalasa@piap.pl>
S:	Maintained
@@ -12067,7 +12079,7 @@ F: drivers/net/ethernet/mellanox/mlxfw/
MELLANOX HARDWARE PLATFORM SUPPORT
M:	Hans de Goede <hdegoede@redhat.com>
M:	Mark Gross <mgross@linux.intel.com>
M:	Mark Gross <markgross@kernel.org>
M:	Vadim Pasternak <vadimp@nvidia.com>
L:	platform-driver-x86@vger.kernel.org
S:	Supported
@@ -12525,7 +12537,7 @@ F: drivers/platform/surface/surface_gpe.c
MICROSOFT SURFACE HARDWARE PLATFORM SUPPORT
M:	Hans de Goede <hdegoede@redhat.com>
M:	Mark Gross <mgross@linux.intel.com>
M:	Mark Gross <markgross@kernel.org>
M:	Maximilian Luz <luzmaximilian@gmail.com>
L:	platform-driver-x86@vger.kernel.org
S:	Maintained
@@ -13479,6 +13491,12 @@ S: Maintained
F:	drivers/video/fbdev/nvidia/
F:	drivers/video/fbdev/riva/
NVIDIA WMI EC BACKLIGHT DRIVER
M:	Daniel Dadap <ddadap@nvidia.com>
L:	platform-driver-x86@vger.kernel.org
S:	Supported
F:	drivers/platform/x86/nvidia-wmi-ec-backlight.c
NVM EXPRESS DRIVER
M:	Keith Busch <kbusch@kernel.org>
M:	Jens Axboe <axboe@fb.com>
@@ -18561,7 +18579,7 @@ S: Supported
F:	drivers/net/ethernet/tehuti/*
TELECOM CLOCK DRIVER FOR MCPL0010
M:	Mark Gross <mark.gross@intel.com>
M:	Mark Gross <markgross@kernel.org>
S:	Supported
F:	drivers/char/tlclk.c
@@ -20480,7 +20498,7 @@ F: arch/x86/mm/
X86 PLATFORM DRIVERS
M:	Hans de Goede <hdegoede@redhat.com>
M:	Mark Gross <mgross@linux.intel.com>
M:	Mark Gross <markgross@kernel.org>
L:	platform-driver-x86@vger.kernel.org
S:	Maintained
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git
+2 −2
Original line number Diff line number Diff line
@@ -209,7 +209,7 @@ static int surface_hid_probe(struct ssam_device *sdev)

	shid->notif.base.priority = 1;
	shid->notif.base.fn = ssam_hid_event_fn;
	shid->notif.event.reg = SSAM_EVENT_REGISTRY_REG;
	shid->notif.event.reg = SSAM_EVENT_REGISTRY_REG(sdev->uid.target);
	shid->notif.event.id.target_category = sdev->uid.category;
	shid->notif.event.id.instance = sdev->uid.instance;
	shid->notif.event.mask = SSAM_EVENT_MASK_STRICT;
@@ -230,7 +230,7 @@ static void surface_hid_remove(struct ssam_device *sdev)
}

static const struct ssam_device_id surface_hid_match[] = {
	{ SSAM_SDEV(HID, 0x02, SSAM_ANY_IID, 0x00) },
	{ SSAM_SDEV(HID, SSAM_ANY_TID, SSAM_ANY_IID, 0x00) },
	{ },
};
MODULE_DEVICE_TABLE(ssam, surface_hid_match);
Loading