Commit graph

1,427,869 commits

Author SHA1 Message Date
Sk Anirban
043fc9e961 drm/i915/selftest: Add throttle reason diagnostics to RPS selftests
Report GPU throttle reasons when RPS tests fail to reach expected
frequencies or power levels.

v2: Read the throttle value before the spinner ends (Raag)
    Add a condition before printing throttle value (Krzysztof)
v3: Extend throttle reasons debug support (Raag)
v4: Cosmetic changes (Raag)

Signed-off-by: Sk Anirban <sk.anirban@intel.com>
Reviewed-by: Raag Jadav <raag.jadav@intel.com>
Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com>
Link: https://patch.msgid.link/20251223101605.3304379-2-sk.anirban@intel.com
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
2026-01-07 09:07:06 -08:00
Arnd Bergmann
bc6fe9f0a6 First batch of ASPEED Arm devicetree changes for 6.20
New platforms:
 
 - NVIDIA MSX4 BMC
 
   The NVIDIA MSX4 HPM (host platform module) is a reference board for
   managing up to 8 PCIe connected NVIDIA GPUs via ConnectX-8 (CX8)
   SuperNICs. The BMC manages all GPUs and CX8s for both telemetry and
   firmware update via MCTP over USB. The host CPUs are dual socket Intel
   Granite Rapids processors.
 
   For more detail on this architecture:
 
   https://developer.nvidia.com/blog/nvidia-connectx-8-supernics-advance-ai-platform-architecture-with-pcie-gen6-connectivity/
 
 Updated platforms:
 
 - ast2600-evb (ASPEED): Various tidy-ups to address binding warnings
 - bletchley (Meta): Watchdog fix, tidy-ups to address binding warnings
 - clemente (Meta): HDD LED fix, GPIO line names, EEPROMs
 - harma (Meta): fanboard presence GPIO
 - santabarbara (Meta): IPMB, GPIO line names, additional IO expander
 -----BEGIN PGP SIGNATURE-----
 
 iJIEABYKADoWIQSoUT1x3bOSX/nAa8ajM9GZTrjhpgUCaVs/nBwcYW5kcmV3QGNv
 ZGVjb25zdHJ1Y3QuY29tLmF1AAoJEKMz0ZlOuOGm30YBAK1Ur/X6D5a9P5901J5c
 1FqAKC2IuXgnP9BPSBMpU4CDAP4qpwD56i2tiefFKy9LEDzrW4dyy1Zvavj0MWwp
 JqNYDA==
 =MY36
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmlekrIACgkQmmx57+YA
 GNlF8hAAj6k5jntKE4djrzY9YKSvE2csNTI25PO1/tUptFY92y5l/29m/UBSxuWo
 qcjM/O/IwIH8rJ/fr7oU4E1r3pLIGB6NKXlv01w07K+hziAjRc1WNRK5EhHflqUl
 ihF0hrKZOvplNpM0Jqav/1jXFfkW8OrA3BP5DDq4wNjFgQIB1RDMMVVf+BDvLMMa
 zVW+rGA0cwicGVElAvac7En0qe7qWbi7m6DOOSlBtytWyFgm53A5yDQVFtbmaFvF
 tjg8ZmP6bIoEKLQf7nlApEbtivzbWqpC+ICpM2A7wI7SrnJ/KzoNFLfWF8+EIYrD
 NGuch3HpHdc/XrSyRa7YW4Mw6aLVHtS4y/SVDrYOzdAbfE5FE0sGsi/5zn8pyTg3
 yvwl3M0rqWc3Uml/9yZG91/CtOvRtYUq6Zf+ICmdN/Bgt1SDMezVOOsczypDyRs1
 Avy9jaM5X1kFzmekZ5t6qGxp7MsX1kjhB2dP9zWnx7mAChxuUOZIaii3HmREB5S5
 wxG2cyORqYdsJPAWQL3R5qj6Z8pSoAw4akaoEqeOajo16VRgwHnAhlDFx4KVy/q6
 08Yds7fb5kJKhw9GXG+2/Y2z4n1sp36BjKdAQ5IpkMfxjP3qW85UqsK5x1fTlt2C
 PfvenS9LrdcxPi+44mqyR3X16h4qDNja3NkS9Djuc+lKNKMoh2o=
 =ML8C
 -----END PGP SIGNATURE-----

Merge tag 'aspeed-6.20-devicetree-0' of https://git.kernel.org/pub/scm/linux/kernel/git/bmc/linux into soc/dt

First batch of ASPEED Arm devicetree changes for 6.20

New platforms:

- NVIDIA MSX4 BMC

  The NVIDIA MSX4 HPM (host platform module) is a reference board for
  managing up to 8 PCIe connected NVIDIA GPUs via ConnectX-8 (CX8)
  SuperNICs. The BMC manages all GPUs and CX8s for both telemetry and
  firmware update via MCTP over USB. The host CPUs are dual socket Intel
  Granite Rapids processors.

  For more detail on this architecture:

  https://developer.nvidia.com/blog/nvidia-connectx-8-supernics-advance-ai-platform-architecture-with-pcie-gen6-connectivity/

Updated platforms:

- ast2600-evb (ASPEED): Various tidy-ups to address binding warnings
- bletchley (Meta): Watchdog fix, tidy-ups to address binding warnings
- clemente (Meta): HDD LED fix, GPIO line names, EEPROMs
- harma (Meta): fanboard presence GPIO
- santabarbara (Meta): IPMB, GPIO line names, additional IO expander

* tag 'aspeed-6.20-devicetree-0' of https://git.kernel.org/pub/scm/linux/kernel/git/bmc/linux:
  ARM: dts: aspeed: bletchley: Fix ADC vref property names
  ARM: dts: aspeed: bletchley: Remove unused i2c13 property
  ARM: dts: aspeed: bletchley: Remove unused pca9539 properties
  ARM: dts: aspeed: bletchley: Fix SPI GPIO property names
  ARM: dts: aspeed: bletchley: Use generic node names
  ARM: dts: aspeed: g6: Drop clocks property from arm,armv7-timer
  ARM: dts: aspeed: ast2600-evb: Tidy up A0 work-around for UART5
  ARM: dts: aspeed: g6: Drop unspecified aspeed,ast2600-udma node
  ARM: dts: aspeed: Drop syscon compatible from EDAC in g6 dtsi
  ARM: dts: aspeed: Use specified wp-inverted property for AST2600 EVB
  ARM: dts: aspeed: Remove sdhci-drive-type property from AST2600 EVB
  ARM: dts: aspeed: Add NVIDIA MSX4 HPM
  dt-bindings: arm: aspeed: Add NVIDIA MSX4 board
  ARM: dts: aspeed: clemente: move hdd_led to its own gpio-leds group
  ARM: dts: aspeed: clemente: add gpio line name to io expander
  ARM: dts: aspeed: santabarbara: Enable ipmb device for OCP debug card
  ARM: dts: aspeed: santabarbara: Add swb IO expander and gpio line names
  ARM: dts: aspeed: clemente: Add EEPROMs for boot and data drive FRUs
  ARM: dts: aspeed: harma: add fanboard presence sgpio
  ARM: dts: aspeed: bletchley: remove WDTRST1 assertion from wdt1

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-07 18:05:52 +01:00
Arnd Bergmann
12e491d4f7 This pull request contains Broadcom ARM64-based SoCs Device Tre updates
for 6.19, please pull the following:
 
 - Peter enables the random number generator on BCM2712
 
 - Stanimir adds the watchdog Device Tree node for BCM2712
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmkLmNUACgkQh9CWnEQH
 BwTYRQ//RBuoDZpqjToA/uno7wPVQouRf0q/oqJDWiEf6njuoGR9JmDDFAyTq2bu
 bi5+MzwIBVroCF1iQHGQZp+WmE0l80m9c2NTPq+6+enPczXa4PSPhM3+SXSL6GK/
 dhDD4YjYEXwDKet6pNfxD9yny6ROVsxPa/a2IXk/g3gICwRi5x4ZqLtTcK6Eiv1M
 tE3xk49eVww1F66Kng04BJyBIBFrxNRK6avphNHqcE/CwvcESraG5xc7nyDxF6l9
 txd97weOZTDAmz7NhWym9iisL9cnuiGGLx9s0QVMNk6xE4agObWdjdNpoCy/ih/t
 DuFCWNYLiSe0Qjn1A8bGipmeJPT7T2gNBPTTAS9SinAxazg/i3zQRdjwW/EtozFr
 4R6T41N02R9chPckSZe5qk9ICduYKv8XYjJTIGhFs4jhbQ/yA2xtm7N4hC/P4mfY
 TckA+lLMYF0iKIqu72Z2mSnh5dMO5ieAc77OSQmSMI43CzzYzQWYJpYgCTYLsTTL
 nNMQnIgo8FWCGqThZJ1NQx73Pad0WYVlqRogi/dnRL5tAcJdQbYhw6OkmXVjzDf6
 bjb8UxAa41cIUx7OKnbK5mL/lyJEcQeyCS04kgABIAsA1Y5dffU3wZfIJweyFrt0
 qpSEHP/BU/++0mDPbolTaItf4EvA4nvqdXZ8GporGCqTDxqpP90=
 =1Fiq
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmlekdEACgkQmmx57+YA
 GNlqQg/+M5whtchKT1vJudPa3c8hqyt0r8yTBHi1FetMpeAm8FwZ6QY/xga5e38+
 N+ym+Sb1NwWjYDRd+fM2ea0ujKnDKRMsicwD4g0lYVQidEHI7auw0iZQI3h/OElB
 XykVok7dbM0vq+Qsavg1rB714FTBb6BchXEAux3ZIQNNP4nvil0ChaaAjDbQrcYk
 kxxV6LQoMSiFkQfp+hl9zs+fX2s2jrWAtihqmnUSyfut+I2k/IQGOo421ovLUwTi
 cJC6jG3J9CXbIUOJ5gXcphDsvGKS2AgSyn0CyETBHBkdt9HELryPYytSGM1dj7JU
 AKf9R3QcBbIkEPvd2t1kQ9inGLIuBF2A9qV10Cc8X5Um8b312squ7fYl/OO53BKe
 sbKdfwzwLKo52IGLDSL2o9Tq3AtF3obqoGmPj/8mmWxm+ekeJtFUgDhxNYSiirp0
 hjVusbQvQhB8W9F7QAi3od4X/1Iu9Q2j2mHXCvb9LkLOG0Cziias1BPZBAb4UEpA
 YzMPdLXma+GlmmPHmB1KPilcFODIGi2WneoeEYFVnouQ84urzIYXZQ4Df45Nlf3j
 qII9oF4FMG96PEYl+QkAGP+IsMPy6wm2ryjHSLGCRCeiTFsVUxbRKobTD8MRj4As
 dof0onpi73/Ml/C3sr5dDT6o8bvmSeJey5gwtGLa4UDl/YzK9jw=
 =zKhO
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-6.19/devicetree-arm64' of https://github.com/Broadcom/stblinux into soc/dt

This pull request contains Broadcom ARM64-based SoCs Device Tre updates
for 6.19, please pull the following:

- Peter enables the random number generator on BCM2712

- Stanimir adds the watchdog Device Tree node for BCM2712

* tag 'arm-soc/for-6.19/devicetree-arm64' of https://github.com/Broadcom/stblinux:
  arm64: dts: broadcom: bcm2712: Add watchdog DT node
  arm64: dts: broadcom: bcm2712: Enable RNG

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-07 18:03:06 +01:00
Thomas Weißschuh
f126d68819 kunit: tool: test: Don't rely on implicit working directory change
If no kunitconfig_paths are passed to LinuxSourceTree() it falls back to
DEFAULT_KUNITCONFIG_PATH. This resolution only works when the current
working directory is the root of the source tree. This works by chance
when running the full testsuite through the default unittest runner, as
some tests will change the current working directory as a side-effect of
'kunit.main()'. When running a single testcase or using pytest, which
resets the working directory for each test, this assumption breaks.

Explicitly specify an empty kunitconfig for the affected tests.

Link: https://lore.kernel.org/r/20260107015936.2316047-2-davidgow@google.com
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Reviewed-by: David Gow <davidgow@google.com>
Signed-off-by: David Gow <davidgow@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
2026-01-07 10:00:47 -07:00
Thomas Weißschuh
1cabad3a00 kunit: tool: test: Rename test_data_path() to _test_data_path()
Running the KUnit testsuite through pytest fails, as the function
test_data_path() is recognized as a test function. Its execution fails
as pytest tries to resolve the 'path' argument as a fixture which does
not exist.

Rename the function, so the helper function is not incorrectly
recognized as a test function.

Link: https://lore.kernel.org/r/20260107015936.2316047-1-davidgow@google.com
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Reviewed-by: David Gow <davidgow@google.com>
Signed-off-by: David Gow <davidgow@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
2026-01-07 10:00:41 -07:00
Haoxiang Li
bf72b4b7bb drm/vmwgfx: Fix an error return check in vmw_compat_shader_add()
In vmw_compat_shader_add(), the return value check of vmw_shader_alloc()
is not proper. Modify the check for the return pointer 'res'.

Found by code review and compiled on ubuntu 20.04.

Fixes: 18e4a4669c ("drm/vmwgfx: Fix compat shader namespace")
Cc: stable@vger.kernel.org
Signed-off-by: Haoxiang Li <lihaoxiang@isrc.iscas.ac.cn>
Signed-off-by: Zack Rusin <zack.rusin@broadcom.com>
Link: https://patch.msgid.link/20251224091105.1569464-1-lihaoxiang@isrc.iscas.ac.cn
2026-01-07 11:58:31 -05:00
Rob Herring (Arm)
bf104037eb
arm64: dts: hisilicon: hikey960: Drop "snps,gctl-reset-quirk" and "snps,tx_de_emphasis*" properties
"snps,tx_de_emphasis" is supposed to be a u8, not a u32. Since it is big
endian, 0 will be read rather than 1. The DWC3 Linux driver simply ORs
the value if "snps,tx_de_emphasis_quirk" is set, so the 2 properties
have no effect. (The driver doesn't clear the field either which is
another problem).

"snps,gctl-reset-quirk" is not documented nor used in the driver, so
drop it as well.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20260105174002.2997615-1-robh@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-07 17:55:19 +01:00
Rob Herring (Arm)
dd1aadd29d arm64: dts: marvell: change regulator-gpio to regulator-fixed
A "regulator-gpio" must have a GPIO control, hence the name. There's no
GPIO on a couple of Marvell platforms at least as far as the DT is
defined, so change the regulator type from GPIO to fixed.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2026-01-07 17:50:49 +01:00
Rob Herring (Arm)
e509bd5631 arm64: dts: marvell: cn9131-cf-solidwan: Add missing GPIO properties on "nxp,pca9536"
The PCA9536 is always a GPIO provider, so add the missing properties.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2026-01-07 17:49:50 +01:00
Arnd Bergmann
c221cc877b i.MX fixes for 6.19:
- A mba8mx fix from Alexander Stein to correct Ethernet PHY IRQ trigger
   type
 - An i.MX95 fix from Carlos Song to correct I3C2 pclk
 - A couple of imx8qm-mek changes from Haibo Chen to fix light sensor
   interrupt type and usdhc2 regulator configuration
 - An imx6q-ba16 change from Ian Ray to fix RTC interrupt level
 - An imx8mp-dhcom-som change from Marek Vasut to fix sporadic Ethernet
   link bouncing caused by interruptions on the PHY reference clock
 - A couple of imx8mp-tx8p changes from Maud Spierings to fix compatible
   and eqos nvmem-cells
 - An ARM i.MX fix from Rob Herring to correct mc13xxx LED node names
 - An imx8qm-ss-dma change from Sherry Sun to correct DMA channels for
   LPUART
 - A couple of imx95-toradex-smarc changes from Vitor Soares to fix
   ethphy1 interrupt and SMARC_SDIO_WP label position
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmlUl0EACgkQUFdYWoew
 fM4rVAf8CoKCxw3wY6WWGnykrwxb7QNIr1CIfUCJC+6PtSxEsuuwMWmrhsEpvs36
 Idh5YXGl89hC/6DYr9NLy6GHKX+pp8TX5ah/bY4gIkRZ9gc3+TuU7qUv/iFkk9Q7
 DgpMvE7TUKrLrUvkX4nN5rcLFOODkz3+KrJLLi7D3GOBQA3PEQ31dXBlTRygO/WP
 AvaBkbmcCUMM8jpr0b4jcloSwMGunCzI/bpdGrBaFw4peOBCPzhYvAjtE+4FRBX+
 QaO11t7VYFSZ1Asqc944vjpNWaqLMzABjaLvOSAsERm5M8vfjkHD4cLJX7yYeCAa
 Can4xx7yVHmCzPryWH6Asnpx9BttQg==
 =im41
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmlejoMACgkQmmx57+YA
 GNm7rBAAvrbS1D81cjkuU9atoRodFtfW3MvspJRWO2VrgA2uNH9TkmYucgApyGPc
 RJyHoR0rwUIFZfBBX0A3D7CvdIu4KKLBR9Gbx7/0OshTHto7knBxW4nNEh2GUiF2
 2hXQ4dMqtCD+JmD4l4LlAAnvmZ7MYYi/s3+1t34FrTOv5GmItNv7+Vtcx6NpVkiV
 J4ihr7q8L6IB/H3XaVogDnBxqTAwbgNMuXKcPypI2NyCQoJaf8SDEZXh+sesIl+H
 CKIWjhNxs5Tei0lM277xX0C7Oz6FUUUbaKegRT7iPiljpoG6717xqyDVfIcqP7fE
 m7teGkao2faLrSN97sGzcdb6x5Q0s+PMK/a6CeZd6nerEAkfEmeg8CfL7ys75k3O
 yYXr96u4OLWk3laW5xug6ZouJXyobINzy5/FVzKayDb+vXu9iHYuA/olm1L3xGS9
 QWRvK32OCuZ8cBdSZtHfDjFXW6rgIpzhIU8H4vn0ACKNE4gjLqk9RvNW0+gb1JpE
 aH5qgTVsqQDjA9UUcjwbXirBIDBJJcbm8UMu1a1QzRbn7Dcd0hekfp9Ueb8lMww5
 BW2qRj+QXXB06qMM6GTsam2fL1GSwkUEWsl2DoLEfU3OrRiVUxzw02maOBvGJXoO
 INK+TRgFKhvVC2uI0PvNVqf52lieby5blWFH6W+gMJI2Kkn/+oo=
 =BjZ2
 -----END PGP SIGNATURE-----

Merge tag 'imx-fixes-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes

i.MX fixes for 6.19:

- A mba8mx fix from Alexander Stein to correct Ethernet PHY IRQ trigger
  type
- An i.MX95 fix from Carlos Song to correct I3C2 pclk
- A couple of imx8qm-mek changes from Haibo Chen to fix light sensor
  interrupt type and usdhc2 regulator configuration
- An imx6q-ba16 change from Ian Ray to fix RTC interrupt level
- An imx8mp-dhcom-som change from Marek Vasut to fix sporadic Ethernet
  link bouncing caused by interruptions on the PHY reference clock
- A couple of imx8mp-tx8p changes from Maud Spierings to fix compatible
  and eqos nvmem-cells
- An ARM i.MX fix from Rob Herring to correct mc13xxx LED node names
- An imx8qm-ss-dma change from Sherry Sun to correct DMA channels for
  LPUART
- A couple of imx95-toradex-smarc changes from Vitor Soares to fix
  ethphy1 interrupt and SMARC_SDIO_WP label position

* tag 'imx-fixes-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: dts: mba8mx: Fix Ethernet PHY IRQ support
  arm64: dts: imx8qm-ss-dma: correct the dma channels of lpuart
  arm64: dts: imx8mp: Fix LAN8740Ai PHY reference clock on DH electronics i.MX8M Plus DHCOM
  arm64: dts: freescale: tx8p-ml81: fix eqos nvmem-cells
  arm64: dts: freescale: moduline-display: fix compatible
  dt-bindings: arm: fsl: moduline-display: fix compatible
  ARM: dts: imx6q-ba16: fix RTC interrupt level
  arm64: dts: freescale: imx95-toradex-smarc: fix SMARC_SDIO_WP label position
  arm64: dts: freescale: imx95-toradex-smarc: use edge trigger for ethphy1 interrupt
  arm64: dts: add off-on-delay-us for usdhc2 regulator
  arm64: dts: imx8qm-mek: correct the light sensor interrupt type to low level
  ARM: dts: nxp: imx: Fix mc13xxx LED node names
  arm64: dts: imx95: correct I3C2 pclk to IMX95_CLK_BUSWAKEUP

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-07 17:49:00 +01:00
Rob Herring (Arm)
5336444472 arm64: dts: marvell: Fix stray and typo "pinctrl-names" properties
There's several cases of "pinctrl-names" used without any "pinctrl-0"
properties. Drop them.

Fix the typo "pintrl-names" as well.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2026-01-07 17:48:58 +01:00
Rob Herring (Arm)
e8061ea925 arm64: dts: marvell: Add missing "#phy-cells" to "usb-nop-xceiv"
The "usb-nop-xceiv" binding requires "#phy-cells" property with a value
of 0 though it is not really used. Add it where missing from Marvell
platforms.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2026-01-07 17:48:05 +01:00
Krzysztof Kozlowski
51183d3ff5
Documentation/process: maintainer-soc: Mark 'make' as commands
Improve readability of the docs by marking 'make dtbs/dtbs_check' as
shell commands.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Link: https://lore.kernel.org/r/20251223142726.73417-4-krzysztof.kozlowski@oss.qualcomm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-07 17:47:43 +01:00
Krzysztof Kozlowski
6efe5322f0
Documentation/process: maintainer-soc: Be more explicit about defconfig
It is already documented but people still send noticeable amount of
patches ignoring the rule - get_maintainers.pl does not work on
arm64/configs/defconfig or any other shared ARM defconfig.

Be more explicit, that one must not rely on typical/simple approach
here for getting To/Cc list.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Link: https://lore.kernel.org/r/20251223142726.73417-3-krzysztof.kozlowski@oss.qualcomm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-07 17:47:43 +01:00
Arnd Bergmann
902300d332 This pull request contains Broadcom ARM64-SoC Device Tree fixes for
6.19, please pull the following:
 
 - Andrea fixes the RP1 DeviceTree hierarchy and drop overlay support,
   this resolves a number of DTC warnings and other issues
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmlFuWQACgkQh9CWnEQH
 BwSl9g/9EXHS5ElbrZMTzolABdvD85T6Ab0I8W0rxwagb0YDRog8o9GMplRk7V69
 ggNB9j0K/IvK/ucFjdLZbhUXztDfbrWHvb5kBMo+04J+LMu2XkAJu0t2qFL3eQHa
 FEjzmjTHoa+fGTRmIWGKgk2yBk2GnUJxit/xAeEvCxzLh9r6YDnDBQUhTtkg3ebY
 kXI4l6tUlhmpoAgBpN9gcoUfhLYO7pi2Kbsg87aKXdsiuuhszmgzKyB+RvFH2/vK
 ShmtFr/DZ0zyYmM8TrcQW3LJLbNXeZDnYuomOO+tpQvjErCza5XAPl+ogsZwQ8Bw
 Z7nca8L+9ozcxlohfWBRB/9saO5tteksH2vvcjBeZalRhCABWtzxV1YTTvSWbpHP
 poWhJjthykkUhZ+vENvQRSzv8Hku2tegO18SHPBeqgImfHo6Xghzy8+bQVxy1Jcz
 6Uvtzmj/z8yyz4N0aaY2NNz3DplOM7SpuU7tEFf/e9ZZFChCzyjMOX1YCSV8sOJ1
 ccp8o6ryWhQguSlqS2oMkE/aNwmPQTphxPXA0bOSR6lN4WUdePgwguEbi2T+6N/d
 B2MDtFm7VT/QXJFJZRmpgZC1pq43dyoHAP4shsG4Qek6sz/8lUHvb9pt8e2HICX0
 cY1taqpZrdEKTFa51Vfyl0aMEXPHoH/2+7SI3cdOlEd0+ODMRpY=
 =JCKi
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmlejZ8ACgkQmmx57+YA
 GNl+MhAArb5i/a89Se6g4ORJR9v+6mj+XgYc7lMpulU/XZafz1gNS8PqHkquG62R
 5ZYSi99E44Ibk2HvFv4SD62f8XnuUCmHgmo7dmldjpDn36FMmyTuNOoV/Iil9PzM
 kcrHx/SGIcSDdXns54r2UbWhgkq0WD5UCfrDgVYH2IPY+shzoGeSr5DUAb2Z4Z4y
 ROrnPNaxp0Z5azf44lIHW5zTl6ea6MF8s26zxchkxm8ZhoB5OEejdLKX6lQA124z
 xmFlv1xtcD7tArxT9M+4gQ1OjrWuGQw20nJDOZhaPFb47YAdOiMkEMycqYSPg7yl
 zOxGiq6OjvoAO3WKJ7kaRCg4do9YQK1GtWOYFzoMR9M+GMqxjYBlWFdm2vJsFC8/
 tRM5X+DTTiKK+4sbAolBY1tJe2iOt84mv4n91sgZ1LCywNwUndyFU6h2YmayGvRJ
 1JBeA5pv1y+qMviDzsxX3llVdNjQuL62CakFRxdNyLw2JTqGrrphEIiCFzkLqX9G
 3IWrALY40L2p4OcUP9VIRPVNe96mBuJOnILMxiB5mA0tTVrZIi9MlvZ1egL+qo2U
 PHR2TPuYMhTUogwOCEF7G+YtCgGSVAb72L3AYKGrOSgLleT/CUd79HfsLfv3Gs1j
 MTonYjRoIgSX1eFR6XHwO3+ZSeoXwvrCh98pIV/IWqMmk2nHiUA=
 =IlUv
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-6.19/devicetree-arm64-fixes' of https://github.com/Broadcom/stblinux into arm/fixes

This pull request contains Broadcom ARM64-SoC Device Tree fixes for
6.19, please pull the following:

- Andrea fixes the RP1 DeviceTree hierarchy and drop overlay support,
  this resolves a number of DTC warnings and other issues

* tag 'arm-soc/for-6.19/devicetree-arm64-fixes' of https://github.com/Broadcom/stblinux:
  arm64: dts: broadcom: rp1: drop RP1 overlay
  arm64: dts: broadcom: bcm2712: fix RP1 endpoint PCI topology
  misc: rp1: drop overlay support
  dt-bindings: misc: pci1de4,1: add required reg property for endpoint

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-07 17:45:13 +01:00
Ian Forbes
37a0cff455 drm/vmwgfx: Merge vmw_bo_release and vmw_bo_free functions
Some of the warnings need to be reordered between these two functions
in order to be correct. This has happened multiple times.
Merging them solves this problem once and for all.

Fixes: d6667f0ddf ("drm/vmwgfx: Fix handling of dumb buffers")
Signed-off-by: Ian Forbes <ian.forbes@broadcom.com>
Signed-off-by: Zack Rusin <zack.rusin@broadcom.com>
Link: https://patch.msgid.link/20260107152059.3048329-1-ian.forbes@broadcom.com
2026-01-07 11:42:25 -05:00
Ian Forbes
d9186faeae drm/vmwgfx: Fix KMS with 3D on HW version 10
HW version 10 does not have GB Surfaces so there is no backing buffer for
surface backed FBs. This would result in a nullptr dereference and crash
the driver causing a black screen.

Fixes: 965544150d ("drm/vmwgfx: Refactor cursor handling")
Signed-off-by: Ian Forbes <ian.forbes@broadcom.com>
Reviewed-by: Zack Rusin <zack.rusin@broadcom.com>
Signed-off-by: Zack Rusin <zack.rusin@broadcom.com>
Link: https://patch.msgid.link/20251114203703.1946616-1-ian.forbes@broadcom.com
2026-01-07 11:40:05 -05:00
Johannes Brüderl
2740ac33c8 usb: core: add USB_QUIRK_NO_BOS for devices that hang on BOS descriptor
Add USB_QUIRK_NO_BOS quirk flag to skip requesting the BOS descriptor
for devices that cannot handle it.

Add Elgato 4K X (0fd9:009b) to the quirk table. This device hangs when
the BOS descriptor is requested at SuperSpeed Plus (10Gbps).

Link: https://bugzilla.kernel.org/show_bug.cgi?id=220027
Cc: stable <stable@kernel.org>
Signed-off-by: Johannes Brüderl <johannes.bruederl@gmail.com>
Link: https://patch.msgid.link/20251207090220.14807-1-johannes.bruederl@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-07 17:07:00 +01:00
Taniya Das
685ec34833 clk: qcom: Add support for GPUCC and GXCLK for Kaanapali
Support the graphics clock controller for Kaanapali for Graphics SW
driver to use the clocks. GXCLKCTL (Graphics GX Clock Controller) is a
block dedicated to managing clocks for the GPU subsystem on GX power
domain. The GX clock controller driver manages only the GX GDSC and the
rest of the resources of the controller are managed by the firmware.

Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260107-kaanapali-mmcc-v3-v3-11-8e10adc236a8@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-07 09:52:57 -06:00
Taniya Das
a4ceaf4b18 clk: qcom: Add support for VideoCC driver for Kaanapali
Enable Kaanapali video clock driver for video SW to be able to control
the clocks from the Video SW driver.

Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260107-kaanapali-mmcc-v3-v3-10-8e10adc236a8@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-07 09:52:57 -06:00
Taniya Das
92aae35f66 clk: qcom: camcc: Add support for camera clock controller for Kaanapali
Add support for the Camera Clock Controller (CAMCC) on the Kaanapali
platform.

The CAMCC block on Kaanapali includes both the primary camera clock
controller and the Camera BIST clock controller, which provides the
functional MCLK required for camera operations.

Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260107-kaanapali-mmcc-v3-v3-9-8e10adc236a8@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-07 09:52:57 -06:00
Taniya Das
6c6750b706 clk: qcom: dispcc: Add support for display clock controller Kaanapali
Support the clock controller driver for Kaanapali to enable display SW to
be able to control the clocks.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260107-kaanapali-mmcc-v3-v3-8-8e10adc236a8@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-07 09:52:57 -06:00
Taniya Das
6d3e77facb clk: qcom: clk-alpha-pll: Add support for controlling Pongo EKO_T PLL
Add clock ops for Pongo EKO_T PLL, add the pll ops for supporting
the PLL.

Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260107-kaanapali-mmcc-v3-v3-2-8e10adc236a8@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-07 09:52:57 -06:00
Taniya Das
0f85ef3790 clk: qcom: clk-alpha-pll: Update the PLL support for cal_l
Recent QCOM PLLs require the CAL_L field to be programmed according to
specific hardware recommendations, rather than using the legacy default
value of 0x44. Hardcoding this value can lead to suboptimal or incorrect
behavior on newer platforms.

To address this, introduce a `cal_l` field in the PLL configuration
structure, allowing CAL_L to be set explicitly based on platform
requirements. This improves flexibility and ensures correct PLL
initialization across different hardware variants.

Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260107-kaanapali-mmcc-v3-v3-1-8e10adc236a8@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-07 09:52:57 -06:00
Bjorn Andersson
86f5c81f24 Merge branch '20260107-kaanapali-mmcc-v3-v3-0-8e10adc236a8@oss.qualcomm.com' into clk-for-6.20
Merge the Kaanapali camera, display, GPU, and video clock controller
bindings through a topic branch, to allow making them available to the
DeviceTree branch as well.
2026-01-07 09:52:57 -06:00
Taniya Das
f9580bafd3 clk: qcom: camcc: Add camera clock controller driver for SM8750 SoC
Add support for the Camera Clock Controller (CAMCC) on the SM8750
platform.

The CAMCC block on SM8750 includes both the primary camera clock
controller and the Camera BIST clock controller, which provides the
functional MCLK required for camera operations.

Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251202-sm8750_camcc-v1-3-b3f7ef6723f1@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-07 09:52:56 -06:00
Taniya Das
a419f7bfb7 clk: qcom: clk-alpha-pll: Add support for controlling Rivian PLL
Add clock ops for Rivian ELU and EKO_T PLLs, add the register offsets
for the Rivian ELU PLL. Since ELU and EKO_T shared the same offsets and
PLL ops, reuse the Rivian EKO_T enum.

Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260107-kaanapali-mmcc-v3-v3-3-8e10adc236a8@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-07 09:52:51 -06:00
Taniya Das
ecc3adefa7 dt-bindings: clock: qcom: document the Kaanapali GPU Clock Controller
Qualcomm GX(graphics) is a clock controller which has PLLs, clocks and
Power domains (GDSC), but the requirement from the SW driver is to use
the GDSC power domain from the clock controller to recover the GPU
firmware in case of any failure/hangs. The rest of the resources of the
clock controller are being used by the firmware of GPU. This module
exposes the GDSC power domains which helps the recovery of Graphics
subsystem.

Add bindings documentation for the Kaanapali Graphics Clock and Graphics
power domain Controller for Kaanapali SoC.

Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260107-kaanapali-mmcc-v3-v3-7-8e10adc236a8@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-07 09:42:14 -06:00
Taniya Das
e043131550 dt-bindings: clock: qcom: Add Kaanapali video clock controller
Add device tree bindings for the video clock controller on Qualcomm
Kaanapali SoC.

Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260107-kaanapali-mmcc-v3-v3-6-8e10adc236a8@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-07 09:42:14 -06:00
Taniya Das
9d566b0431 dt-bindings: clock: qcom: Add support for CAMCC for Kaanapali
Update the compatible and the bindings for CAMCC support on Kaanapali
SoC.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260107-kaanapali-mmcc-v3-v3-5-8e10adc236a8@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-07 09:42:14 -06:00
Taniya Das
322aad122c dt-bindings: clock: qcom: document Kaanapali DISPCC clock controller
Document device tree bindings for display clock controller for
Qualcomm Kaanapali SoC.

Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260107-kaanapali-mmcc-v3-v3-4-8e10adc236a8@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-07 09:42:14 -06:00
Bjorn Andersson
6ff40ddbb4 Merge branch '20251202-sm8750_camcc-v1-2-b3f7ef6723f1@oss.qualcomm.com' into clk-for-6.20
Merge the SM8750 camera clock controller binding through a topic branch,
in order to allow the defines to made availabe to the DeviceTree
branch as well.
2026-01-07 09:37:15 -06:00
Taniya Das
82efed175b dt-bindings: clock: qcom: Add camera clock controller for SM8750 SoC
Add device tree bindings for the camera clock controller on
Qualcomm SM8750 platform. The camera clock controller is split between
camcc and cambist. The cambist controls the mclks of the camera clock
controller.

Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251202-sm8750_camcc-v1-2-b3f7ef6723f1@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-07 09:37:01 -06:00
George Moussalem
04c4dc1f54 clk: qcom: gcc-ipq5018: flag sleep clock as critical
The sleep clock never be disabled. To avoid the kernel trying to disable
it and keep it always on, flag it as critical.

Fixes: e3fdbef1ba ("clk: qcom: Add Global Clock controller (GCC) driver for IPQ5018")
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251128-ipq5018-sleep-clk-fix-v1-1-6f4b75ec336c@outlook.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-07 09:35:55 -06:00
Barnabás Czémán
e4eb42f290 clk: qcom: gcc-msm8917: Remove ALWAYS_ON flag from cpp_gdsc
cpp_gdsc should not be always on, ALWAYS_ON flag was set accidentally.

Fixes: 33cc27a47d ("clk: qcom: Add global clock controller driver for MSM8917")
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251117-fix-gdsc-cpp-msm8917-msm8953-v1-2-db33adcff28a@mainlining.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-07 09:34:40 -06:00
Barnabás Czémán
5f613e7034 clk: qcom: gcc-msm8953: Remove ALWAYS_ON flag from cpp_gdsc
cpp_gdsc should not be always on, ALWAYS_ON flag was set accidentally.

Fixes: 9bb6cfc3c7 ("clk: qcom: Add Global Clock Controller driver for MSM8953")
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251117-fix-gdsc-cpp-msm8917-msm8953-v1-1-db33adcff28a@mainlining.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-07 09:34:40 -06:00
Daniil Titov
a6df111d55 clk: qcom: gcc: Add support for Global Clock controller found on SDM439
Modify existing MSM8917 driver to support SDM439 SoC. SDM439 SoC has the
same changes as MSM8937 SoC, but with different gpll3 vco rate and
different GFX3D clock frequency table.

Signed-off-by: Daniil Titov <daniilt971@gmail.com>
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251117-gcc-msm8940-sdm439-v2-4-4af57c8bc7eb@mainlining.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-07 09:34:29 -06:00
Barnabás Czémán
7a5a8a67c0 dt-bindings: clock: qcom: Add SDM439 Global Clock Controller
Add devicetree bindings for the global clock controller on Qualcomm
SDM439 platform.

Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
Link: https://lore.kernel.org/r/20251117-gcc-msm8940-sdm439-v2-3-4af57c8bc7eb@mainlining.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-07 09:34:28 -06:00
Daniil Titov
b97a615005 clk: qcom: gcc: Add support for Global Clock controller found on MSM8940
Modify existing MSM8917 driver to support MSM8940 SoC. MSM8940 SoC has the
same changes as MSM8937 SoC, but with additional IPA clk and different
GFX3D clock frequency table.

Signed-off-by: Daniil Titov <daniilt971@gmail.com>
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251117-gcc-msm8940-sdm439-v2-2-4af57c8bc7eb@mainlining.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-07 09:34:28 -06:00
Barnabás Czémán
d88d5bedb5 dt-bindings: clock: qcom: Add MSM8940 Global Clock Controller
Add devicetree bindings for the global clock controller on Qualcomm
MSM8940 platform.

Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
Link: https://lore.kernel.org/r/20251117-gcc-msm8940-sdm439-v2-1-4af57c8bc7eb@mainlining.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-07 09:34:28 -06:00
Beleswar Padhi
4df89cb826 dt-bindings: remoteproc: Add HSM M4F core on TI K3 SoCs
Some of the TI K3 family of SoCs have a HSM (High Security Module) M4F
core in the Wakeup Voltage Domain which could be used to run secure
services like Authentication. Add the device tree bindings document for
this HSM M4F core.

The added example illustrates the DT node for the HSM core present on K3
J722S SoC.

Signed-off-by: Beleswar Padhi <b-padhi@ti.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260106104755.948086-2-b-padhi@ti.com
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
2026-01-07 08:32:04 -07:00
Krzysztof Kozlowski
1d32389dc5 dt-bindings: usb: qcom,dwc3: Correct MSM8994 interrupts
According to the reference manual, MSM8994 does have QUSB2 PHY and does
not have DP/DM IRQs interrupts.  It is also logical it has the same
constraints as similar device: MSM8996.

This fixes dtbs_check warnings like:

  msm8994-sony-xperia-kitakami-karin.dtb: usb@f92f8800 (qcom,msm8994-dwc3): interrupt-names:1: 'hs_phy_irq' was expected
  msm8994-sony-xperia-kitakami-karin.dtb: usb@f92f8800 (qcom,msm8994-dwc3): interrupt-names:2: 'dp_hs_phy_irq' was expected
  msm8994-sony-xperia-kitakami-karin.dtb: usb@f92f8800 (qcom,msm8994-dwc3): interrupt-names:3: 'dm_hs_phy_irq' was expected

Fixes: 53c6d854be ("dt-bindings: usb: dwc3: Clean up hs_phy_irq in binding")
Fixes: 6e762f7b8e ("dt-bindings: usb: Introduce qcom,snps-dwc3")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20260106185012.19551-4-krzysztof.kozlowski@oss.qualcomm.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-07 16:28:15 +01:00
Krzysztof Kozlowski
db0635a304 dt-bindings: usb: qcom,dwc3: Correct IPQ5018 interrupts
According to reference manual, IPQ5018 does not have QUSB2 PHY and its
interrupts should rather match ones used in IPQ5332 (so power_event,
eud_dmse_int_mx, eud_dpse_int_mx).

Fixes: 53c6d854be ("dt-bindings: usb: dwc3: Clean up hs_phy_irq in binding")
Fixes: 6e762f7b8e ("dt-bindings: usb: Introduce qcom,snps-dwc3")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20260106185012.19551-3-krzysztof.kozlowski@oss.qualcomm.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-07 16:28:15 +01:00
Arnaud Ferraris
1366cd228b tcpm: allow looking for role_sw device in the main node
If ports are defined in the tcpc main node, fwnode_usb_role_switch_get()
returns an error, meaning usb_role_switch_get() (which would succeed)
never gets a chance to run as port->role_sw isn't NULL, causing a
regression on devices where this is the case.

Fix this by turning the NULL check into IS_ERR_OR_NULL(), so
usb_role_switch_get() can actually run and the device get properly probed.

Fixes: 2d8713f807 ("tcpm: switch check for role_sw device with fw_node")
Cc: stable <stable@kernel.org>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Dragan Simic <dsimic@manjaro.org>
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
Link: https://patch.msgid.link/20260105-fix-ppp-power-v2-1-6924f5a41224@collabora.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-07 16:28:05 +01:00
Thinh Nguyen
0ed91d4795 usb: dwc3: Check for USB4 IP_NAME
Synopsys renamed DWC_usb32 IP to DWC_usb4 as of IP version 1.30. No
functional change except checking for the IP_NAME here. The driver will
treat the new IP_NAME as if it's DWC_usb32. Additional features for USB4
will be introduced and checked separately.

Cc: stable@vger.kernel.org
Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Link: https://patch.msgid.link/e6f1827754c7a7ddc5eb7382add20bfe3a9b312f.1767390747.git.Thinh.Nguyen@synopsys.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-07 16:27:32 +01:00
Konrad Dybcio
8b7f2aa05c arm64: dts: qcom: qcs615: Drop IPA interconnects
In the same spirit as e.g. Commit 6314184be3 ("arm64: dts: qcom:
sc8180x: Drop ipa-virt interconnect") drop the resources that should
be taken care of through the clk-rpmh driver.

Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250627-topic-qcs615_icc_ipa-v1-1-dc47596cde69@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-07 09:20:25 -06:00
Kuen-Han Tsai
56a512a9b4 usb: gadget: f_ncm: align net_device lifecycle with bind/unbind
Currently, the net_device is allocated in ncm_alloc_inst() and freed in
ncm_free_inst(). This ties the network interface's lifetime to the
configuration instance rather than the USB connection (bind/unbind).

This decoupling causes issues when the USB gadget is disconnected where
the underlying gadget device is removed. The net_device can outlive its
parent, leading to dangling sysfs links and NULL pointer dereferences
when accessing the freed gadget device.

Problem 1: NULL pointer dereference on disconnect
 Unable to handle kernel NULL pointer dereference at virtual address
 0000000000000000
 Call trace:
   __pi_strlen+0x14/0x150
   rtnl_fill_ifinfo+0x6b4/0x708
   rtmsg_ifinfo_build_skb+0xd8/0x13c
   rtmsg_ifinfo+0x50/0xa0
   __dev_notify_flags+0x4c/0x1f0
   dev_change_flags+0x54/0x70
   do_setlink+0x390/0xebc
   rtnl_newlink+0x7d0/0xac8
   rtnetlink_rcv_msg+0x27c/0x410
   netlink_rcv_skb+0x134/0x150
   rtnetlink_rcv+0x18/0x28
   netlink_unicast+0x254/0x3f0
   netlink_sendmsg+0x2e0/0x3d4

Problem 2: Dangling sysfs symlinks
 console:/ # ls -l /sys/class/net/ncm0
 lrwxrwxrwx ... /sys/class/net/ncm0 ->
 /sys/devices/platform/.../gadget.0/net/ncm0
 console:/ # ls -l /sys/devices/platform/.../gadget.0/net/ncm0
 ls: .../gadget.0/net/ncm0: No such file or directory

Move the net_device allocation to ncm_bind() and deallocation to
ncm_unbind(). This ensures the network interface exists only when the
gadget function is actually bound to a configuration.

To support pre-bind configuration (e.g., setting interface name or MAC
address via configfs), cache user-provided options in f_ncm_opts
using the gether_opts structure. Apply these cached settings to the
net_device upon creation in ncm_bind().

Preserve the use-after-free fix from commit 6334b8e455 ("usb: gadget:
f_ncm: Fix UAF ncm object at re-bind after usb ep transport error").
Check opts->net in ncm_set_alt() and ncm_disable() to ensure
gether_disconnect() runs only if a connection was established.

Fixes: 40d133d7f5 ("usb: gadget: f_ncm: convert to new function interface with backward compatibility")
Cc: stable@kernel.org
Signed-off-by: Kuen-Han Tsai <khtsai@google.com>
Link: https://patch.msgid.link/20251230-ncm-refactor-v1-3-793e347bc7a7@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-07 16:17:11 +01:00
Kuen-Han Tsai
0c0981126b usb: gadget: u_ether: Add auto-cleanup helper for freeing net_device
The net_device in the u_ether framework currently requires explicit
calls to unregister and free the device.

Introduce gether_unregister_free_netdev() and the corresponding
auto-cleanup macro. This ensures that if a net_device is registered, it
is properly unregistered and the associated work queue is flushed before
the memory is freed.

This is a preparatory patch to simplify error handling paths in gadget
drivers by removing the need for explicit goto labels for net_device
cleanup.

Signed-off-by: Kuen-Han Tsai <khtsai@google.com>
Link: https://patch.msgid.link/20251230-ncm-refactor-v1-2-793e347bc7a7@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-07 16:17:11 +01:00
Kuen-Han Tsai
e065c6a7e4 usb: gadget: u_ether: add gether_opts for config caching
Currently, the net_device is allocated when the function instance is
created (e.g., in ncm_alloc_inst()). While this allows userspace to
configure the device early, it decouples the net_device lifecycle from
the actual USB connection state (bind/unbind). The goal is to defer
net_device creation to the bind callback to properly align the lifecycle
with its parent gadget device.

However, deferring net_device allocation would prevent userspace from
configuring parameters (like interface name or MAC address) before the
net_device exists.

Introduce a new structure, struct gether_opts, associated with the
usb_function_instance, to cache settings independently of the
net_device. These settings include the interface name pattern, MAC
addresses (device and host), queue multiplier, and address assignment
type.

New helper functions are added:
- gether_setup_opts_default(): Initializes struct gether_opts with
  defaults, including random MAC addresses.
- gether_apply_opts(): Applies the cached options from a struct
  gether_opts to a valid net_device.

To expose these options to userspace, new configfs macros
(USB_ETHER_OPTS_ITEM and USB_ETHER_OPTS_ATTR_*) are defined in
u_ether_configfs.h. These attributes are part of the function
instance's configfs group.

This refactoring is a preparatory step. It allows the subsequent patch
to safely move the net_device allocation from the instance creation
phase to the bind phase without losing the ability to pre-configure
the interface via configfs.

Signed-off-by: Kuen-Han Tsai <khtsai@google.com>
Link: https://patch.msgid.link/20251230-ncm-refactor-v1-1-793e347bc7a7@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-07 16:17:11 +01:00
Randy Dunlap
c5177144b5 usb: typec: ucsi: drop an unused Kconfig symbol
EXTCON_TCSS_CROS_EC isn't used anywhere else in the kernel tree,
so drop it from this Kconfig file.

(unless it should be EXTCON_USBC_CROS_EC ?)

Fixes: f1a2241778 ("usb: typec: ucsi: Implement ChromeOS UCSI driver")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Reviewed-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
Reviewed-by: Benson Leung <bleung@chromium.org>
Link: https://patch.msgid.link/20251228190604.2484082-1-rdunlap@infradead.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-07 16:14:15 +01:00