Skip to content

Commit 5f08481

Browse files
committed
Merge tag 'platform-drivers-x86-v6.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
Pull x86 platform driver updates from Hans de Goede: - Microsoft Surface: - SSAM hot unplug support - Surface Pro 8 keyboard cover support - Tablet mode switch support for Surface Pro 8 and Surface Laptop Studio - thinkpad_acpi: - AMD Automatice Mode Transitions (AMT) support - Mellanox: - Vulcan chassis COMe NVSwitch management support - XH3000 support - New generic/shared Intel P2SB (Primary to Sideband) support - Lots of small cleanups - Various small bugfixes - Various new hardware ids / quirks additions * tag 'platform-drivers-x86-v6.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (105 commits) platform/x86/intel/vsec: Fix wrong type for local status variables platform/x86: p2sb: Move out of X86_PLATFORM_DEVICES dependency platform/x86: pmc_atom: Fix comment typo platform/surface: gpe: Add support for 13" Intel version of Surface Laptop 4 platform/olpc: Fix uninitialized data in debugfs write platform/mellanox: mlxreg-lc: Fix error flow and extend verbosity platform/x86: pmc_atom: Match all Lex BayTrail boards with critclk_systems DMI table platform/x86: sony-laptop: Remove useless comparisons in sony_pic_read_possible_resource() tools/power/x86/intel-speed-select: Remove unneeded semicolon tools/power/x86/intel-speed-select: Fix off by one check platform/surface: tabletsw: Fix __le32 integer access Documentation/ABI: Add new attributes for mlxreg-io sysfs interfaces Documentation/ABI: mlxreg-io: Fix contact info platform/mellanox: mlxreg-io: Add locking for io operations platform/x86: mlx-platform: Add COME board revision register platform/x86: mlx-platform: Add support for new system XH3000 platform/x86: mlx-platform: Introduce support for COMe NVSwitch management module for Vulcan chassis platform/x86: mlx-platform: Add support for systems equipped with two ASICs platform/x86: mlx-platform: Add cosmetic changes for alignment platform/x86: mlx-platform: Make activation of some drivers conditional ...
2 parents 5bb3bf2 + 3d46d78 commit 5f08481

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+3267
-1032
lines changed

Documentation/ABI/stable/sysfs-driver-mlxreg-io

Lines changed: 60 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/asic_health
22
Date: June 2018
33
KernelVersion: 4.19
4-
Contact: Vadim Pasternak <vadimpmellanox.com>
4+
Contact: Vadim Pasternak <vadimp@nvidia.com>
55
Description: This file shows ASIC health status. The possible values are:
66
0 - health failed, 2 - health OK, 3 - ASIC in booting state.
77

@@ -11,7 +11,7 @@ What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld1_version
1111
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld2_version
1212
Date: June 2018
1313
KernelVersion: 4.19
14-
Contact: Vadim Pasternak <vadimpmellanox.com>
14+
Contact: Vadim Pasternak <vadimp@nvidia.com>
1515
Description: These files show with which CPLD versions have been burned
1616
on carrier and switch boards.
1717

@@ -20,7 +20,7 @@ Description: These files show with which CPLD versions have been burned
2020
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/fan_dir
2121
Date: December 2018
2222
KernelVersion: 5.0
23-
Contact: Vadim Pasternak <vadimpmellanox.com>
23+
Contact: Vadim Pasternak <vadimp@nvidia.com>
2424
Description: This file shows the system fans direction:
2525
forward direction - relevant bit is set 0;
2626
reversed direction - relevant bit is set 1.
@@ -30,7 +30,7 @@ Description: This file shows the system fans direction:
3030
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld3_version
3131
Date: November 2018
3232
KernelVersion: 5.0
33-
Contact: Vadim Pasternak <vadimpmellanox.com>
33+
Contact: Vadim Pasternak <vadimp@nvidia.com>
3434
Description: These files show with which CPLD versions have been burned
3535
on LED or Gearbox board.
3636

@@ -39,7 +39,7 @@ Description: These files show with which CPLD versions have been burned
3939
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/jtag_enable
4040
Date: November 2018
4141
KernelVersion: 5.0
42-
Contact: Vadim Pasternak <vadimpmellanox.com>
42+
Contact: Vadim Pasternak <vadimp@nvidia.com>
4343
Description: These files enable and disable the access to the JTAG domain.
4444
By default access to the JTAG domain is disabled.
4545

@@ -48,7 +48,7 @@ Description: These files enable and disable the access to the JTAG domain.
4848
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/select_iio
4949
Date: June 2018
5050
KernelVersion: 4.19
51-
Contact: Vadim Pasternak <vadimpmellanox.com>
51+
Contact: Vadim Pasternak <vadimp@nvidia.com>
5252
Description: This file allows iio devices selection.
5353

5454
Attribute select_iio can be written with 0 or with 1. It
@@ -62,7 +62,7 @@ What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/psu1_on
6262
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/pwr_down
6363
Date: June 2018
6464
KernelVersion: 4.19
65-
Contact: Vadim Pasternak <vadimpmellanox.com>
65+
Contact: Vadim Pasternak <vadimp@nvidia.com>
6666
Description: These files allow asserting system power cycling, switching
6767
power supply units on and off and system's main power domain
6868
shutdown.
@@ -89,7 +89,7 @@ What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_short_pb
8989
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_sw_reset
9090
Date: June 2018
9191
KernelVersion: 4.19
92-
Contact: Vadim Pasternak <vadimpmellanox.com>
92+
Contact: Vadim Pasternak <vadimp@nvidia.com>
9393
Description: These files show the system reset cause, as following: power
9494
auxiliary outage or power refresh, ASIC thermal shutdown, halt,
9595
hotswap, watchdog, firmware reset, long press power button,
@@ -106,7 +106,7 @@ What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_system
106106
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_voltmon_upgrade_fail
107107
Date: November 2018
108108
KernelVersion: 5.0
109-
Contact: Vadim Pasternak <vadimpmellanox.com>
109+
Contact: Vadim Pasternak <vadimp@nvidia.com>
110110
Description: These files show the system reset cause, as following: ComEx
111111
power fail, reset from ComEx, system platform reset, reset
112112
due to voltage monitor devices upgrade failure,
@@ -119,7 +119,7 @@ Description: These files show the system reset cause, as following: ComEx
119119
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld4_version
120120
Date: November 2018
121121
KernelVersion: 5.0
122-
Contact: Vadim Pasternak <vadimpmellanox.com>
122+
Contact: Vadim Pasternak <vadimp@nvidia.com>
123123
Description: These files show with which CPLD versions have been burned
124124
on LED board.
125125

@@ -133,7 +133,7 @@ What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_sff_wd
133133
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_swb_wd
134134
Date: June 2019
135135
KernelVersion: 5.3
136-
Contact: Vadim Pasternak <vadimpmellanox.com>
136+
Contact: Vadim Pasternak <vadimp@nvidia.com>
137137
Description: These files show the system reset cause, as following:
138138
COMEX thermal shutdown; wathchdog power off or reset was derived
139139
by one of the next components: COMEX, switch board or by Small Form
@@ -148,7 +148,7 @@ What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/config1
148148
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/config2
149149
Date: January 2020
150150
KernelVersion: 5.6
151-
Contact: Vadim Pasternak <vadimpmellanox.com>
151+
Contact: Vadim Pasternak <vadimp@nvidia.com>
152152
Description: These files show system static topology identification
153153
like system's static I2C topology, number and type of FPGA
154154
devices within the system and so on.
@@ -161,7 +161,7 @@ What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_soc
161161
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_sw_pwr_off
162162
Date: January 2020
163163
KernelVersion: 5.6
164-
Contact: Vadim Pasternak <vadimpmellanox.com>
164+
Contact: Vadim Pasternak <vadimp@nvidia.com>
165165
Description: These files show the system reset causes, as following: reset
166166
due to AC power failure, reset invoked from software by
167167
assertion reset signal through CPLD. reset caused by signal
@@ -173,7 +173,7 @@ Description: These files show the system reset causes, as following: reset
173173
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/pcie_asic_reset_dis
174174
Date: January 2020
175175
KernelVersion: 5.6
176-
Contact: Vadim Pasternak <vadimpmellanox.com>
176+
Contact: Vadim Pasternak <vadimp@nvidia.com>
177177
Description: This file allows to retain ASIC up during PCIe root complex
178178
reset, when attribute is set 1.
179179

@@ -182,7 +182,7 @@ Description: This file allows to retain ASIC up during PCIe root complex
182182
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/vpd_wp
183183
Date: January 2020
184184
KernelVersion: 5.6
185-
Contact: Vadim Pasternak <vadimpmellanox.com>
185+
Contact: Vadim Pasternak <vadimp@nvidia.com>
186186
Description: This file allows to overwrite system VPD hardware write
187187
protection when attribute is set 1.
188188

@@ -191,7 +191,7 @@ Description: This file allows to overwrite system VPD hardware write
191191
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/voltreg_update_status
192192
Date: January 2020
193193
KernelVersion: 5.6
194-
Contact: Vadim Pasternak <vadimpmellanox.com>
194+
Contact: Vadim Pasternak <vadimp@nvidia.com>
195195
Description: This file exposes the configuration update status of burnable
196196
voltage regulator devices. The status values are as following:
197197
0 - OK; 1 - CRC failure; 2 = I2C failure; 3 - in progress.
@@ -201,7 +201,7 @@ Description: This file exposes the configuration update status of burnable
201201
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/ufm_version
202202
Date: January 2020
203203
KernelVersion: 5.6
204-
Contact: Vadim Pasternak <vadimpmellanox.com>
204+
Contact: Vadim Pasternak <vadimp@nvidia.com>
205205
Description: This file exposes the firmware version of burnable voltage
206206
regulator devices.
207207

@@ -217,7 +217,7 @@ What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld3_version_min
217217
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld4_version_min
218218
Date: July 2020
219219
KernelVersion: 5.9
220-
Contact: Vadim Pasternak <vadimpmellanox.com>
220+
Contact: Vadim Pasternak <vadimp@nvidia.com>
221221
Description: These files show with which CPLD part numbers and minor
222222
versions have been burned CPLD devices equipped on a
223223
system.
@@ -471,7 +471,7 @@ Description: These files provide the maximum powered required for line card
471471
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/phy_reset
472472
Date: May 2022
473473
KernelVersion: 5.19
474-
Contact: Vadim Pasternak <vadimpmellanox.com>
474+
Contact: Vadim Pasternak <vadimp@nvidia.com>
475475
Description: This file allows to reset PHY 88E1548 when attribute is set 0
476476
due to some abnormal PHY behavior.
477477
Expected behavior:
@@ -483,7 +483,7 @@ Description: This file allows to reset PHY 88E1548 when attribute is set 0
483483
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/mac_reset
484484
Date: May 2022
485485
KernelVersion: 5.19
486-
Contact: Vadim Pasternak <vadimpmellanox.com>
486+
Contact: Vadim Pasternak <vadimp@nvidia.com>
487487
Description: This file allows to reset ASIC MT52132 when attribute is set 0
488488
due to some abnormal ASIC behavior.
489489
Expected behavior:
@@ -495,11 +495,50 @@ Description: This file allows to reset ASIC MT52132 when attribute is set 0
495495
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/qsfp_pwr_good
496496
Date: May 2022
497497
KernelVersion: 5.19
498-
Contact: Vadim Pasternak <vadimpmellanox.com>
498+
Contact: Vadim Pasternak <vadimp@nvidia.com>
499499
Description: This file shows QSFP ports power status. The value is set to 0
500500
when one of any QSFP ports is plugged. The value is set to 1 when
501501
there are no any QSFP ports are plugged.
502502
The possible values are:
503503
0 - Power good, 1 - Not power good.
504504

505505
The files are read only.
506+
507+
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/asic2_health
508+
Date: July 2022
509+
KernelVersion: 5.20
510+
Contact: Vadim Pasternak <[email protected]>
511+
Description: This file shows 2-nd ASIC health status. The possible values are:
512+
0 - health failed, 2 - health OK, 3 - ASIC in booting state.
513+
514+
The file is read only.
515+
516+
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/asic_reset
517+
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/asic2_reset
518+
Date: July 2022
519+
KernelVersion: 5.20
520+
Contact: Vadim Pasternak <[email protected]>
521+
Description: These files allow to each of ASICs by writing 1.
522+
523+
The files are write only.
524+
525+
526+
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/comm_chnl_ready
527+
Date: July 2022
528+
KernelVersion: 5.20
529+
Contact: Vadim Pasternak <[email protected]>
530+
Description: This file is used to indicate remote end (for example BMC) that system
531+
host CPU is ready for sending telemetry data to remote end.
532+
For indication the file should be written 1.
533+
534+
The file is write only.
535+
536+
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/config3
537+
Date: January 2020
538+
KernelVersion: 5.6
539+
Contact: Vadim Pasternak <[email protected]>
540+
Description: The file indicates COME module hardware configuration.
541+
The value is pushed by hardware through GPIO pins.
542+
The purpose is to expose some minor BOM changes for the same system SKU.
543+
544+
The file is read only.
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
What: /sys/bus/surface_aggregator/devices/01:0e:01:00:01/state
2+
Date: July 2022
3+
KernelVersion: 5.20
4+
Contact: Maximilian Luz <[email protected]>
5+
Description:
6+
This attribute returns a string with the current type-cover
7+
or device posture, as indicated by the embedded controller.
8+
Currently returned posture states are:
9+
10+
- "disconnected": The type-cover has been disconnected.
11+
12+
- "closed": The type-cover has been folded closed and lies on
13+
top of the display.
14+
15+
- "laptop": The type-cover is open and in laptop-mode, i.e.,
16+
ready for normal use.
17+
18+
- "folded-canvas": The type-cover has been folded back
19+
part-ways, but does not lie flush with the back side of the
20+
device. In general, this means that the kick-stand is used
21+
and extended atop of the cover.
22+
23+
- "folded-back": The type cover has been fully folded back and
24+
lies flush with the back side of the device.
25+
26+
- "<unknown>": The current state is unknown to the driver, for
27+
example due to newer as-of-yet unsupported hardware.
28+
29+
New states may be introduced with new hardware. Users therefore
30+
must not rely on this list of states being exhaustive and
31+
gracefully handle unknown states.
32+
33+
What: /sys/bus/surface_aggregator/devices/01:26:01:00:01/state
34+
Date: July 2022
35+
KernelVersion: 5.20
36+
Contact: Maximilian Luz <[email protected]>
37+
Description:
38+
This attribute returns a string with the current device posture, as indicated by the embedded controller. Currently
39+
returned posture states are:
40+
41+
- "closed": The lid of the device is closed.
42+
43+
- "laptop": The lid of the device is opened and the device
44+
operates as a normal laptop.
45+
46+
- "slate": The screen covers the keyboard or has been flipped
47+
back and the device operates mainly based on touch input.
48+
49+
- "tablet": The device operates as tablet and exclusively
50+
relies on touch input (or external peripherals).
51+
52+
- "<unknown>": The current state is unknown to the driver, for
53+
example due to newer as-of-yet unsupported hardware.
54+
55+
New states may be introduced with new hardware. Users therefore
56+
must not rely on this list of states being exhaustive and
57+
gracefully handle unknown states.

Documentation/driver-api/surface_aggregator/client.rst

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
.. |SSAM_DEVICE| replace:: :c:func:`SSAM_DEVICE`
1818
.. |ssam_notifier_register| replace:: :c:func:`ssam_notifier_register`
1919
.. |ssam_notifier_unregister| replace:: :c:func:`ssam_notifier_unregister`
20+
.. |ssam_device_notifier_register| replace:: :c:func:`ssam_device_notifier_register`
21+
.. |ssam_device_notifier_unregister| replace:: :c:func:`ssam_device_notifier_unregister`
2022
.. |ssam_request_sync| replace:: :c:func:`ssam_request_sync`
2123
.. |ssam_event_mask| replace:: :c:type:`enum ssam_event_mask <ssam_event_mask>`
2224

@@ -312,7 +314,9 @@ Handling Events
312314
To receive events from the SAM EC, an event notifier must be registered for
313315
the desired event via |ssam_notifier_register|. The notifier must be
314316
unregistered via |ssam_notifier_unregister| once it is not required any
315-
more.
317+
more. For |ssam_device| type clients, the |ssam_device_notifier_register| and
318+
|ssam_device_notifier_unregister| wrappers should be preferred as they properly
319+
handle hot-removal of client devices.
316320

317321
Event notifiers are registered by providing (at minimum) a callback to call
318322
in case an event has been received, the registry specifying how the event

MAINTAINERS

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1007,7 +1007,7 @@ AMD PMC DRIVER
10071007
M: Shyam Sundar S K <[email protected]>
10081008
10091009
S: Maintained
1010-
F: drivers/platform/x86/amd-pmc.*
1010+
F: drivers/platform/x86/amd/pmc.c
10111011

10121012
AMD HSMP DRIVER
10131013
M: Naveen Krishna Chatradhi <[email protected]>
@@ -1017,7 +1017,7 @@ S: Maintained
10171017
F: Documentation/x86/amd_hsmp.rst
10181018
F: arch/x86/include/asm/amd_hsmp.h
10191019
F: arch/x86/include/uapi/asm/amd_hsmp.h
1020-
F: drivers/platform/x86/amd_hsmp.c
1020+
F: drivers/platform/x86/amd/hsmp.c
10211021

10221022
AMD POWERPLAY AND SWSMU
10231023
M: Evan Quan <[email protected]>
@@ -13467,6 +13467,12 @@ F: drivers/scsi/smartpqi/smartpqi*.[ch]
1346713467
F: include/linux/cciss*.h
1346813468
F: include/uapi/linux/cciss*.h
1346913469

13470+
MICROSOFT SURFACE AGGREGATOR TABLET-MODE SWITCH
13471+
M: Maximilian Luz <[email protected]>
13472+
13473+
S: Maintained
13474+
F: drivers/platform/surface/surface_aggregator_tabletsw.c
13475+
1347013476
MICROSOFT SURFACE BATTERY AND AC DRIVERS
1347113477
M: Maximilian Luz <[email protected]>
1347213478
@@ -13538,6 +13544,12 @@ F: include/linux/surface_acpi_notify.h
1353813544
F: include/linux/surface_aggregator/
1353913545
F: include/uapi/linux/surface_aggregator/
1354013546

13547+
MICROSOFT SURFACE SYSTEM AGGREGATOR HUB DRIVER
13548+
M: Maximilian Luz <[email protected]>
13549+
13550+
S: Maintained
13551+
F: drivers/platform/surface/surface_aggregator_hub.c
13552+
1354113553
MICROTEK X6 SCANNER
1354213554
M: Oliver Neukum <[email protected]>
1354313555
S: Maintained

drivers/clk/x86/Makefile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
# SPDX-License-Identifier: GPL-2.0-only
2-
obj-$(CONFIG_PMC_ATOM) += clk-pmc-atom.o
32
obj-$(CONFIG_X86_AMD_PLATFORM_DEVICE) += clk-fch.o
4-
clk-x86-lpss-y := clk-lpss-atom.o
5-
obj-$(CONFIG_X86_INTEL_LPSS) += clk-x86-lpss.o
3+
obj-$(CONFIG_X86_INTEL_LPSS) += clk-lpss-atom.o clk-pmc-atom.o
64
obj-$(CONFIG_CLK_LGM_CGU) += clk-cgu.o clk-cgu-pll.o clk-lgm.o

drivers/edac/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,7 @@ config EDAC_I10NM
263263
config EDAC_PND2
264264
tristate "Intel Pondicherry2"
265265
depends on PCI && X86_64 && X86_MCE_INTEL
266+
select P2SB if X86
266267
help
267268
Support for error detection and correction on the Intel
268269
Pondicherry2 Integrated Memory Controller. This SoC IP is

0 commit comments

Comments
 (0)