Commit graph

1,447,411 commits

Author SHA1 Message Date
Khushal Chitturi
87a6e3b6c4 xdrgen: improve error reporting for invalid void declarations
RFC 4506 defines void as a zero-length type that may appear only as
union arms or as program argument/result types. It cannot be declared
with an identifier, so constructs like "typedef void temp;" are not
valid XDR.

Previously, xdrgen raised a NotImplementedError when it encountered a
void declaration in a typedef. Which was misleading, as the problem is an
invalid RPC specification rather than missing functionality in xdrgen.

This patch replaces the NotImplementedError for _XdrVoid in typedef
handling with a clearer ValueError that specifies incorrect use of void
in the XDR input, making it clear that the issue lies in the RPC
specification being parsed.

Signed-off-by: Khushal Chitturi <kc9282016@gmail.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2026-01-26 10:10:58 -05:00
Chuck Lever
1f1fe81acb NFSD: Clean up nfsd4_check_open_attributes()
The @rqstp parameter was introduced in commit 3c8e03166a ("NFSv4:
do exact check about attribute specified") but has never been used.

Reduce indentation in callers to improve readability.

Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2026-01-26 10:10:58 -05:00
Arnd Bergmann
43b1d60361 Qualcomm Arm64 DeviceTree for v6.20
Introduce the Kaanapali SoC, with the MTP and QRD devices. Introduce
 support for the Milos SoC (SM7635) and initial support for the Fairphone
 (Gen 6) device on this platform.
 
 Add the QCS6490-based RubikPI3 board, the QRB2210-based Arduino UnoQ,
 the X Elite-based Medion SPRCHRGD 14 S1 and Surface Pro 11 laptops, and
 the SDM845-based Pixel 3 and Pixel 3 XL devices.
 
 On the Kodiak-based (QCS6490) RB3Gen2 the TC9563 PCIe switch controller
 is described.
 
 On Lemans (SA8775P/QCS9075) the GPU and crypto blocks are added.
 IO-regions and clocks are added to interconnect nodes to allow QoS
 configuration. GPU, TPM and USB support are enabled on the evaluation
 kit (EVK).
 
 On Monaco (QCS8300) the two PCIe controllers, the camera subsystem,
 tsens, display subsystem, crypto, CPUfreq, and coresight are added. On
 the evaluation kit (EVK) the PCIe busses are enabled, together with an
 AMC6821-based fan controller and the ST33 TPM chip.
 
 On MSM8939 the camera subsystem is described. The Asus ZenFone 2
 Laser/Selfie gains battery and hall sensor support.
 
 On the Agatti-based RB1 board PM8008 is described and an overlay for the
 Vision mezzanine is introduced.
 
 On SDM630 the compute DSP remoteproc, FastRPC and related entites are
 described. The LPASS LPI pinctrl node is described.
 
 On SDM845-based OnePlus device the bootloader framebuffer and its
 resources are described, to improve the transition. On the SDM845-based
 devices from OnePlus, SHIFT, and Xiaomi ath10k calibration variants are
 specified. The sensor remoteproc is enabled on Xiaomi Pocophone F1.
 
 On SM7225-based Fairphone FP4 regulators for the cameras are described,
 and the camera EEPROM is added.
 
 On SM8650 the camera subsystem is described. On the QRD the Samsung
 S5KJN1 camera sensor is added, and for the HDK an overlay for the "Rear
 Camera Card" is added.
 
 On SM8750 CPUfreq, SDCHCI and Iris (video encode/decode) support are
 added, and missing - required - properties for the BAM DMA is added.
 These are then enabled on the MTP.
 
 On Talos (SM6150/QCS615) PMU, DisplayPort, and USB/DP combo PHY are added.
 DisplayPort is enabled on the Talos Ride board.
 
 On Hamoa (X Elite) add crypto engine, missing TCSR reference clocks, and
 random number generator block. The soc bus address width is corrected to
 match the hardware. On the Lenovo Thinkpad T14s HDMI and audio playback
 over DisplayPort is introduced. HDMI, Iris (video encode/decode) and
 PS8830 retimers are described for the ASUS Vivobook S 15. On the Hamoa
 evaluation kit (EVK) PCIe busses, WiFi, backlight, TPM and RG
 (red/green) LEDs are described.
 
 Enable QSEECOM, and thereby UEFI variable access, on the Medion SPRCHRGD
 14 S1 (commit should have been on drivers branch).
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmluY0UACgkQCx85Pw2Z
 rcULshAA2wZmfS4CeeZjIGUMbZg+ntby1xUJ4cKTeUR9IDd86L57qAkhHCNaP/ST
 8ta22+4W9uId2zDTyxxmXbf5rTLIkc+t0dLjkl48HHmu6Kmxc2qALwcW7m2Cw/AI
 3MAXUxVMmTM8BKvxSqW4lzNtQehxMXuErxXzVyUdzHMyiard25HUmXuMTsbIcteK
 yXr+SsAfisSjLTYAYhXkRihPK6OqYO9LkO1pah1Uf1pFY4FtJCbCEQR3a4uSTaQf
 u/NMQAc83LcboM2al1eHVU9fCeoA/oH/i6VZfpEAQLFf7cvsDP6f8CZF8RDWs1NE
 CdISQQdZxmgIfCawq5yt2765NR91Q8E64e49GSi56FWTEX+WBdohLR1qRLl7OrNM
 /rlvB29GhFTpxCjV5JwoAGacS3dn2MScNSXQSQNMRZBpDgGMM2PtnyOc+IhjMb+2
 vOZrU+RS7eph6d9++yrIAMZfnEo8NtwVo0Eu3n0LmPmn4PK/2Kc+OS0Vc8r7IwBI
 qrAj4kkFGsMkfTEH2m4OO3lFH/Dw04E/YX1bSx3uFBkf8oQZrzmQJmn6kUT2MY0a
 9rIJgnoo1R8d6MRAFkEKQqaRisWqEhnN3EZvn1bQj+0HlC5o3AHgjZQhwuZ/y/3B
 DvD7sSV1qSkbF/Dxcy4VRXZI+T6PgybrbL/yF+CD6cZiR4Grw8w=
 =qT6q
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAml3gp8ACgkQmmx57+YA
 GNmhbA//bKzmRMoV1kx7czXgCfAbSq0SAUNbHs294Zkog/8ILBWnSYiS1smMlKfe
 W7c9x/7QT1myy2TiEZ2wDGzGWC/7benTu5HHGSL+UTSc3vVfKb3wpN021kuhxfhW
 fNpATd6oiOtuGfURgaZlXHaJlDS8TDXr+jJ8lgDKUuMmyJPpBf265/eyS8pSCoVR
 l6ImLT3Im2G4qXhYV7LzApTqe3wu6H6AW2EGPrAHWz4WrebTOzAr2yEY0CPOsPqA
 EnF2slYnPsRYz7RwkBwXM8gSX7711iGwOp/xQWIqmZxHaQa915w816bnPLzWxJTg
 j384ly4sJw/C047iLQdZBaqgGGU9Pu8/3iK1K0mlnfc3NmF1KeaSu3KKB4XxLkF/
 +zw1gFjU6xCbfphHk44f8+hQdsIDa6wpL2jV4VdAE989wtOH2pIPS1WRboZCcvLz
 LummFnQigACAfwKygnmHGIEtVA1rw0U5wfRdvVq2slv2Kfrye5x92QgY/euuR2wW
 7XWIubZESPHqvBPSa2bG7XNcd5gG+EaSZg0apJ6s9JbMm1PHjtKbnEqmv2E5GYUE
 bO3/XPrAalQ+bpN7TvCPkoFgD3Qr6SPK1Du/zQgIf0i5L/CGKKdaE/EVcmXSOOPR
 4MH7kQQx7zcQ6i2OUOfDuGZemGGLOXXRZmGsJpY686gsLg6FYN8=
 =3Isi
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-for-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt

Qualcomm Arm64 DeviceTree for v6.20

Introduce the Kaanapali SoC, with the MTP and QRD devices. Introduce
support for the Milos SoC (SM7635) and initial support for the Fairphone
(Gen 6) device on this platform.

Add the QCS6490-based RubikPI3 board, the QRB2210-based Arduino UnoQ,
the X Elite-based Medion SPRCHRGD 14 S1 and Surface Pro 11 laptops, and
the SDM845-based Pixel 3 and Pixel 3 XL devices.

On the Kodiak-based (QCS6490) RB3Gen2 the TC9563 PCIe switch controller
is described.

On Lemans (SA8775P/QCS9075) the GPU and crypto blocks are added.
IO-regions and clocks are added to interconnect nodes to allow QoS
configuration. GPU, TPM and USB support are enabled on the evaluation
kit (EVK).

On Monaco (QCS8300) the two PCIe controllers, the camera subsystem,
tsens, display subsystem, crypto, CPUfreq, and coresight are added. On
the evaluation kit (EVK) the PCIe busses are enabled, together with an
AMC6821-based fan controller and the ST33 TPM chip.

On MSM8939 the camera subsystem is described. The Asus ZenFone 2
Laser/Selfie gains battery and hall sensor support.

On the Agatti-based RB1 board PM8008 is described and an overlay for the
Vision mezzanine is introduced.

On SDM630 the compute DSP remoteproc, FastRPC and related entites are
described. The LPASS LPI pinctrl node is described.

On SDM845-based OnePlus device the bootloader framebuffer and its
resources are described, to improve the transition. On the SDM845-based
devices from OnePlus, SHIFT, and Xiaomi ath10k calibration variants are
specified. The sensor remoteproc is enabled on Xiaomi Pocophone F1.

On SM7225-based Fairphone FP4 regulators for the cameras are described,
and the camera EEPROM is added.

On SM8650 the camera subsystem is described. On the QRD the Samsung
S5KJN1 camera sensor is added, and for the HDK an overlay for the "Rear
Camera Card" is added.

On SM8750 CPUfreq, SDCHCI and Iris (video encode/decode) support are
added, and missing - required - properties for the BAM DMA is added.
These are then enabled on the MTP.

On Talos (SM6150/QCS615) PMU, DisplayPort, and USB/DP combo PHY are added.
DisplayPort is enabled on the Talos Ride board.

On Hamoa (X Elite) add crypto engine, missing TCSR reference clocks, and
random number generator block. The soc bus address width is corrected to
match the hardware. On the Lenovo Thinkpad T14s HDMI and audio playback
over DisplayPort is introduced. HDMI, Iris (video encode/decode) and
PS8830 retimers are described for the ASUS Vivobook S 15. On the Hamoa
evaluation kit (EVK) PCIe busses, WiFi, backlight, TPM and RG
(red/green) LEDs are described.

Enable QSEECOM, and thereby UEFI variable access, on the Medion SPRCHRGD
14 S1 (commit should have been on drivers branch).

* tag 'qcom-arm64-for-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (155 commits)
  dt-bindings: mailbox: qcom: Add IPCC support for Kaanapali and Glymur Platforms
  dt-bindings: mailbox: qcom: Add CPUCP mailbox controller bindings for Kaanapali
  arm64: dts: qcom: lemans: enable static TPDM
  arm64: dts: qcom: kodiak: Add memory region for audiopd
  arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: add HDMI nodes
  arm64: dts: qcom: x1e: bus is 40-bits (fix 64GB models)
  arm64: dts: qcom: lemans; Add EL2 overlay
  arm64: dts: qcom: sm8150: add uart13
  arm64: dts: qcom: sdm845-db845c: specify power for WiFi CH1
  arm64: dts: qcom: sdm845-db845c: drop CS from SPIO0
  arm64: dts: qcom: qrb4210-rb2: Fix UART3 wakeup IRQ storm
  arm64: dts: qcom: sm6125-ginkgo: Fix missing msm-id subtype
  arm64: dts: qcom: qcs8300: Add GPU cooling
  arm64: dts: qcom: sa8775p: Add reg and clocks for QoS configuration
  arm64: dts: qcom: hamoa-iot-evk: Enable TPM (ST33) on SPI11
  arm64: dts: qcom: talos: Add PMU support
  arm64: dts: qcom: talos: switch to interrupt-cells 4 to add PPI partitions
  arm64: dts: qcom: ipq9574: Complete USB DWC3 wrapper interrupts
  arm64: dts: qcom: ipq5018: Correct USB DWC3 wrapper interrupts
  arm64: dts: qcom: monaco: Add CTCU and ETR nodes
  ...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-26 16:05:01 +01:00
Arnd Bergmann
2aced0be57 Qualcomm Arm32 DeviceTree updates for v6.20
Migrate the MSM8974 remoteproc power supplies to RPM provided
 power-domains, to match what is done on most other platforms.
 
 Give the LG Nexus 5 its more human friendly model name.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmluVn0ACgkQCx85Pw2Z
 rcUaUQ/+Murq/FagYIODDX7uz1Expmnwo+WV7yRUbwNC27u79YYx+jEa2M7D7dU1
 NzRWJVozK/o0jUBREjyO9zToDTL2pXBxx/E7ymlICVZA8TRH+M8gktxwbEJ3TnQc
 7BJ44sZK7d3ZtAKocFCaMfq2WSjEgS8R8CnULZ1gIyy9Z8Be/L3mMjxZycrgVjqj
 JGO1g5sKG3Nmi96sfYutCtEEj1D7ZpJTGye+5v3XEXjJ9qn5DeE+wYthb4GW1gL4
 RYjUuwNIdzwm3+Rjy+ThQbPNIWU+bgxlQZFFJdHxTtDx9tl6ex1rrvqUKGwZJb/K
 63z3Cj3Jk+oIgWTNhyCws037g5O+35+trjGJoYFl/T+cnXCijrAl5QnEs311HvBA
 mf8QXcod7DUpvUiYtKn5qFzZfUf603/u3dP+vvzb9GD/IvZOwfjkzcHs8AWJF5yB
 rSPaWY5bs/Cr5ryW6shO5UKp0Ad6YuDQ9gPweSFRc2CdmeYB3cA5uh0/D8D0Yj2W
 7PmIk6VHRCi/Za89FB6/6lwGzsrPlBA7I51mLcdeN0W2FHRu8NuDnpp1BbAOrvya
 SNZva+EN6W1nBIdfFnL28JoqVBN0rsIOmP+wihbDsjWMjwx5chTwo5buueV63QRg
 teY57KpA8WXqzEWlkAGGVrGdjMUWcgIZQQqWcFINe+aOnLPgmCw=
 =YBqC
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAml3gnEACgkQmmx57+YA
 GNkFqxAAujieZ00MAgjrJqMU1d8HfDIHLodWagTLuKL7168NOLS2++pl8a9vozMR
 CsZpyVvTlChR2uk7cd2GaEVj+wqGCAfI2+BybxXFF1F4B1BDjOxNd29UlOZyF5qQ
 qfj5+AFb16HrQv61He9rNUiesCPAn407ZZIzPk3QDBNnJUhYGjcONDnOjWy9/gp9
 u/c1MaSVnxyk+LvyZqilkxe8lLv36SADPMdlSuLAZoEEEExVQRHAnt0mAIcuCBOZ
 32JHYBWHpqMY/hyUfzXQ7gYNeLt0eJqe20VSyg6f6N/sTXHPgD1IaGdmlu8wx2e/
 5rn5bo4SNjic8HuPtfzShWrK4X52BYsjHa7WfeNsWFT7EGOqJ7XtcFHFKFl/Em6X
 8T5o8WricK7wPA/bSw6z8PZl0wd76iPp1XSw23x2VbrbDuU4F+4jeqOteZ7K+k4U
 hJYLfbwMjojh59HQv+cOwdv3wWlbbLNU77PZX71jVUh716qH4abAuAWCLGlpj2Kv
 6j5DWQfnzeUS9CFu7UJKHw83VBQ4col05OD6bxrh/1G8biH9bjEgQn1hgA/uKdF9
 oxLl2ID+RX8vcGpMmjearkDe2SP0nxl4N1FkcFpnIj2+d6+QlFnrH1gsQjDbx6PB
 Zy1ZwWiDzOQnIahZ59okoCSaMX0sn2nb6JefE70ka6cckSuewAo=
 =p877
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm32-for-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt

Qualcomm Arm32 DeviceTree updates for v6.20

Migrate the MSM8974 remoteproc power supplies to RPM provided
power-domains, to match what is done on most other platforms.

Give the LG Nexus 5 its more human friendly model name.

* tag 'qcom-arm32-for-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  ARM: dts: qcom: msm8974: Start using rpmpd for power domains
  ARM: dts: qcom: msm8974: Sort header includes alphabetically
  ARM: dts: qcom: msm8974-hammerhead: Update model property

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-26 16:04:08 +01:00
Arnd Bergmann
915ed61356 arm64: Xilinx DT changes for 6.20
- Cleanup SPI compatible strings
 - wwdt: Add optional power-domains property
 - ZynqMP: Fix OPP description and setup
 - ZynqMP: Remove OP-TEE node
 - Drop label from dlg,slg7xl45106
 - Remove ina260 IIO description
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQSXAixArPbWpRanWW+rB/7wTvUR9QUCaW3vYwAKCRCrB/7wTvUR
 9cNwAP95UZcFLZy16+LGWwO5/AgKqymtOvBaFWV906NRp68pzQD/fnyIFdqimSUG
 8xvnPkUSXtkWvWZ5/zz6Qdoc/RBzbA0=
 =mTyA
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAml3gigACgkQmmx57+YA
 GNn9oBAAiXCL9KaODGW2LMjQHCgrMQksckdWBeetMZa0E1/5vasaUJh+kPZ1B8Ng
 0/GWE2upDm22LYdGuWVYCWdBPOXaVsiX8GpBeBZyDKqG2mf2MzF5Tvg4EmQgHNrY
 hFbBTjfbJlfeQdIXaMo8PIE84eb7ZlUEeMfbZ4vIAYs+CvPH3DNKHc3wyAo7wQ/W
 wHPTo983c/zDO0YJfRFFqSknFXRI1w1dGC2rQqllkd7PxpQ7VwZs9oF55q4lmVpa
 jY7s5cJx7lhec5czVGq+STp/qIci0iGDSY0FmC9NUU7fsVTVtfsNSpIGJ2ahobLp
 MH1YvnKhjDwWesqFZxQ4DVm1mOQldLrZpwyNirnD1p5t0bWGVvbCb044pFb22Iih
 AUhenOaNNjXjN0v+Wj9ibgjbIKJB2wOjxLtipUzSyypQxqumLCBJqLE7i28hAlmd
 gpZQG7USQ3J0n0jh/boGxONj67QYEunaVBPps7pvgQeUrxjA7OK9kgLZrYKtrcuQ
 5/87eYBOfUTiu4U7R1XWxbf0SBpsJDhnh6TbRPUV0dR5Q8SCBe2MB8RDx7xb1ruY
 ksNUxROF3y+nFqfuDyv0MNb8dFzFsR2b1HiAbzraVBGdh1zEgkUUkrYFcXnT56sR
 qmy1i+hYyibtSyS+EbKg7C5pr7EHHopwHvDS1J9HENisJj6wDWE=
 =ikq7
 -----END PGP SIGNATURE-----

Merge tag 'zynqmp-dt-for-6.20' of https://github.com/Xilinx/linux-xlnx into soc/dt

arm64: Xilinx DT changes for 6.20

- Cleanup SPI compatible strings
- wwdt: Add optional power-domains property
- ZynqMP: Fix OPP description and setup
- ZynqMP: Remove OP-TEE node
- Drop label from dlg,slg7xl45106
- Remove ina260 IIO description

* tag 'zynqmp-dt-for-6.20' of https://github.com/Xilinx/linux-xlnx:
  arm64: zynqmp: Remove ina260 IIO description
  arm64: dts: xilinx: Drop "label" property on dlg,slg7xl45106
  Revert "arm64: zynqmp: Add an OP-TEE node to the device tree"
  arm64: dts: xilinx: fix zynqmp opp-table-cpu
  dt-bindings: watchdog: xlnx,versal-wwdt: Add optional power-domains property
  arm64: dts: xilinx: add soc-specific spi compatibles for zynqmp/versal-net

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-26 16:03:01 +01:00
Arnd Bergmann
3d46ce71a7 arm64: tegra: Changes for v6.20-rc1
This update improves Device Tree support for 64-bit Tegra platforms,
 specifically focusing on the Smaug board and the Tegra264 SoC. It
 enables full USB-C functionality on Smaug by adding role-switching
 support and enabling DisplayPort altmode. For Tegra264, it introduces
 nodes for Command Queue Virtualization (CMDQV) in the SMMU, adds the
 Data Backbone (DBB) clock for the memory controller, and corrects CPU
 compatible strings to match the Neoverse V3AE core. Additionally, it
 performs a cleanup by removing redundant status = "okay" properties
 across Tegra186, Tegra194, Tegra234, and Tegra264 files.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmlskkoACgkQ3SOs138+
 s6Hs7Q//fo3H7xm77b5gmYO2/+gMPF33J0D0xveF1X8S25+I5UgRYNqucHJatZ5Z
 e1CzTWxmM53Y1On+k06B9JOy8dnrT5F75U8h7MvfSY9ZiInJjoKhvDAlc64T6Dag
 U658zYGThWmQt3zmORFEANYb24YX+VnSuDQysrBqynTXPtBIr/jXnrQiPWBsMToe
 m1Uo2/QISRegFujlMGaKn6mvPrajFJr9xa3s+83LZV72Lhl7e3ESbba7Kf0wN76M
 vvtdt6vshc0IknH8SUWDmnyxg9B72TXrVvUkQ9GOdPN+FNdXvMWdMiR2iVWGAA9a
 EjnOiHFND8qgRqa19j8x95oyRzEicARqSTGW2bC3gAji5+hhCOmz0u5QkxTFYKKd
 HynJdOTt0p5QsZvyYACLsLVzY6Cx4w8Fc7+q7fq7IVxududHHAHQzLSXVhFT6xpt
 5llD4HN10Gizc/xFdL6cGvGQ3nbmh0OMbSCnl4nQfhXHjMLaSuIvDnYImiU5+tY9
 mkic1zSeoigF4FtIvnaQ4PjSsq/ypNQnE84I/aUMFBGzBdnyYnvsZHKZvfz7O/nB
 JZYYzsjxK4MaldOAlyQVlHbIhedJYwv+Fgpq8YZBLwghZMcnsQ1I5uBacEQjUA/5
 YN4BiDS12im3l3EmW4fqbo/aSS4PLa7Rkllr3966F4ObQmCtz6Q=
 =AQ07
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAml3ficACgkQmmx57+YA
 GNkzZQ//R5Vf1w4e5iy66snGQ24R/d/zx0lS7+avsbZY1dIfqYdu5mbIXGixv/sC
 WZ0g00vPF8QmIO+23DLPQIlfwI9Jzqu03KxlnoCxGjtfDz8k1ntJBTCT92+dgtrn
 FtgPjQf5CFhj+QP4WA5YysQch7Jbxg+PBKtp2YeYJW8UuY2leJJlojgGxNWE8Izu
 5z86Ceog8Uu9dKe7zVFoDJNyd8FDxg185OLVbHaOenhYTZKd4lsdpo6N4EDJu/j2
 QVmIXdi+kBvzW/RXwJFcEBybP2kQghVISbH0R5Oc+oyUNT/Z52e9HuYHW5b1Hlre
 NQT8ZJ5hHmM5i7izWSVIyC7cTPRh9VpABzfDQberx+ihWEeGdD6QaPd1UmHTs9Qq
 1qdEqmQL5zRCjY/rqL2uUQPN2TfTZvznizCpzUD44CiDQu/zoRV/6CdlZWRBKnDa
 Z+9iGtyNPzgNyVK96TJ7HZd1Gd8GxxfRJUCako5kHGOdHoft5UBngELvGSPKMwZN
 RHYNyFphCNmpMvfyL8ZhywyVViTpPYY9LyzKJTZOya5wuQeXjwGuvoszLuaLyHCw
 aexmDshstEUdf9j6VA/hQcD9lCi14dWQzMdjbNzZrqkVd5BoJDycdHwmqzZOTc/i
 Xl8rtySU61G8ZHstfTPpSwGrBK2r1PXBBK9xo8t4dKqODxh4IFw=
 =4UL9
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-6.20-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt

arm64: tegra: Changes for v6.20-rc1

This update improves Device Tree support for 64-bit Tegra platforms,
specifically focusing on the Smaug board and the Tegra264 SoC. It
enables full USB-C functionality on Smaug by adding role-switching
support and enabling DisplayPort altmode. For Tegra264, it introduces
nodes for Command Queue Virtualization (CMDQV) in the SMMU, adds the
Data Backbone (DBB) clock for the memory controller, and corrects CPU
compatible strings to match the Neoverse V3AE core. Additionally, it
performs a cleanup by removing redundant status = "okay" properties
across Tegra186, Tegra194, Tegra234, and Tegra264 files.

* tag 'tegra-for-6.20-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: tegra: smaug: Add usb-role-switch support
  arm64: tegra: smaug: Complete and enable tegra-udc node
  arm64: tegra: smaug: Enable DisplayPort via USB-C port
  arm64: tegra: Correct CPU compatibles on Tegra264
  arm64: tegra: Drop unneeded status=okay on Tegra264
  arm64: tegra: Drop unneeded status=okay on Tegra234
  arm64: tegra: Drop unneeded status=okay on Tegra194
  arm64: tegra: Drop unneeded status=okay on Tegra186
  arm64: tegra: Add nodes for CMDQV
  arm64: tegra: Add DBB clock to EMC on Tegra264

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-26 15:45:53 +01:00
Arnd Bergmann
50411c8d83 ARM: tegra: Device tree changes for v6.20-rc1
This update corrects the DSI Device Tree nodes for Tegra20 and Tegra30
 by adding missing properties (nvidia,mipi-calibrate and cell
 definitions) to ensure proper MIPI calibration support.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmlskPEACgkQ3SOs138+
 s6EtaQ//U6NflsKO17n7/MuhqQpEQ+I15HV1ZAZMzVkvx5ETYyaTJVOpntnkl90G
 YlBHTtWQLWDb8M2sshZTO1Lla5FRcOdBkb8mMGtqYF0Javj9TI0aTgNgrDiXsaS+
 8HvTkUX74icRLVLJ7BrjI1iMektg9g0kUxDihYyR2xmguM1L/Ruq213Pf/qElW/w
 WRUBxCt9c8rrg50WwMEsetMRugBk+A5Sy59XHB4ahWQUj8++muJKOKUkYejSPL7r
 MMdyl1fZiOrPCNreJ/5XCYfIELP3EGLDiimJwXCcLLthsEXyn2HHH+orwkP0LryZ
 1GXPV0oBoizVZj7OkPumHkDeBXZjURY6LZxLtbGQnVRMPEq2emvy8iycLWK46Ccz
 qtCKNn28wGts5Yg1xWrO0XstWz/8jvdbLMLD0cv0KJPlJ6CtTy+1M02OEHc4jSKx
 lpsiAIxXg4FdpHXN6xPGcoj26qVVgfGKTbveVirFnlsDmbCvXiiogIv+edpnKo4m
 XXGtpVf28fdkFiV0Q4M922GuuhbYw+wG79aYF2s6Ahj6rKl72/9pyAdGAz12fS4q
 s0JFVyaGwwes5CqvM1iYhKYQscIlIOnyGqz2ZVmd3D4RfeJyGXJNgt59hCZufg/w
 A2a1Jl7fT7DjCLDN9puXik5IPMfG+Mc2mzzlsrKPZ+G+ma8vQUk=
 =nCc/
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAml3ffMACgkQmmx57+YA
 GNkfxg//cUO8UvtZuZEg+8Yy56Kb3rx2bI3S8jU4KayDDPI4RgFrorHT2NWYBRNx
 SfKEZn5E2zm6GoTtPMuSPgn/x68bZdSs1Gus1zlsBXkOk9GkbAkok45LqYLmqUZO
 JnIsA9GPaSRNmTHF5czBpWtXm710mXamC8H8mnpSkq5dZpeTy1dWCNBeccOn5czs
 eskwgZzt+iIDZd2ncLb64BKGJ5rvslL62IkwZQkzZ8+1xXzOw6Lz1LEi8IEHh5Xd
 vXyMkrK+zOzwA/YAa+/RyPvR68B4yE/JLRaQD85VmTJoUqwdpeepF56eREEALg/M
 CkH3ZiLpPlX57AMyErphq9GszKL4pk1Wx0BW4BaiMMeaSxrbWPYnIUDzefn62phr
 l8QSRk2RxNuJ3fNEF498sSG/cVLf+2k7REnZ5a0c/I/dFyDkVQdK4hBaEzbj/zSY
 wORdW6DcExdRJKBSfyHk+Y7TcwpyyZRQrPrEuAXWAJ/JmwX6D5IpNBC3TtpyB03/
 nx+vP3XhycpEux2oyb3NBcLmPJUvmPIZfg37obzpPKSOkWPdH79SKONj+XHSCMNx
 YmEBs4qwUzWf5AN97qGD/jrvJ689/STHxRecsDdpRTpoOA4xM9bcZZ/v17TsrDaq
 B88sHIqo6gWdku4lrYrLXHvwICBlY+7QgGCD/WxpPs6HuxHeUoI=
 =q6HO
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-6.20-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt

ARM: tegra: Device tree changes for v6.20-rc1

This update corrects the DSI Device Tree nodes for Tegra20 and Tegra30
by adding missing properties (nvidia,mipi-calibrate and cell
definitions) to ensure proper MIPI calibration support.

* tag 'tegra-for-6.20-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: tegra: Adjust DSI nodes for Tegra20/Tegra30

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-26 15:45:05 +01:00
Jonas Ringeis
662c9cb86f
platform/x86: lg-laptop: Recognize 2022-2025 models
The lg-laptop driver uses the DMI to identify the product year.
Currently, the driver recognizes all models released after 2022
incorrectly as 2022.

Update logic to handle model identifiers for years 2022-2025.

Link: https://en.wikipedia.org/w/index.php?title=LG_Gram&oldid=1327931565#Comparison_of_Gram_models
Signed-off-by: Jonas Ringeis <private@glitchdev.me>
Link: https://patch.msgid.link/20260123225503.493467-1-private@glitchdev.me
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2026-01-26 16:44:40 +02:00
Rob Herring (Arm)
d5e22ed44b
ARM: dts: samsung: Drop s3c6400.dtsi
This .dtsi file is not included anywhere in the tree and can't be
tested.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20251212203226.458694-7-robh@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20260117182257.14799-2-krzk@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-26 15:44:08 +01:00
Krzysztof Kozlowski
aeec6d68b6
ARM: dts: nuvoton: Minor whitespace cleanup
The DTS code coding style expects exactly one space around '='
character.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20250819131725.86770-3-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20260117182117.14483-4-krzk@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-26 15:43:52 +01:00
gongqi
2b4e00d8e7
platform/x86/amd/pmc: Add quirk for MECHREVO Wujie 15X Pro
The MECHREVO Wujie 15X Pro suffers from spurious IRQ issues related to
the AMD PMC. Add it to the quirk list to use the spurious_8042 fix.

Signed-off-by: gongqi <550230171hxy@gmail.com>
Link: https://patch.msgid.link/20260122155501.376199-4-550230171hxy@gmail.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2026-01-26 16:43:51 +02:00
Arnd Bergmann
896cc203af Samsung DTS ARM64 changes for v6.20
1. ExynosAutov920:
  - Add MFD clock controller node.
 
 2. Google GS101:
  - Add True Random Number Generator (TRNG) and OTP nvmem nodes.
  - Correct the PMU (Power Management Unit) compatibles by dropping
    fallback to syscon.  The PMU on Samsung devices serves the role of
    syscon, however on GS101 it cannot be used via standard Linux syscon
    interface, because register accesses require custom regmap.  It was
    simply never correctly working with "syscon" compatible fallback.
  - Add phandles to System Registers SYSREG blocks in clock controllers,
    necessary for enabling automatic clock control later.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmlrzm8QHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD13BJD/4s3Q75bedb7izJ3kvBYTE4Rj1WnfDokx0u
 E8STJ5p6FrEB2AKxLSRJTW4/Ih0Bp52G+sBUMetKzUlEznXaJ9c8TdJ9hPRDUYh7
 at9R2wpyyWWFOXLIAuNp0nohxUuCiNrJssZZZTsJzV1yFodCG3aPYn38/oNrKVTx
 Uhl9zBxTtdGclpPi/npue34oEQRv824AXlu1DSjBbEJfuDYxX5uijcs8T97l2Dtj
 rb6Mm2cjTvvU1pTR9sCzGrBxtHP92kl/72w8iSgfvi6OsXqvcHLDdNdhJYvAjdnl
 eQNFe0XSFUZDT7pLv+gW/5PEGrO3J6sTKCk5xkic4yQczVr/pqdnxajSGvodOmQu
 AQB5EcDwExFGhttiXUEAyG85MVOsLJv+i6sU+2VLQVDOc7+DCMidP0DMgfPh/B/S
 dRb0dCTBKWGSnUL1iAnWLVUjxkmnbecA1EcE8/AxG++vn2bXo9t+w1J9LYcwkebU
 lrZHj9DjJLvzg6ejBUbwMotzK+c1hYH9WqYGZOcdsw7jPd7ULEaJs1ycO0Oreny4
 t8oae9wF85eD4aCZ9KLRnp3l9v2w/cIWzvOLwcqaIsANiVvTy2i3pxLyfkvwgQ2g
 +gjms9FTH2IoJ36Y0+RmBklYABOodZiYF+e8eEoioo7xOS6FhMaYQRCcyfMgb9n2
 gACUifUGAQ==
 =xVlA
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAml3fXEACgkQmmx57+YA
 GNlNdRAAvxo6wZ1vv1UsVUbGhZ3TmSlYEkYYBo73GMVzkaXRm7HyPA5zo5I+yJRJ
 QtH5SPYqgdzfeZGMjnMFGG/IIO4ZB4g7SEWHMFROdz1IIzjTzv5ZBt1rK2tvj7Ok
 9gQKWwOnjDPxIcXRHDFcMwAF1WXPvOqTlGbTWBz5PoYcsU6II47ifbLqvautAn24
 S74tBfjGukn5kodrtytJOyZt/Vc7NjR6oAXSQ+M7c+Yff4UbHWxRSSHwfGPVFBVB
 vdkfg0rY3tzdLs1PUWWgC8T9O/xhILeCnxhnlbgo7u0a+3CnAdQcbfWhmSPPNYzT
 +xX/bo6f+FzBPTVeK08QGAvVPH+dHWxk0aktABjS3Hpk6/fOwpCum1oJUECF2SiM
 43huYrJZCGLHW12CmEEAKg52rghkqPJkevn+lBXnF5l862/VSeQ/LZUuHIXKK6a1
 2xqJqnbzvlHqdjdTrCFC/v9xyQvwJXZt3BH6I8l1oN1ppunZb7jCAlESMGDYjhVZ
 NBYsU21eeYCG07+QtvDZ4TSipmtq6RQsvW7fDuvQKSSiNMOOTs6iP5VH0RC48al1
 rLUKwiPmYvFSlFBEwt2AIVECtHA73W4MQJgp4s6gwpS2XDYsHTi8NiUx9LbTha7s
 kuqrCuwRcY0IQs7dwdDYAggkeQBsYsTWhZi+SGfeHyNlb2y3ur0=
 =pNN2
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt64-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/dt

Samsung DTS ARM64 changes for v6.20

1. ExynosAutov920:
 - Add MFD clock controller node.

2. Google GS101:
 - Add True Random Number Generator (TRNG) and OTP nvmem nodes.
 - Correct the PMU (Power Management Unit) compatibles by dropping
   fallback to syscon.  The PMU on Samsung devices serves the role of
   syscon, however on GS101 it cannot be used via standard Linux syscon
   interface, because register accesses require custom regmap.  It was
   simply never correctly working with "syscon" compatible fallback.
 - Add phandles to System Registers SYSREG blocks in clock controllers,
   necessary for enabling automatic clock control later.

* tag 'samsung-dt64-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  arm64: dts: exynos: gs101: add OTP node
  arm64: dts: exynos: gs101: add samsung,sysreg property to CMU nodes
  arm64: dts: exynosautov920: add CMU_MFD clock DT nodes
  arm64: dts: exynos: gs101: remove syscon compatible from pmu node
  dt-bindings: soc: samsung: exynos-pmu: remove syscon for google,gs101-pmu
  arm64: dts: exynos: gs101: add TRNG node
  dt-bindings: rng: add google,gs101-trng compatible

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-26 15:42:53 +01:00
Kaushlendra Kumar
39e9c376ac
platform/x86: intel_telemetry: Fix PSS event register mask
The PSS telemetry info parsing incorrectly applies
TELEM_INFO_SRAMEVTS_MASK when extracting event register
count from firmware response. This reads bits 15-8 instead
of the correct bits 7-0, causing misdetection of hardware
capabilities.

The IOSS path correctly uses TELEM_INFO_NENABLES_MASK for
register count. Apply the same mask to PSS parsing for
consistency.

Fixes: 9d16b482b0 ("platform:x86: Add Intel telemetry platform driver")
Signed-off-by: Kaushlendra Kumar <kaushlendra.kumar@intel.com>
Link: https://patch.msgid.link/20251224061144.3925519-1-kaushlendra.kumar@intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2026-01-26 16:42:43 +02:00
Kaushlendra Kumar
25e9e322d2
platform/x86: intel_telemetry: Fix swapped arrays in PSS output
The LTR blocking statistics and wakeup event counters are incorrectly
cross-referenced during debugfs output rendering. The code populates
pss_ltr_blkd[] with LTR blocking data and pss_s0ix_wakeup[] with wakeup
data, but the display loops reference the wrong arrays.

This causes the "LTR Blocking Status" section to print wakeup events
and the "Wakes Status" section to print LTR blockers, misleading power
management analysis and S0ix residency debugging.

Fix by aligning array usage with the intended output section labels.

Fixes: 87bee29099 ("platform:x86: Add Intel Telemetry Debugfs interfaces")
Cc: stable@vger.kernel.org
Signed-off-by: Kaushlendra Kumar <kaushlendra.kumar@intel.com>
Link: https://patch.msgid.link/20251224032053.3915900-1-kaushlendra.kumar@intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2026-01-26 16:42:25 +02:00
David E. Box
98bdc485b2
platform/x86/intel/vsec: Add Nova Lake PUNIT support
Add PCI ID for Nova Lake, supporting PUNIT telemetry.

Signed-off-by: David E. Box <david.e.box@linux.intel.com>
Link: https://patch.msgid.link/20260122022110.3231344-1-david.e.box@linux.intel.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2026-01-26 16:42:02 +02:00
Arnd Bergmann
6b82510294 Minor improvements in ARM64 DTS for v6.20
Several minor cleanups for Nuvoton, LG, Spreadtrum, Toshiba, Cavium, ARM
 and APM SoCs:
 
 1. Switch to recommended node names by fixing style
    (s/lowercase/hyphen/), using generic naming and adhering to DT
    bindings.
 
 2. Use consistent whitespaces around.
 
 3. Add missing properties like UART clocks (Cavium Thunder 88xx) or
    "reg" (APM).
 
 4. Drop incorrect or long time deprecated propeties.
 
 5. Correct clock cells to 0 for fixed-factor-clock clocks.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmlr0roQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1wd4D/0UV4Fo/gd/NGbC4iTgQeGKnYfFGsF3Vqsp
 TQ92deruSVhN4C1Oudu80LW/Dvtdnemwj/XyLZJ6s2IzZOQ+D0eyJu8IEBHCYelc
 +H3IUDq3MsuFaiP+0XXUrH233MOUYCpzxjPlD+JDw5rcp/u24R9Xxl79rWBmU2my
 beWtllFRkBY5aaPfDZzApLpVHweXb0jp0/1Syhjw1QB/1fITKj5gwghMCxw9IfWG
 N/1Z/C38xeYPZpGGb4f319a55P6mGeUgnt5sM6BFE/jyWBI6sl3wg+ZQG7hRZike
 1kkww/c+dqLJV7nT41RKFlez+ET9to2Ll4Di98T4/Agt44Jp13AUWI0f2cnPUoVt
 T1vEmLRuCLbUVqGPsVWEoqBw/QFuL/Cg0A33UKxF7Wo6iGKPKq8GhWcnPdUSy8PE
 1P03S+UXsiwUpLOUeNfyOXi/Yg9DDFYwpClWruywsJtKk65gU6eJoDJulGDoF9w3
 8lKA4lDWdCyuhhOaSkerYzDBQhsEUxhgxUDB+42ZAV+W71iL9ilTOLn3y/POS5a9
 469Z1a4bztlAaL2OSzAt3vKT5cBvN+ImuqAa9By0S/l0otJT8lT5Mw2mQmlfCiDa
 pjpXp0oWejpCloz8Zw2DGqeQoXKpNpZIiCtm546MzMFJxbqzZ4kW7csvoZHANCSV
 LwCbdc3sdg==
 =S1JL
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAml3fOYACgkQmmx57+YA
 GNnjgRAAmCk7jUttCUglZXWOKfXkunrfzkoSxCahG0E2TlENEu1sBJRCKNU0RCKe
 y4sFSIDhGJDfZK7CHUDsiC403nCBAjGiKg+6FRnDKj60UgB3/cVmeoI/cR2l6pAU
 goTJReQm8bg2FBeFFULQykVwPRtHRVlugmOIPBi0FX1VaOLzgmP8T1AWI3sFWu2g
 qdhSByEHr7pzPtoB4C+4c7EsG5JEsVgOqGNOgpZ6wsmAwbqeoiNe2OOyYGP51Aaa
 JaAK7C87D2s37I6eQhv2kmLEbij/8IpRiM5booU/l6JA3R7wJNbfWUs3cQ3eDbK9
 TmcbtO2K+onPqd0xw1Ds2qByC1FVNv0nC27mmj8u4ldErJeylZrU2Vm1vtEgh9nC
 1RGU5eSGwduWmz0dr+lr+wTHos3r8uKLrldZH6aOBNYY+HdhgnyL1r+dqEHx1o9P
 Kwe9ADXWVy5UgWXuCCsY6dJ9/aEmBdrU8Wgn5dpwN620ypxgqlDsjCjQ3Yn39E+1
 2Fb8/cCjD7BmIP7lgfIyNDOCjoVUBlYQocCVOC5yiDTgeedSFPLHRVtxTQtfCgeD
 A18P0WJZy3C9GB6uQeA8cfY8Clh9tGjWs2XkToRw6vSCTEsRwoX40Sm5oL7eOgWw
 LJ+ZMMjsyFOoZy77X4xsi7Js/0okDIZ5quVSoCyI7Jr1saoJ4lk=
 =91V0
 -----END PGP SIGNATURE-----

Merge tag 'dt64-cleanup-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt into soc/dt

Minor improvements in ARM64 DTS for v6.20

Several minor cleanups for Nuvoton, LG, Spreadtrum, Toshiba, Cavium, ARM
and APM SoCs:

1. Switch to recommended node names by fixing style
   (s/lowercase/hyphen/), using generic naming and adhering to DT
   bindings.

2. Use consistent whitespaces around.

3. Add missing properties like UART clocks (Cavium Thunder 88xx) or
   "reg" (APM).

4. Drop incorrect or long time deprecated propeties.

5. Correct clock cells to 0 for fixed-factor-clock clocks.

* tag 'dt64-cleanup-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt:
  arm64: dts: apm: Drop "dma" device_type
  arm64: dts: apm: Add "reg" to "syscon-reboot" and "syscon-poweroff"
  arm64: dts: apm: Use recommended i2c node names
  arm64: dts: apm/shadowcat: More clock clean-ups
  ARM: dts: vexpress/v2m-rs1: Use documented arm,vexpress,config-bus child node names
  arm64: dts: cavium: Drop thunder2
  arm64: dts: cavium: thunder-88xx: Add missing PL011 "uartclk"
  arm64: dts: toshiba: Use recommended node names
  arm64: dts: sprd: Use recommended node names
  arm64: dts: lg: Use recommended simple-bus node name
  arm64: dts: nuvoton: npcm845: Minor whitespace cleanup
  arm64: dts: toshiba: tmpv7708: Align node names with DT bindings

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-26 15:40:34 +01:00
Rafael J. Wysocki
1284974567
platform/x86: toshiba_haps: Fix memory leaks in add/remove routines
toshiba_haps_add() leaks the haps object allocated by it if it returns
an error after allocating that object successfully.

toshiba_haps_remove() does not free the object pointed to by
toshiba_haps before clearing that pointer, so it becomes unreachable
allocated memory.

Address these memory leaks by using devm_kzalloc() for allocating
the memory in question.

Fixes: 23d0ba0c90 ("platform/x86: Toshiba HDD Active Protection Sensor")
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2026-01-26 16:38:45 +02:00
Rafael J. Wysocki
43b0b7eff4
platform/x86: panasonic-laptop: Fix sysfs group leak in error path
The acpi_pcc_hotkey_add() error path leaks sysfs group pcc_attr_group
if platform_device_register_simple() fails for the "panasonic" platform
device.

Address this by making it call sysfs_remove_group() in that case for
the group in question.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/3398370.44csPzL39Z@rafael.j.wysocki
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2026-01-26 16:38:04 +02:00
Arnd Bergmann
ab8292d702 Renesas DTS updates for v6.20 (take two)
- Add cpufreq, thermal, GPIO IRQ, and CAN-FD support for the RZ/T2H
     and RZ/N2H SoCs and their EVK boards,
   - Add more serial (RSCI) and CAN-FD support for the RZ/V2H and RZ/V2N
     SoCs,
   - Drop unused .dtsi files,
   - Add I3C support for the RZ/G3E SMARC SoM,
   - Add GPIO support for the RZ/N1 SoC,
   - Miscellaneous fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCaWoS+gAKCRCKwlD9ZEnx
 cPb7AP9hzYt83RFKg91S8JsTLK8wMdoVY6aphjXOZaedN/g4nQEAjHOh7pdCcfSe
 DF7v81n5R2cvK1sqQKuENKXcOtqyrg4=
 =yeu4
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAml3e/AACgkQmmx57+YA
 GNlhfQ/+J8wjGAgimcwABVW7uHZkKQEjf93UVbq8qGCh3g75lkl0n4K40xyht6Ha
 iqqJ2GEeRZFRGoHMZr4MRglBUCpM6Ysevl8BaBPg/Tqgyzq7kF2eyv/G/2RDTgxx
 ydAUCFWmGIOOvwyR26Yn8eqVf3gI35eQa0vQYrqZUsm0smTW3xc0FNZPrGD4OHbd
 vCddBle9gQpwDTXPImcNDJToKdf0MsU/0liXfCxk7KzTt8nzBYTnUwUVGgIgHEtV
 gF5vyqqrD2ToviVJls7wLpBKMrN/HodWLEBhi2utyO+SEaTMgHMSO279AhF2wk7V
 ZWnTAL8s0blwXqI4Rk0EcnDxA/Oyv71gXeAkxkEU4rWGBU9vhbx30b2le+5dmL5K
 /tPl2C2vZmjVpfcmBROsiRXPXI+rG+x1UX7VK0L0gWrtTkht5Ap2cM9oeWSJE8iZ
 x1chMtHyUcOL+ben4pkvNF/Gu0RkUIwzoKcioZDY1cYQkL/ikQYadaHB7HrUBckP
 6WYxWuAsiqBo3NvsQe13L6hVkFbCN+2m8nQC4AmKTEqFF/n1Iw2NsJf3Neql5zp+
 JnJzJ0Oj3wrTElm+ths5UPYJao3ffzMi9GMdXGcgNro0ELSNz11U5fWLUZ10zx7p
 M92rBoxMs3vFf/TjgRHaqbMsyVMY6rRgdRpP2ijcw0d6gLNFQBo=
 =BokW
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dts-for-v6.20-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/dt

Renesas DTS updates for v6.20 (take two)

  - Add cpufreq, thermal, GPIO IRQ, and CAN-FD support for the RZ/T2H
    and RZ/N2H SoCs and their EVK boards,
  - Add more serial (RSCI) and CAN-FD support for the RZ/V2H and RZ/V2N
    SoCs,
  - Drop unused .dtsi files,
  - Add I3C support for the RZ/G3E SMARC SoM,
  - Add GPIO support for the RZ/N1 SoC,
  - Miscellaneous fixes and improvements.

* tag 'renesas-dts-for-v6.20-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: (27 commits)
  arm64: dts: renesas: rzt2h-rzn2h-evk: Reorder ADC nodes
  ARM: dts: r9a06g032: Add support for GPIO interrupts
  ARM: dts: r9a06g032: Add GPIO controllers
  arm64: dts: renesas: rzg3e-smarc-som: Enable I3C support
  arm64: dts: renesas: Use lowercase hex
  arm64: dts: renesas: Use hyphens in node names
  arm/arm64: dts: renesas: Drop unused .dtsi
  arm64: dts: renesas: rzt2h-n2h-evk-common: Use GPIO for SD0 write protect
  arm64: dts: renesas: r9a09g057: Add CANFD node
  arm64: dts: renesas: r9a09g056: Add CANFD node
  arm64: dts: renesas: r9a09g087m44-rzn2h-evk: Enable CANFD
  arm64: dts: renesas: r9a09g077m44-rzt2h-evk: Enable CANFD
  arm64: dts: renesas: r9a09g087: Add CANFD node
  arm64: dts: renesas: r9a09g077: Add CANFD node
  arm64: dts: renesas: r9a09g057: Add RSCI nodes
  arm64: dts: renesas: r9a09g056: Add RSCI nodes
  arm64: dts: renesas: r9a09g087m44-rzn2h-evk: Add GPIO keys
  arm64: dts: renesas: r9a09g077m44-rzt2h-evk: Add GPIO keys
  arm64: dts: renesas: r9a09g087: Add GPIO IRQ support
  arm64: dts: renesas: r9a09g077: Add GPIO IRQ support
  ...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-26 15:36:28 +01:00
Mikulas Patocka
2df8b310bc dm: use bio_clone_blkg_association
The origin bio carries blk-cgroup information which could be set from
foreground(task_css(css) - wbc->wb->blkcg_css), so the blkcg won't
control buffer io since commit ca522482e3 ("dm: pass NULL bdev to
bio_alloc_clone"). The synchronous io is still under control by blkcg,
because 'bio->bi_blkg' is set by io submitting task which has been added
into 'cgroup.procs'.

Fix it by using bio_clone_blkg_association when submitting a cloned bio.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=220985
Fixes: ca522482e3 ("dm: pass NULL bdev to bio_alloc_clone")
Reported-by: Zhihao Cheng <chengzhihao1@huawei.com>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Tested-by: Zhihao Cheng <chengzhihao1@huawei.com>
2026-01-26 15:36:22 +01:00
Arnd Bergmann
6e646eac67 Renesas DT binding updates for v6.20
- Document the RZ/N1 GPIO Interrupt Multiplexer.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCaWoQtgAKCRCKwlD9ZEnx
 cNeiAQD9BmBxTW5FqrhklX3Zx8O6CiuHhJxg0vlUHr7JNrMGEQEAph8mKUoPOkaM
 ekokEybs/qNHDoIVthduybkNLNZyygk=
 =vKZ+
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAml3e1UACgkQmmx57+YA
 GNk9VxAAhPx/srKH9D9EZkz2f2kGFZAVBlBkyCa4s7F4TNMIVL2fZtxXKthK430H
 kayjtDF1ZPvthHxh1yIFRwdtuvC4FaTC7EkMEwRYVI9ECIJHuUXPrn0j8NpT/BCh
 FPaFEWHtQuxMFNAvLlPnWTaKr3niSK7G76RXxhhT1c42kqlruXtZZhYLAw2QoYeE
 YqhWq9TzeSdIC8erxxjqsWDGsHChxjQSv1qQleAr5ahX3pA41nfE/VTPJIEhBHcU
 Cqr06hsn++GZl0U4uq4S6S5+x8hEzjN3Wp54tA4in2VuUf1px+SMkB9qpnAap8LA
 TQTL6OIqCHtAnDjXSW45qiGxZPdjnSnjCNZykQPDb3wx2W65FCaNIrlF5iVdspXm
 3NNQcoEQTOGx63PlC7f6lgaMi+q/SI69qjiRN3wN0p4xLqDEmVWMvouet1BkJvxV
 RpDgiVr9wRw67RVfv6w4svlzMDRZE2gXDDJRdXDVCpQ4sCaqRcJtnDsJi6rDXW07
 hiqxj2vAZqlCs+atABz3V36eQIy+HOVxeEUC70hM43MW0zjw0Ek735TxnSWRrNxe
 f0ybFlzIqJGB8GV16JVcem9fMDUO9pOftQSKYimTAXUe9lApY2qWrtZ3dm9vVVVy
 7JcR4VhmV+XMBdu8yJjN98NagpT2aoX++d1SZ59ndJExMIoJ5uQ=
 =l5/c
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dt-bindings-for-v6.20-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/dt

Renesas DT binding updates for v6.20

  - Document the RZ/N1 GPIO Interrupt Multiplexer.

* tag 'renesas-dt-bindings-for-v6.20-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  dt-bindings: soc: renesas: Document RZ/N1 GPIO Interrupt Multiplexer

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-26 15:33:50 +01:00
I-Hsin Cheng
3c58f03e80 kselftest/arm64: Add missing file in .gitignore
The binary generated by check_hugetlb_options is missing in .gitignore
under the directory. Add it into the file so it won't be logged into
version control.

Signed-off-by: I-Hsin Cheng <richard120310@gmail.com>
Signed-off-by: Will Deacon <will@kernel.org>
2026-01-26 14:29:06 +00:00
Sean Christopherson
1dc6432059 KVM: nVMX: Remove explicit filtering of GUEST_INTR_STATUS from shadow VMCS fields
Drop KVM's filtering of GUEST_INTR_STATUS when generating the shadow VMCS
bitmap now that KVM drops GUEST_INTR_STATUS from the set of supported
vmcs12 fields if the field isn't supported by hardware, and initialization
of the shadow VMCS fields omits unsupported vmcs12 fields.

Note, there is technically a small functional change here, as the vmcs12
filtering only requires support for Virtual Interrupt Delivery, whereas
the shadow VMCS code being removed required "full" APICv support, i.e.
required Virtual Interrupt Delivery *and* APIC Register Virtualizaton *and*
Posted Interrupt support.

Opportunistically tweak the comment to more precisely explain why the
PML and VMX preemption timer fields need to be explicitly checked.

Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Link: https://patch.msgid.link/20260115173427.716021-5-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
2026-01-26 06:23:56 -08:00
Sean Christopherson
5fdf86e735 KVM: nVMX: Disallow access to vmcs12 fields that aren't supported by "hardware"
Disallow access (VMREAD/VMWRITE), both emulated and via a shadow VMCS, to
VMCS fields that the loaded incarnation of KVM doesn't support, e.g. due
to lack of hardware support, as a middle ground between allowing access to
any vmcs12 field defined by KVM (current behavior) and gating access based
on the userspace-defined vCPU model (the most functionally correct, but
very costly, implementation).

Disallowing access to unsupported fields helps a tiny bit in terms of
closing the virtualization hole (see below), but the main motivation is to
avoid having to weed out unsupported fields when synchronizing between
vmcs12 and a shadow VMCS.  Because shadow VMCS accesses are done via
VMREAD and VMWRITE, KVM _must_ filter out unsupported fields (or eat
VMREAD/VMWRITE failures), and filtering out just shadow VMCS fields is
about the same amount of effort, and arguably much more confusing.

As a bonus, this also fixes a KVM-Unit-Test failure bug when running on
_hardware_ without support for TSC Scaling, which fails with the same
signature as the bug fixed by commit ba1f82456b ("KVM: nVMX: Dynamically
compute max VMCS index for vmcs12"):

  FAIL: VMX_VMCS_ENUM.MAX_INDEX expected: 19, actual: 17

Dynamically computing the max VMCS index only resolved the issue where KVM
was hardcoding max index, but for CPUs with TSC Scaling, that was "good
enough".

Reviewed-by: Chao Gao <chao.gao@intel.com>
Reviewed-by: Xin Li <xin@zytor.com>
Cc: Xiaoyao Li <xiaoyao.li@intel.com>
Cc: Yosry Ahmed <yosry.ahmed@linux.dev>
Link: https://lore.kernel.org/all/20251026201911.505204-22-xin@zytor.com
Link: https://lore.kernel.org/all/YR2Tf9WPNEzrE7Xg@google.com
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Link: https://patch.msgid.link/20260115173427.716021-4-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
2026-01-26 06:23:51 -08:00
Armin Wolf
5d4ae0bffb
platform/wmi: string-kunit: Add missing oversized string test case
When compiling the WMI string kunit tests using llvm, the compiler
will issue a warning about "oversized_test_utf8_string" being unused.
This happens because the test case that was supposed to use said
variable was accidentally omitted when adding the kunit tests.

Fix this by adding the aforementioned test case.

Fixes: 0e1a8143e7 ("platform/wmi: Add kunit test for the string conversion code")
Reported-by: Nathan Chancellor <nathan@kernel.org>
Closes: https://lore.kernel.org/platform-driver-x86/20260122234521.GA413183@ax162/
Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Link: https://patch.msgid.link/20260123211537.4448-1-W_Armin@gmx.de
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2026-01-26 16:03:18 +02:00
Alexey Zagorodnikov
8164a14b15
platform/x86/amd/pmf: Added a module parameter to disable the Smart PC function
Addresses a low power limits issue on HP ZBook Ultra G1a.

If vendor firmware capped APU power limits with 3rd-party AC adapters,
the user can disable the Smart PC function via the module parameter

Link: https://gitlab.freedesktop.org/drm/amd/-/issues/4868 [1]
Signed-off-by: Alexey Zagorodnikov <xglooom@gmail.com>
Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>
Link: https://patch.msgid.link/20260121143519.12318-1-xglooom@gmail.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2026-01-26 16:00:19 +02:00
Nitin Gote
ca8dcfedac drm/xe: derive mem copy capability from graphics version
Drop .has_mem_copy_instr from the platform descriptors and set it
in xe_info_init() after handle_gmdid() populates graphics_verx100.
Centralizing the GRAPHICS_VER(xe) >= 20 check keeps MEM_COPY enabled
on Xe2+ and removes redundant per-platform plumbing.

Bspec: 57561

Fixes: 1e12dbae9d ("drm/xe/migrate: support MEM_COPY instruction")
Cc: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Suggested-by: Matthew Auld <matthew.auld@intel.com>
Signed-off-by: Nitin Gote <nitin.r.gote@intel.com>
Link: https://patch.msgid.link/20260120054724.1982608-2-nitin.r.gote@intel.com
Signed-off-by: Tejas Upadhyay <tejas.upadhyay@intel.com>
(cherry picked from commit 6ef02656c3)
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
2026-01-26 14:57:16 +01:00
Werner Sembach
7c9aa38a59
platform/x86/uniwill: Implement cTGP setting
Uniwill offers user setable cTGP for their EC on devices using NVIDIA 3000
Series and newer GPUs. This patch implements this setting as a sysfs
attribute.

For one device, the TUXEDO InfinityBook Gen7, the variant with and without
NVIDIA GPU can't be differentiated using only the DMI strings, so the new
probe callback needs to be used to test a bit from the EC memory.

Co-developed-by: Armin Wolf <W_Armin@gmx.de>
Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
Reviewed-by: Armin Wolf <W_Armin@gmx.de>
Link: https://patch.msgid.link/20260115154332.402873-2-wse@tuxedocomputers.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2026-01-26 15:55:48 +02:00
Armin Wolf
d8c560f76d
platform/x86: uniwill-laptop: Introduce device descriptor system
Future additions to the driver will depend on device-specific
initialization steps. Extend the DMI-based feature detection system
to include device descriptors. Each descriptor contains a bitmap of
supported features and a set of callback for performing
device-specific initialization.

Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Co-developed-by: Werner Sembach <wse@tuxedocomputers.com>
Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
Reviewed-by: Armin Wolf <W_Armin@gmx.de>
Link: https://patch.msgid.link/20260115154332.402873-1-wse@tuxedocomputers.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2026-01-26 15:55:46 +02:00
Tvrtko Ursulin
051be49133 drm/xe/xelp: Fix Wa_18022495364
It looks I mistyped CS_DEBUG_MODE2 as CS_DEBUG_MODE1 when adding the
workaround. Fix it.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Fixes: ca33cd271e ("drm/xe/xelp: Add Wa_18022495364")
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: <stable@vger.kernel.org> # v6.18+
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Link: https://patch.msgid.link/20260116095040.49335-1-tvrtko.ursulin@igalia.com
(cherry picked from commit 7fe6cae2f7)
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
2026-01-26 14:50:38 +01:00
Shuicheng Lin
c73a8917b3 drm/xe: Skip address copy for sync-only execs
For parallel exec queues, xe_exec_ioctl() copied the batch buffer address
array from userspace without checking num_batch_buffer.
If user creates a sync-only exec that doesn't use the address field, the
exec will fail with -EFAULT.
Add num_batch_buffer check to skip the copy, and the exec could be executed
successfully.

Here is the sync-only exec:
struct drm_xe_exec exec = {
    .extensions = 0,
    .exec_queue_id = qid,
    .num_syncs = 1,
    .syncs = (uintptr_t)&sync,
    .address = 0,            /* ignored for sync-only */
    .num_batch_buffer = 0,   /* sync-only */
};

Fixes: dd08ebf6c3 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
Cc: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Link: https://patch.msgid.link/20260122214053.3189366-2-shuicheng.lin@intel.com
(cherry picked from commit 4761791c1e)
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
2026-01-26 14:50:32 +01:00
Zilin Guan
2ee832305a
platform/x86/amd: Use scope-based cleanup for wbrf_record()
Simplify resource management in wbrf_record() by using the scope-based
cleanup helper __free(). This ensures that the tmp and obj are
automatically freed when they go out of scope, eliminating the need for
explicit error handling labels and manual freeing.

Suggested-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Suggested-by: Markus Elfring <Markus.Elfring@web.de>
Co-developed-by: Jianhao Xu <jianhao.xu@seu.edu.cn>
Signed-off-by: Jianhao Xu <jianhao.xu@seu.edu.cn>
Signed-off-by: Zilin Guan <zilin@seu.edu.cn>
Link: https://patch.msgid.link/20260106091318.747019-2-zilin@seu.edu.cn
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2026-01-26 15:46:32 +02:00
Ilpo Järvinen
6343e06788
Merge branch 'fixes' of into for-next 2026-01-26 15:42:44 +02:00
Tvrtko Ursulin
7fe6cae2f7 drm/xe/xelp: Fix Wa_18022495364
It looks I mistyped CS_DEBUG_MODE2 as CS_DEBUG_MODE1 when adding the
workaround. Fix it.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Fixes: ca33cd271e ("drm/xe/xelp: Add Wa_18022495364")
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: <stable@vger.kernel.org> # v6.18+
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Link: https://patch.msgid.link/20260116095040.49335-1-tvrtko.ursulin@igalia.com
2026-01-26 14:34:53 +01:00
Andreas Gruenbacher
22150a7d40 gfs2: Fix slab-use-after-free in qd_put
Commit a475c5dd16 ("gfs2: Free quota data objects synchronously")
started freeing quota data objects during filesystem shutdown instead of
putting them back onto the LRU list, but it failed to remove these
objects from the LRU list, causing LRU list corruption.  This caused
use-after-free when the shrinker (gfs2_qd_shrink_scan) tried to access
already-freed objects on the LRU list.

Fix this by removing qd objects from the LRU list before freeing them in
qd_put().

Initial fix from Deepanshu Kartikey <kartikey406@gmail.com>.

Fixes: a475c5dd16 ("gfs2: Free quota data objects synchronously")
Reported-by: syzbot+046b605f01802054bff0@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=046b605f01802054bff0
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
2026-01-26 14:28:18 +01:00
Andreas Gruenbacher
0ec49e7ea6 gfs2: Introduce glock_{type,number,sbd} helpers
Introduce glock_type(), glock_number(), and glock_sbd() helpers for
accessing a glock's type, number, and super block pointer more easily.

Created with Coccinelle using the following semantic patch:

@@ struct gfs2_glock *gl; @@
- gl->gl_name.ln_type
+ glock_type(gl)

@@ struct gfs2_glock *gl; @@
- gl->gl_name.ln_number
+ glock_number(gl)

@@ struct gfs2_glock *gl; @@
- gl->gl_name.ln_sbd
+ glock_sbd(gl)

glock_sbd() is a macro because it is used with const as well as
non-const struct gfs2_glock * arguments.

Instances in macro definitions, particularly in tracepoint definitions,
replaced by hand.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
2026-01-26 14:28:18 +01:00
Andreas Gruenbacher
d3b39fcb39 gfs2: gfs2_glock_hold cleanup
Use lockref_get_not_dead() instead of an unguarded __lockref_is_dead()
check.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
2026-01-26 14:28:18 +01:00
Andreas Gruenbacher
536f48e8bb gfs: Use fixed GL_GLOCK_MIN_HOLD time
GL_GLOCK_MIN_HOLD represents the minimum time (in jiffies) that a glock
should be held before being eligible for release.  It is currently
defined as 10, meaning that the duration depends on the timer interrupt
frequency (CONFIG_HZ).  Change that time to a constant 10ms independent
of CONFIG_HZ.  On CONFIG_HZ=1000 systems, the value remains the same.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
2026-01-26 14:28:17 +01:00
Andreas Gruenbacher
c45fefe3a9 gfs2: Fix gfs2_log_get_bio argument type
Fix the type of gfs2_log_get_bio()'s op argument: callers pass in a
blk_opf_t value and the function passes that value on as a blk_opf_t
value, so the current argument type makes no sense.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
2026-01-26 14:28:17 +01:00
Andreas Gruenbacher
08ca56ffcd gfs2: gfs2_chain_bio start sector fix
Pass the start sector into gfs2_chain_bio(): the new bio isn't
necessarily contiguous with the previous one.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
2026-01-26 14:28:17 +01:00
Andreas Gruenbacher
4a94f052e0 gfs2: Initialize bio->bi_opf early
Pass the right blk_opf_t value to bio_alloc() so that ->bi_ops is
initialized correctly and doesn't have to be changed later.  Adjust the
call chain to pass that value through to where it is needed (and only
there).

Add a separate blk_opf_t argument to gfs2_chain_bio() instead of copying
the value from the previous bio.

Fixes: 8a157e0a0a ("gfs2: Fix use of bio_chain")
Reported-by: syzbot+f6539d4ce3f775aee0cc@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=f6539d4ce3f775aee0cc
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
2026-01-26 14:28:17 +01:00
Andreas Gruenbacher
59d81037d3 gfs2: Rename gfs2_log_submit_{bio -> write}
Rename gfs2_log_submit_bio() to gfs2_log_submit_write(): this function
isn't used for submitting log reads.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
2026-01-26 14:28:17 +01:00
Andreas Gruenbacher
4928c36536 gfs2: Do not cancel internal demote requests
Trying to change the state of a glock may result in a "conversion
deadlock" error, indicating that the requested state transition would
cause a deadlock.  In this case, we unlock and retry the state change.
It makes no sense to try canceling those unlock requests, but the
current code is not aware of that.

In addition, if a locking request is canceled shortly after it is made,
the cancelation request can currently overtake the locking request.
This may result in deadlocks.

Fix both of these bugs by repurposing the GLF_PENDING_REPLY flag into a
GLF_MAY_CANCEL flag which is set only when the current locking request
can be canceled.  When trying to cancel a locking request in
gfs2_glock_dq(), wait for this flag to be set.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
2026-01-26 14:28:17 +01:00
Andreas Gruenbacher
5e3319932a gfs2: run_queue cleanup
In run_queue(), instead of always setting the GLF_LOCK flag, only set it
when the flag is actually needed.  This avoids having to undo the flag
setting later.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
2026-01-26 14:28:17 +01:00
Andreas Gruenbacher
11d763f0b0 gfs2: Retries missing in gfs2_{rename,exchange}
Fix a bug in gfs2's asynchronous glock handling for rename and exchange
operations.  The original async implementation from commit ad26967b9a
("gfs2: Use async glocks for rename") mentioned that retries were needed
but never implemented them, causing operations to fail with -ESTALE
instead of retrying on timeout.

Also makes the waiting interruptible.

In addition, the timeouts used were too high for situations in which
timing out is a rare but expected scenario.  Switch to shorter timeouts
with randomization and exponentional backoff.

Fixes: ad26967b9a ("gfs2: Use async glocks for rename")
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
2026-01-26 14:28:17 +01:00
Andreas Gruenbacher
f8f04248c7 gfs2: glock cancelation flag fix
When an asynchronous glock holder is dequeued that hasn't been granted
yet (HIF_HOLDER not set) and no dlm operation is in progress on behalf
of that holder (GLF_LOCK not set), the dequeuing takes place in
__gfs2_glock_dq().  There, we are not clearing the HIF_WAIT flag and
waking up waiters.  Fix that.

This bug prevents the same holder from being enqueued later (gfs2_glock_nq())
without first reinitializing it (gfs2_holder_reinit()).  The code
doesn't currently use this pattern, but this will change in the next
commit.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
2026-01-26 14:28:17 +01:00
Danilo Krummrich
559ac49154 Driver core fixes deferred from 6.19-rc7
[1, 2] were originally intended for -rc7. Patch [1] uncovered potential
 deadlocks that require a few driver fixes; [2] is one such fix.
 
 [1] https://patch.msgid.link/20260113162843.12712-1-hanguidong02@gmail.com
 [2] https://patch.msgid.link/20260121141215.29658-1-dakr@kernel.org
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQS2q/xV6QjXAdC7k+1FlHeO1qrKLgUCaXdn0AAKCRBFlHeO1qrK
 Lu0BAQDfaNgkqh55vA7C+meIUTKKEnARTsRHowRnex2zty0VVQEA/tExyJKy8QY4
 pNe8ghYW6mmad/eY+pixYzaFacv7+ws=
 =CzPS
 -----END PGP SIGNATURE-----

Merge tag 'driver-core-6.19-rc7-deferred' into driver-core-next

Driver core fixes deferred from 6.19-rc7

[1, 2] were originally intended for -rc7. Patch [1] uncovered potential
deadlocks that require a few driver fixes; [2] is one such fix.

[1] https://patch.msgid.link/20260113162843.12712-1-hanguidong02@gmail.com
[2] https://patch.msgid.link/20260121141215.29658-1-dakr@kernel.org

Signed-off-by: Danilo Krummrich <dakr@kernel.org>
2026-01-26 14:12:02 +01:00
Yi Liu
1956f0a74c RDMA/uverbs: Validate wqe_size before using it in ib_uverbs_post_send
ib_uverbs_post_send() uses cmd.wqe_size from userspace without any
validation before passing it to kmalloc() and using the allocated
buffer as struct ib_uverbs_send_wr.

If a user provides a small wqe_size value (e.g., 1), kmalloc() will
succeed, but subsequent accesses to user_wr->opcode, user_wr->num_sge,
and other fields will read beyond the allocated buffer, resulting in
an out-of-bounds read from kernel heap memory. This could potentially
leak sensitive kernel information to userspace.

Additionally, providing an excessively large wqe_size can trigger a
WARNING in the memory allocation path, as reported by syzkaller.

This is inconsistent with ib_uverbs_unmarshall_recv() which properly
validates that wqe_size >= sizeof(struct ib_uverbs_recv_wr) before
proceeding.

Add the same validation for ib_uverbs_post_send() to ensure wqe_size
is at least sizeof(struct ib_uverbs_send_wr).

Fixes: c3bea3d2dc ("RDMA/uverbs: Use the iterator for ib_uverbs_unmarshall_recv()")
Signed-off-by: Yi Liu <liuy22@mails.tsinghua.edu.cn>
Link: https://patch.msgid.link/20260122142900.2356276-2-liuy22@mails.tsinghua.edu.cn
Signed-off-by: Leon Romanovsky <leon@kernel.org>
2026-01-26 07:57:44 -05:00
Niklas Cassel
5f64ae1ef6 ata: libata-core: Quirk INTEL SSDSC2KG480G8 max_sectors
Commit 9b8b84879d ("block: Increase BLK_DEF_MAX_SECTORS_CAP") increased
the default max_sectors_kb from 1280 KiB to 4096 KiB.

INTEL SSDSC2KG480G8 with FW rev XCV10120 times out when sending I/Os of
size 4096 KiB.

Enable ATA_QUIRK_MAX_SEC, with value 8191 (sectors) for this device,
since any I/O with more sectors than that lead to I/O timeouts.

With this, the INTEL SSDSC2KG480G8 is usable again.

Link: https://lore.kernel.org/linux-ide/176839089913.2398366.61500945766820256@eldamar.lan/
Fixes: 9b8b84879d ("block: Increase BLK_DEF_MAX_SECTORS_CAP")
Signed-off-by: Niklas Cassel <cassel@kernel.org>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
2026-01-26 21:39:10 +09:00
Maíra Canal
68e28facbc
drm/panel: ilitek-ili9882t: Select DRM_DISPLAY_DSC_HELPER
The panel-ilitek-ili9882t driver uses drm_dsc_pps_payload_pack() which
is provided by the DRM_DISPLAY_DSC_HELPER. Add the missing Kconfig
select to fix the following build error:

  ERROR: modpost: "drm_dsc_pps_payload_pack" [drivers/gpu/drm/panel/panel-ilitek-ili9882t.ko] undefined!

Fixes: 65ce1f5834 ("drm/panel: ilitek-ili9882t: Switch Tianma TL121BVMS07 to DSC 120Hz mode")
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Tested-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
Reviewed-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
Link: https://patch.msgid.link/20260115125136.64866-1-mcanal@igalia.com
Signed-off-by: Maíra Canal <mcanal@igalia.com>
2026-01-26 09:38:44 -03:00