Skip to content

Commit

Permalink
Merge tag 'platform-drivers-x86-v6.6-1' of git://git.kernel.org/pub/s…
Browse files Browse the repository at this point in the history
…cm/linux/kernel/git/pdx86/platform-drivers-x86

Pull x86 platform driver updates from Hans de Goede:

 - hp-bioscfg: New firmware-attributes driver for changing BIOS settings
   from within Linux

 - asus-wmi: Add charger mode, middle fan and eGPU settings support

 - ideapad: Support keyboard backlight control on more models

 - mellanox: Support for new models

 - sel-3350: New LED and power-supply driver for this industrial
   mainboard

 - simatic-ipc: Add RTC battery monitor and various new models support

 - miscellaneous other cleanups / fixes

* tag 'platform-drivers-x86-v6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (101 commits)
  platform/x86: asus-wmi: corrections to egpu safety check
  platform/x86: mlx-platform: Add dependency on PCI to Kconfig
  platform/x86: ideapad-laptop: Add support for keyboard backlights using KBLC ACPI symbol
  platform/x86/amd/pmc: Fix build error with randconfig
  platform/x86/amd/pmf: Fix a missing cleanup path
  watchdog: simatic: Use idiomatic selection of P2SB
  platform/x86: p2sb: Make the Kconfig symbol hidden
  Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces
  platform: mellanox: nvsw-sn2201: change fans i2c busses.
  platform: mellanox: mlxreg-hotplug: Extend condition for notification callback processing
  platform: mellanox: Add initial support for PCIe based programming logic device
  platform: mellanox: mlx-platform: Get interrupt line through ACPI
  platform: mellanox: mlx-platform: Introduce ACPI init flow
  platform: mellanox: mlx-platform: Prepare driver to allow probing through ACPI infrastructure
  platform: mellanox: mlx-platform: Add reset callback
  platform: mellanox: Cosmetic changes
  platform: mellanox: mlx-platform: Modify power off callback
  platform: mellanox: mlx-platform: add support for additional CPLD
  platform: mellanox: mlx-platform: Add reset cause attribute
  platform: mellanox: mlx-platform: Modify health and power hotplug action
  ...
  • Loading branch information
Linus Torvalds committed Sep 1, 2023
2 parents e0152e7 + acce85a commit e2c874f
Show file tree
Hide file tree
Showing 64 changed files with 8,319 additions and 354 deletions.
53 changes: 53 additions & 0 deletions Documentation/ABI/stable/sysfs-driver-mlxreg-io
Original file line number Diff line number Diff line change
Expand Up @@ -662,3 +662,56 @@ Description: This file shows the system reset cause due to AC power failure.
Value 1 in file means this is reset cause, 0 - otherwise.

The file is read only.

What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld5_pn
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld5_version
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld5_version_min
Date: August 2023
KernelVersion: 6.6
Contact: Vadim Pasternak <vadimp@nvidia.com>
Description: These files show with which CPLD part numbers, version and minor
versions have been burned the 5-th CPLD device equipped on a
system.

The files are read only.

What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/jtag_cap
Date: August 2023
KernelVersion: 6.6
Contact: Vadim Pasternak <vadimp@nvidia.com>
Description: This file indicates the available method of CPLD/FPGA devices
field update through the JTAG chain:

b00 - field update through LPC bus register memory space.
b01 - Reserved.
b10 - Reserved.
b11 - field update through CPU GPIOs bit-banging.

The file is read only.

What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lid_open
Date: August 2023
KernelVersion: 6.6
Contact: Vadim Pasternak <vadimp@nvidia.com>
Description: 1 - indicates that system lid is opened, otherwise 0.

The file is read only.

What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_long_pwr_pb
Date: August 2023
KernelVersion: 6.6
Contact: Vadim Pasternak <vadimp@nvidia.com>
Description: This file if set 1 indicates that system has been reset by
long press of power button.

The file is read only.

What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_swb_dc_dc_pwr_fail
Date: August 2023
KernelVersion: 6.6
Contact: Vadim Pasternak <vadimp@nvidia.com>
Description: This file shows 1 in case the system reset happened due to the
failure of any DC-DC power converter devices equipped on the
switch board.

The file is read only.
31 changes: 31 additions & 0 deletions Documentation/ABI/testing/debugfs-tpmi
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
What: /sys/kernel/debug/tpmi-<n>/pfs_dump
Date: November 2023
KernelVersion: 6.6
Contact: srinivas.pandruvada@linux.intel.com
Description:
The PFS (PM Feature Structure) table, shows details of each power
management feature. This includes:
tpmi_id, number of entries, entry size, offset, vsec offset, lock status
and disabled status.
Users: Debugging, any user space test suite

What: /sys/kernel/debug/tpmi-<n>/tpmi-id-<n>/mem_dump
Date: November 2023
KernelVersion: 6.6
Contact: srinivas.pandruvada@linux.intel.com
Description:
Shows the memory dump of the MMIO region for a TPMI ID.
Users: Debugging, any user space test suite

What: /sys/kernel/debug/tpmi-<n>/tpmi-id-<n>/mem_write
Date: November 2023
KernelVersion: 6.6
Contact: srinivas.pandruvada@linux.intel.com
Description:
Allows to write at any offset. It doesn't check for Read/Write access
as hardware will not allow to write at read-only memory. This write is
at offset multiples of 4. The format is instance,offset,contents.
Example:
echo 0,0x20,0xff > mem_write
echo 1,64,64 > mem_write
Users: Debugging, any user space test suite
101 changes: 99 additions & 2 deletions Documentation/ABI/testing/sysfs-class-firmware-attributes
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ Description:
- integer: a range of numerical values
- string

HP specific types
-----------------
- ordered-list - a set of ordered list valid values


All attribute types support the following values:

current_value:
Expand Down Expand Up @@ -126,6 +131,21 @@ Description:
value will not be effective through sysfs until this rule is
met.

HP specific class extensions
------------------------------

On HP systems the following additional attributes are available:

"ordered-list"-type specific properties:

elements:
A file that can be read to obtain the possible
list of values of the <attr>. Values are separated using
semi-colon (``;``) and listed according to their priority.
An element listed first has the highest priority. Writing
the list in a different order to current_value alters
the priority order for the particular attribute.

What: /sys/class/firmware-attributes/*/authentication/
Date: February 2021
KernelVersion: 5.11
Expand Down Expand Up @@ -206,7 +226,7 @@ Description:
Drivers may emit a CHANGE uevent when a password is set or unset
userspace may check it again.

On Dell and Lenovo systems, if Admin password is set, then all BIOS attributes
On Dell, Lenovo and HP systems, if Admin password is set, then all BIOS attributes
require password validation.
On Lenovo systems if you change the Admin password the new password is not active until
the next boot.
Expand Down Expand Up @@ -296,6 +316,15 @@ Description:
echo "signature" > authentication/Admin/signature
echo "password" > authentication/Admin/certificate_to_password

HP specific class extensions
--------------------------------

On HP systems the following additional settings are available:

role: enhanced-bios-auth:
This role is specific to Secure Platform Management (SPM) attribute.
It requires configuring an endorsement (kek) and signing certificate (sk).


What: /sys/class/firmware-attributes/*/attributes/pending_reboot
Date: February 2021
Expand All @@ -311,7 +340,7 @@ Description:
== =========================================
0 All BIOS attributes setting are current
1 A reboot is necessary to get pending BIOS
attribute changes applied
attribute changes applied
== =========================================

Note, userspace applications need to follow below steps for efficient
Expand Down Expand Up @@ -364,3 +393,71 @@ Description:
use it to enable extra debug attributes or BIOS features for testing purposes.

Note that any changes to this attribute requires a reboot for changes to take effect.


HP specific class extensions - Secure Platform Manager (SPM)
--------------------------------

What: /sys/class/firmware-attributes/*/authentication/SPM/kek
Date: March 2023
KernelVersion: 5.18
Contact: "Jorge Lopez" <jorge.lopez2@hp.com>
Description:
'kek' Key-Encryption-Key is a write-only file that can be used to configure the
RSA public key that will be used by the BIOS to verify
signatures when setting the signing key. When written,
the bytes should correspond to the KEK certificate
(x509 .DER format containing an OU). The size of the
certificate must be less than or equal to 4095 bytes.

What: /sys/class/firmware-attributes/*/authentication/SPM/sk
Date: March 2023
KernelVersion: 5.18
Contact: "Jorge Lopez" <jorge.lopez2@hp.com>
Description:
'sk' Signature Key is a write-only file that can be used to configure the RSA
public key that will be used by the BIOS to verify signatures
when configuring BIOS settings and security features. When
written, the bytes should correspond to the modulus of the
public key. The exponent is assumed to be 0x10001.

What: /sys/class/firmware-attributes/*/authentication/SPM/status
Date: March 2023
KernelVersion: 5.18
Contact: "Jorge Lopez" <jorge.lopez2@hp.com>
Description:
'status' is a read-only file that returns ASCII text in JSON format reporting
the status information.

"State": "not provisioned | provisioned | provisioning in progress",
"Version": "Major.Minor",
"Nonce": <16-bit unsigned number display in base 10>,
"FeaturesInUse": <16-bit unsigned number display in base 10>,
"EndorsementKeyMod": "<256 bytes in base64>",
"SigningKeyMod": "<256 bytes in base64>"

What: /sys/class/firmware-attributes/*/attributes/Sure_Start/audit_log_entries
Date: March 2023
KernelVersion: 5.18
Contact: "Jorge Lopez" <jorge.lopez2@hp.com>
Description:
'audit_log_entries' is a read-only file that returns the events in the log.

Audit log entry format

Byte 0-15: Requested Audit Log entry (Each Audit log is 16 bytes)
Byte 16-127: Unused

What: /sys/class/firmware-attributes/*/attributes/Sure_Start/audit_log_entry_count
Date: March 2023
KernelVersion: 5.18
Contact: "Jorge Lopez" <jorge.lopez2@hp.com>
Description:
'audit_log_entry_count' is a read-only file that returns the number of existing
audit log events available to be read. Values are separated using comma. (``,``)

[No of entries],[log entry size],[Max number of entries supported]

log entry size identifies audit log size for the current BIOS version.
The current size is 16 bytes but it can be up to 128 bytes long in future BIOS
versions.
88 changes: 88 additions & 0 deletions Documentation/ABI/testing/sysfs-platform-asus-wmi
Original file line number Diff line number Diff line change
Expand Up @@ -98,3 +98,91 @@ Description:
Enable an LCD response-time boost to reduce or remove ghosting:
* 0 - Disable,
* 1 - Enable

What: /sys/devices/platform/<platform>/charge_mode
Date: Jun 2023
KernelVersion: 6.5
Contact: "Luke Jones" <luke@ljones.dev>
Description:
Get the current charging mode being used:
* 1 - Barrel connected charger,
* 2 - USB-C charging
* 3 - Both connected, barrel used for charging

What: /sys/devices/platform/<platform>/egpu_connected
Date: Jun 2023
KernelVersion: 6.5
Contact: "Luke Jones" <luke@ljones.dev>
Description:
Show if the egpu (XG Mobile) is correctly connected:
* 0 - False,
* 1 - True

What: /sys/devices/platform/<platform>/mini_led_mode
Date: Jun 2023
KernelVersion: 6.5
Contact: "Luke Jones" <luke@ljones.dev>
Description:
Change the mini-LED mode:
* 0 - Single-zone,
* 1 - Multi-zone

What: /sys/devices/platform/<platform>/ppt_pl1_spl
Date: Jun 2023
KernelVersion: 6.5
Contact: "Luke Jones" <luke@ljones.dev>
Description:
Set the Package Power Target total of CPU: PL1 on Intel, SPL on AMD.
Shown on Intel+Nvidia or AMD+Nvidia based systems:

* min=5, max=250

What: /sys/devices/platform/<platform>/ppt_pl2_sppt
Date: Jun 2023
KernelVersion: 6.5
Contact: "Luke Jones" <luke@ljones.dev>
Description:
Set the Slow Package Power Tracking Limit of CPU: PL2 on Intel, SPPT,
on AMD. Shown on Intel+Nvidia or AMD+Nvidia based systems:

* min=5, max=250

What: /sys/devices/platform/<platform>/ppt_fppt
Date: Jun 2023
KernelVersion: 6.5
Contact: "Luke Jones" <luke@ljones.dev>
Description:
Set the Fast Package Power Tracking Limit of CPU. AMD+Nvidia only:
* min=5, max=250

What: /sys/devices/platform/<platform>/ppt_apu_sppt
Date: Jun 2023
KernelVersion: 6.5
Contact: "Luke Jones" <luke@ljones.dev>
Description:
Set the APU SPPT limit. Shown on full AMD systems only:
* min=5, max=130

What: /sys/devices/platform/<platform>/ppt_platform_sppt
Date: Jun 2023
KernelVersion: 6.5
Contact: "Luke Jones" <luke@ljones.dev>
Description:
Set the platform SPPT limit. Shown on full AMD systems only:
* min=5, max=130

What: /sys/devices/platform/<platform>/nv_dynamic_boost
Date: Jun 2023
KernelVersion: 6.5
Contact: "Luke Jones" <luke@ljones.dev>
Description:
Set the dynamic boost limit of the Nvidia dGPU:
* min=5, max=25

What: /sys/devices/platform/<platform>/nv_temp_target
Date: Jun 2023
KernelVersion: 6.5
Contact: "Luke Jones" <luke@ljones.dev>
Description:
Set the target temperature limit of the Nvidia dGPU:
* min=75, max=87
66 changes: 66 additions & 0 deletions Documentation/ABI/testing/sysfs-platform-mellanox-bootctl
Original file line number Diff line number Diff line change
Expand Up @@ -84,3 +84,69 @@ Description:
The file used to write BlueField boot log with the format
"[INFO|WARN|ERR|ASSERT ]<msg>". Log level 'INFO' is used by
default if not specified.

What: /sys/bus/platform/devices/MLNXBF04:00/oob_mac
Date: August 2023
KernelVersion: 6.5
Contact: "David Thompson <davthompson@nvidia.com>"
Description:
The "oob_mac" sysfs attribute holds the MAC address for
the out-of-band 1Gbps Ethernet port. This MAC address is
provided on a board-level label.

What: /sys/bus/platform/devices/MLNXBF04:00/opn
Date: August 2023
KernelVersion: 6.5
Contact: "David Thompson <davthompson@nvidia.com>"
Description:
The "opn" sysfs attribute holds the board's part number.
This value is provided on a board-level label.

What: /sys/bus/platform/devices/MLNXBF04:00/sku
Date: August 2023
KernelVersion: 6.5
Contact: "David Thompson <davthompson@nvidia.com>"
Description:
The "sku" sysfs attribute holds the board's SKU number.
This value is provided on a board-level label.

What: /sys/bus/platform/devices/MLNXBF04:00/modl
Date: August 2023
KernelVersion: 6.5
Contact: "David Thompson <davthompson@nvidia.com>"
Description:
The "modl" sysfs attribute holds the board's model number.
This value is provided on a board-level label.

What: /sys/bus/platform/devices/MLNXBF04:00/sn
Date: August 2023
KernelVersion: 6.5
Contact: "David Thompson <davthompson@nvidia.com>"
Description:
The "sn" sysfs attribute holds the board's serial number.
This value is provided on a board-level label.

What: /sys/bus/platform/devices/MLNXBF04:00/uuid
Date: August 2023
KernelVersion: 6.5
Contact: "David Thompson <davthompson@nvidia.com>"
Description:
The "uuid" sysfs attribute holds the board's UUID.
This value is provided by the manufacturing team.

What: /sys/bus/platform/devices/MLNXBF04:00/rev
Date: August 2023
KernelVersion: 6.5
Contact: "David Thompson <davthompson@nvidia.com>"
Description:
The "rev" sysfs attribute holds the board's revision.
This value is provided on a board-level label.

What: /sys/bus/platform/devices/MLNXBF04:00/mfg_lock
Date: August 2023
KernelVersion: 6.5
Contact: "David Thompson <davthompson@nvidia.com>"
Description:
The "mfg_lock" sysfs attribute is write-only.
A successful write to this attribute will latch the
board-level attributes into EEPROM, making them read-only.
Loading

0 comments on commit e2c874f

Please sign in to comment.