These updates came a little late, or were based on a later 6.18-rc
tag than the others:
- A new driver for cache management on cxl devices with memory shared
in a coherent cluster. This is part of the drivers/cache/ tree, but
unlike the other drivers that back the dma-mapping interfaces, this
one is needed only during CPU hotplug.
- A shared branch for reset controllers using swnode infrastructure
- Added support for new SoC variants in the Amlogic soc_device
identification
- Minor updates in Freescale, Microchip, Samsung, and Apple SoC drivers
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmkzAWoACgkQmmx57+YA
GNmyOw//ZR4ie0Mcr2NrQFx0eozSKQ2NYpb+bCqy96livGiEjPMrQXqiEv9XMNmw
V9c3749cXUUMvbd6sNxco75k/8jTMko/K3ZC5DwMlAytgp49b/LK9I3Lj3hUX3+q
5X4B1TrgH5J42pJ60kDstjiY17anNxP99ht7A1gd2ijp1GIfQxYvUrhGMsELqTxm
aAznnsYhwI3O2pmJZj2F2Kj4jen6tfTlQh37oIDoLdweXxI9VGjSRY38/TcsgE3E
o2EwTuyhimmk2iVN5GmSksGQNj1neeJe3QEjMImcn3asR2WtLQOQGOcIa7OSvF7d
LIE3uQTxtz2W/2CLmM6RHeUwOwBOz9AD0dZ+JGaZ63ePdypU0w8xyrKhMgw9Pq5F
Mtt4ml3w2zAfyV4VqmkiYdCAML2kkzPfZRYxhASlYcZ/iAylhCqHJXWJ5SSp8BTc
QY+aZS9RFAylNvx5qVyOtPeDEqKl0UAnYJHF6JGNQR/6vEKvMwxVJ0EEaAo1luXg
z7RQCC2MRXX9QPq6YQcJXc4u3jDMTNkbElQy2CAXBUdbRVgFJPjTdtEqg860Cml6
HHXCazeVAPwA88NR4zHBl6QKxfqp8Iezf9WHTz1WS5xq/71kfdzyG9/zKK8jpoLh
5MXuyGpWhngep+DmOmP0i43HBzP7vD7g7086x+4jozTwg/TjV/s=
=YvxQ
-----END PGP SIGNATURE-----
Merge tag 'soc-drivers-6.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
Pull more SoC driver updates from Arnd Bergmann:
"These updates came a little late, or were based on a later 6.18-rc tag
than the others:
- A new driver for cache management on cxl devices with memory shared
in a coherent cluster. This is part of the drivers/cache/ tree, but
unlike the other drivers that back the dma-mapping interfaces, this
one is needed only during CPU hotplug.
- A shared branch for reset controllers using swnode infrastructure
- Added support for new SoC variants in the Amlogic soc_device
identification
- Minor updates in Freescale, Microchip, Samsung, and Apple SoC
drivers"
* tag 'soc-drivers-6.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (24 commits)
soc: samsung: exynos-pmu: fix device leak on regmap lookup
soc: samsung: exynos-pmu: Fix structure initialization
soc: fsl: qbman: use kmalloc_array() instead of kmalloc()
soc: fsl: qbman: add WQ_PERCPU to alloc_workqueue users
MAINTAINERS: Update email address for Christophe Leroy
MAINTAINERS: refer to intended file in STANDALONE CACHE CONTROLLER DRIVERS
cache: Support cache maintenance for HiSilicon SoC Hydra Home Agent
cache: Make top level Kconfig menu a boolean dependent on RISCV
MAINTAINERS: Add Jonathan Cameron to drivers/cache and add lib/cache_maint.c + header
arm64: Select GENERIC_CPU_CACHE_MAINTENANCE
lib: Support ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION
soc: amlogic: meson-gx-socinfo: add new SoCs id
dt-bindings: arm: amlogic: meson-gx-ao-secure: support more SoCs
memregion: Support fine grained invalidate by cpu_cache_invalidate_memregion()
memregion: Drop unused IORES_DESC_* parameter from cpu_cache_invalidate_memregion()
dt-bindings: cache: sifive,ccache0: add a pic64gx compatible
MAINTAINERS: rename Microchip RISC-V entry
MAINTAINERS: add new soc drivers to Microchip RISC-V entry
soc: microchip: add mfd drivers for two syscon regions on PolarFire SoC
dt-bindings: soc: microchip: document the simple-mfd syscon on PolarFire SoC
...
This is the first half of the driver changes:
- A treewide interface change to the "syscore" operations for
power management, as a preparation for future Tegra specific
changes.
- Reset controller updates with added drivers for LAN969x, eic770
and RZ/G3S SoCs.
- Protection of system controller registers on Renesas and Google SoCs,
to prevent trivially triggering a system crash from e.g. debugfs
access.
- soc_device identification updates on Nvidia, Exynos and Mediatek
- debugfs support in the ST STM32 firewall driver
- Minor updates for SoC drivers on AMD/Xilinx, Renesas, Allwinner, TI
- Cleanups for memory controller support on Nvidia and Renesas
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmky/8gACgkQmmx57+YA
GNlqohAApPTLM6Q4gf1cIcsTVaP0uxx9CBgupCGuT5ORrOMKBghVWjTOTSxeEAab
UQF465QwYUUu602GH34UmRaY9CKW2bMIsfmkgmxNB4Y4Qd7yCgQNJ/h/TnN0rBH+
qTeEsRH/hax4miSNsh0oOZfVkZkg+23VF02d1VL0CcaX7y4oT45RPBQugrNx/gNS
fHfVwgIq8vJ8WyrmM1h2nv1i1vgSzEy50B3kY674BBw83FcJTafNLvD7N5DSgD1H
/I/2xeyEpb+oL1VfeHcXZaX/jf04O+cmvSzBi+MOH1tI3MpdxJib1vEYBdggoOWN
K/FFGgsOY+DNmJPpSnPTTu8UpzksS8SxGBP7M9Q8roKZwA2c9wLotxySvjki5yv8
2zvabRdzbrSaoYwsH9QnZdQ2hVkJ9W8MESu8PevD3yMNuFUzledPDWW0N1SbGm78
0ZdB6NPdaBZYHMNMRdFhN8P275/Mx5e0XWN9oYMQqjPooH7YkyT7hJWz6ao2PCJP
8mDmnW1RzL+LWf7mJ25ZEtS+YjmKA/PVmogRrGurKCadvdxXqCF09KNljICHhmmu
t0KB4dqw02OXLPvBk21qCi0zL56w1JDgqtS8suFvDYo9sCceeAbAcmpyoUOFj2N+
Upn976tb4iqFrr9mFswpmCJWPpqJkU+A+KnKsIRPU7N4kSrP35I=
=HvlN
-----END PGP SIGNATURE-----
Merge tag 'soc-drivers-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
Pull SoC driver updates from Arnd Bergmann:
"This is the first half of the driver changes:
- A treewide interface change to the "syscore" operations for power
management, as a preparation for future Tegra specific changes
- Reset controller updates with added drivers for LAN969x, eic770 and
RZ/G3S SoCs
- Protection of system controller registers on Renesas and Google
SoCs, to prevent trivially triggering a system crash from e.g.
debugfs access
- soc_device identification updates on Nvidia, Exynos and Mediatek
- debugfs support in the ST STM32 firewall driver
- Minor updates for SoC drivers on AMD/Xilinx, Renesas, Allwinner, TI
- Cleanups for memory controller support on Nvidia and Renesas"
* tag 'soc-drivers-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (114 commits)
memory: tegra186-emc: Fix missing put_bpmp
Documentation: reset: Remove reset_controller_add_lookup()
reset: fix BIT macro reference
reset: rzg2l-usbphy-ctrl: Fix a NULL vs IS_ERR() bug in probe
reset: th1520: Support reset controllers in more subsystems
reset: th1520: Prepare for supporting multiple controllers
dt-bindings: reset: thead,th1520-reset: Add controllers for more subsys
dt-bindings: reset: thead,th1520-reset: Remove non-VO-subsystem resets
reset: remove legacy reset lookup code
clk: davinci: psc: drop unused reset lookup
reset: rzg2l-usbphy-ctrl: Add support for RZ/G3S SoC
reset: rzg2l-usbphy-ctrl: Add support for USB PWRRDY
dt-bindings: reset: renesas,rzg2l-usbphy-ctrl: Document RZ/G3S support
reset: eswin: Add eic7700 reset driver
dt-bindings: reset: eswin: Documentation for eic7700 SoC
reset: sparx5: add LAN969x support
dt-bindings: reset: microchip: Add LAN969x support
soc: rockchip: grf: Add select correct PWM implementation on RK3368
soc/tegra: pmc: Add USB wake events for Tegra234
amba: tegra-ahb: Fix device leak on SMMU enable
...
Two fixes for Exynos PMU (Power Management Unit) driver:
1. Silence lockdep warning being actually a false positive, but quite
disturbing during testing. Issue was introduced in v6.18.
2. Drop device refcount when requesting device regmap with
exynos_get_pmu_regmap_by_phandle(). Issue was introduced much
earlier (around v6.9), with code being rewritten in between.
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmkweagQHGtyemtAa2Vy
bmVsLm9yZwAKCRDBN2bmhouD1+RXD/46XatAquz//HijWDIbcQyNuCEGkAy9CrgO
HBZVJ3uGlA1o2YOYC5ZhNWXE5XeOTglIOweVwvQNFhdj/4LevZkvSr8bvcM24XEE
yfZZcPtnTrbT1c4FD6LlAiPV3VqaIIYtzuG8MLOkuTqLjaadBR77nijfst/0/fkp
eE9nUq6A8nwgkuGjnTuwspLlV0nOImevUdBPnXPoik2nNHQgyca1J9pA5AgSpghF
Xwdf1WZ0F0bGZa3OnyOfqVms9Xdye/bRhkokAfUVKCIn3lLVsGih6xqzp3xEXpG4
JSZlYZll71mB7v8knRZDIL3D2IGdEVaT/Sss0g4FePchJS6sokcUZVFMOc169Z+b
Q5UiCpB+L1fkaOUBw6hD1/9VyatB9uHtXTeqZU9Qnnocl2xHsJip7ar6zAgPm0bG
UUejo69S9/D6YQEAIT19cb42bsv3wOh4fKQxjc8MxLbcDYItVBJNXduSnDQuTfkc
Wx8OJa9XxdL663law9G95bMquyp3TMGNommkBbZBOskja3FXmndicfhMAoCZKL/2
mQYxnZPRZ1feLVjrnnCRTKXy89LiK9gT3iQ368tMb1c4af7alw2SlKAS018Mo6/h
o5n+2bxEYpRi+d04rtivEJyyD3jSZ5FLxV61AwdumPrlLXM+FtwN21ZviKt3g89C
6liRv6B2Aw==
=lz9b
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmky7McACgkQmmx57+YA
GNm8XQ/8CK+CAWApwsA35J/S69UjGvleDsPa2I+/XO2QMdMbfJCmCJ5xXtmr8195
Mht2sXHs5p5pXvMc+nOsjoDj8aQnkK09e5UWh0TiuRhf+hJN53XBX+Qdc37tVmPg
1N7Qa2fI1+g2W+DAwoADqDF0r7UmL+J5rG6Y3pgxVbCMNNd3FblkTdXiXpBwkVhy
EiNbuVxsnH2BYB1e8+h4AJa1Hm/3uixxIePPQ+puH6zN9rJuAvaFNEBokpUeZJCi
b99bOuU3XCH4amx9Wap9bH/1qaEuNEM29BG6dh7S5qDbzu0Jd6BLuEhC329wmVCi
Hys0frqyc01zqgXEPrF7XWyTuvZIjp08I28VS/B1/XjfIh25bCZ95F4E7tIQ3D2G
X1WcBvX/6DPQKElY5HtV8JMu1osvLHsUNCR9BHwVqllBpwFrYfDIMfkzUnPgNSnw
Wg65yAeof3loev8b2mRhpbWf4n8y10780oflwe+2O9eZcI1vlUvzHLsHh6Pig2/j
P6nDzFtW09Q697GTb4U5Tig2NKki7naxWOYJMt+QVrRGnjcYSZsByQrvSxtoI0WD
KhfGF/2C6cxFQriBdY9wnVaqWwVooQg08PEfrDNQ7MUTfn8CMVz793QdPvaSNwmY
oN+/845GObSxTpW9Rwzq7oRovakbCx64FmIqlwh9wHBtOY0VLvY=
=34BB
-----END PGP SIGNATURE-----
Merge tag 'samsung-drivers-6.19-2-late' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/drivers-late
Samsung SoC drivers for v6.19, part two
Two fixes for Exynos PMU (Power Management Unit) driver:
1. Silence lockdep warning being actually a false positive, but quite
disturbing during testing. Issue was introduced in v6.18.
2. Drop device refcount when requesting device regmap with
exynos_get_pmu_regmap_by_phandle(). Issue was introduced much
earlier (around v6.9), with code being rewritten in between.
* tag 'samsung-drivers-6.19-2-late' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
soc: samsung: exynos-pmu: fix device leak on regmap lookup
soc: samsung: exynos-pmu: Fix structure initialization
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
DT bindings:
- Convert lattice,ice40-fpga-mgr, apm,xgene-storm-dma, brcm,sr-thermal,
amazon,al-thermal, brcm,ocotp, mt8173-mdp, Actions Owl SPS, Marvell
AP80x System Controller, Marvell CP110 System Controller,
cznic,moxtet, and apm,xgene-slimpro-mbox to DT schema format
- Add i.MX95 fsl,irqsteer, MT8365 Mali Bifrost GPU, Anvo ANV32C81W
EEPROM, and Microchip pic64gx PLIC
- Add missing LGE, AMD Seattle, and APM X-Gene SoC platform compatibles
- Updates to brcm,bcm2836-l1-intc, brcm,bcm2835-hvs, and bcm2711-hdmi
bindings to fix warnings on BCM2712 platforms
- Drop obsolete db8500-thermal.txt
- Treewide clean-up of extra blank lines and inconsistent quoting
- Ensure all .dtbo targets are applied to a base .dtb
- Speed up dt_binding_check by skipping running validation on empty
examples
DT core:
- Add of_machine_device_match() and of_machine_get_match_data() helpers
and convert users treewide
- Fix bounds checking of address properties in FDT code. Rework the code
to have a single implementation of the bounds checks.
- Rework of_irq_init() to ignore any implicit interrupt-parent (i.e. in
a parent node) on nodes without an interrupt. This matches the spec
description and fixes some RISC-V platforms.
- Avoid a spurious message on overlay removal
- Skip DT kunit tests on RISCV+ACPI
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEktVUI4SxYhzZyEuo+vtdtY28YcMFAmkwYp0ACgkQ+vtdtY28
YcMS1g/+Mr3pzojHKUEClu3hglNEw1Bvl/rD07s5q+f4d2eayXtRJVBDgKIwYciT
rROXLV9m0Ko2RGiRLHAeB/h4Jjd8NXzLM0GA0YvoHSgtk77xLCuzK5ZEW3o6EoYW
DWVHyoMHDNRRC0Iu+CaS6XId1DrtbV6Wc/oLYvoSJvpdsW9EYOksfrtKQAYU9X5p
/x5XKO4h8RIQTBmg/kjvJLUV6+7cJvOnkF/JkDyh+xOHrIJzQp/bJwcKiU3hGlhX
nGFtjmItNDsFGvR1CtDzUobEE/wgI3xCQHUmufInSNPB7VGw3hbp0nvaQ6htPQQQ
NOA1Q7lXJtqChUZx7OAHk64TQHhVlmJJoy0zCueTgRyjXU0nWb/id2Hn16k96FRh
3YCGArTBFlRriHuCj0fsZ618cLEN2nZCzqSf34HVjs30iP7oLauEJ+WgmfH491TB
eq60Vlwomxq60/hWqCdY1NTCo/zbfYUE+exry69NcL5KSZBN2WGwLPZUgVvYhNO3
dhSgAg+06ib7uq0LLUiokQXaByEEFJt2TxIjp9IDAqkPnvQmDverKL5DZUBHIYxw
E/89Pmm77DagdcIhMocbsdoH5Qu4qH8pdhfR3PL+Ma9drRLxmk3MpiT52VJZem0S
iXHb6fyfQzQ/WJcA4sKapa8EMZRm/9U/pVDx1msDmHfB8pbDEi0=
=ZM/+
-----END PGP SIGNATURE-----
Merge tag 'devicetree-for-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
Pull devicetree updates from Rob Herring:
"DT bindings:
- Convert lattice,ice40-fpga-mgr, apm,xgene-storm-dma,
brcm,sr-thermal, amazon,al-thermal, brcm,ocotp, mt8173-mdp, Actions
Owl SPS, Marvell AP80x System Controller, Marvell CP110 System
Controller, cznic,moxtet, and apm,xgene-slimpro-mbox to DT schema
format
- Add i.MX95 fsl,irqsteer, MT8365 Mali Bifrost GPU, Anvo ANV32C81W
EEPROM, and Microchip pic64gx PLIC
- Add missing LGE, AMD Seattle, and APM X-Gene SoC platform
compatibles
- Updates to brcm,bcm2836-l1-intc, brcm,bcm2835-hvs, and bcm2711-hdmi
bindings to fix warnings on BCM2712 platforms
- Drop obsolete db8500-thermal.txt
- Treewide clean-up of extra blank lines and inconsistent quoting
- Ensure all .dtbo targets are applied to a base .dtb
- Speed up dt_binding_check by skipping running validation on empty
examples
DT core:
- Add of_machine_device_match() and of_machine_get_match_data()
helpers and convert users treewide
- Fix bounds checking of address properties in FDT code. Rework the
code to have a single implementation of the bounds checks.
- Rework of_irq_init() to ignore any implicit interrupt-parent (i.e.
in a parent node) on nodes without an interrupt. This matches the
spec description and fixes some RISC-V platforms.
- Avoid a spurious message on overlay removal
- Skip DT kunit tests on RISCV+ACPI"
* tag 'devicetree-for-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (55 commits)
dt-bindings: kbuild: Skip validating empty examples
dt-bindings: interrupt-controller: brcm,bcm2836-l1-intc: Drop interrupt-controller requirement
dt-bindings: display: Fix brcm,bcm2835-hvs bindings for BCM2712
dt-bindings: display: bcm2711-hdmi: Add interrupt details for BCM2712
of: Skip devicetree kunit tests when RISCV+ACPI doesn't populate root node
soc: tegra: Simplify with of_machine_device_match()
soc: qcom: ubwc: Simplify with of_machine_get_match_data()
powercap: dtpm: Simplify with of_machine_get_match_data()
platform: surface: Simplify with of_machine_get_match_data()
irqchip/atmel-aic: Simplify with of_machine_get_match_data()
firmware: qcom: scm: Simplify with of_machine_device_match()
cpuidle: big_little: Simplify with of_machine_device_match()
cpufreq: sun50i: Simplify with of_machine_device_match()
cpufreq: mediatek: Simplify with of_machine_get_match_data()
cpufreq: dt-platdev: Simplify with of_machine_get_match_data()
of: Add wrappers to match root node with OF device ID tables
dt-bindings: eeprom: at25: Add Anvo ANV32C81W
of/reserved_mem: Simplify the logic of __reserved_mem_alloc_size()
of/reserved_mem: Simplify the logic of fdt_scan_reserved_mem_reg_nodes()
of/reserved_mem: Simplify the logic of __reserved_mem_reserve_reg()
...
Microchip:
Add bindings and mfd drivers for two syscon regions on PolarFire SoC,
needed as part of a rework of the devicetree to permit supporting,
among other things, pinctrl sanely and avoiding the "new" pic64gx SoC
ever using the original incorrect clock nodes. Fiddle with the Microchip
RISC-V MAINTAINERS entry to add these drivers and avoid branding it FPGA
only.
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCaSh2VwAKCRB4tDGHoIJi
0v1wAQDkO6LPWFsER9jbuSlGCWMvfPalt4ANm2drGchLjivx9AD7BK2X9hMDjZbb
9Aw7UIvVmz6blpnMuvH+waFc0l8V1wQ=
=TqpS
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmkoyc8ACgkQmmx57+YA
GNns8w//VuJyVQzyCEh/MC+eCMeQXFEYFkHYAFgrE3YAbeQYS1fZgF0O4U+dvtlh
5yZb9uDIo8a+xlGzTEJg2CxzC/o2aGHCmxOElNnjTkXqPWbO3Y/kPT65342DUDWX
JTz82DzbIZ+1Hiq+/bjW2I4iNvLPRemXxdzDl1DMBWV6HMkdSteJKlmDlwNhdbLQ
5W51QskiijY+Wg+a5/tZ0mUHTEF02CVK5yiqawsH7hjkSLZhUNUUUah+ygjehDmQ
XKBM2bf/oXkBFl3Z7z4WCmDkqIPZ2DAWG3kjr4xGNb5cPEiXUf9tv6qjEtJe9FVQ
cyvcQ1UzN55yOUp5kR0n3xaJY+WRqA7kHllKKStWnC/mB9Q74fQZ8Mm1JPL6dcj1
YaKC06TJgaUQ4hwnZyD4rNguKoc/JWDTjNfC5nMaUyvmBr7Fnwfn96Uhe6yNUVkT
FGDgau1YdIIqaahSV3Mc7TC7+x4MFE2Ndyg1F775mlj8++05L3tW852Wrtc/Faa0
5w4VsC/17sLEm71cO4S0S+xuPdrBas8O6GrFfDX1rcZ2EUsGbjcaV+Wgz/vHQcuA
H36aC4f9cWP73GnoDBufd0Ue31lioqtUGgD6n7zqXKXwMiLGGQYEZpZdEMM+zdGd
hZjRvq1T4WoWd7RCcqvHsZVqBzcV23VKNQ+6SFVdY/bZL9h2H4c=
=JOnG
-----END PGP SIGNATURE-----
Merge tag 'soc-drivers-for-v6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into soc/drivers-late
RISC-V soc-drivers for v6.19
Microchip:
Add bindings and mfd drivers for two syscon regions on PolarFire SoC,
needed as part of a rework of the devicetree to permit supporting,
among other things, pinctrl sanely and avoiding the "new" pic64gx SoC
ever using the original incorrect clock nodes. Fiddle with the Microchip
RISC-V MAINTAINERS entry to add these drivers and avoid branding it FPGA
only.
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
* tag 'soc-drivers-for-v6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux:
MAINTAINERS: rename Microchip RISC-V entry
MAINTAINERS: add new soc drivers to Microchip RISC-V entry
soc: microchip: add mfd drivers for two syscon regions on PolarFire SoC
dt-bindings: soc: microchip: document the simple-mfd syscon on PolarFire SoC
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Two small fixes:
- mailbox: Stop leaking a reference to the mbox platform device during
lookup
- sart: drop device reference after lookup since it's no longer used
afterwards
Signed-off-by: Sven Peter <sven@kernel.org>
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQS3vz815OHsEaWy0u9EEX0kKnUe6QUCaSdsTAAKCRBEEX0kKnUe
6Q3TAP9LzbLNHLFbDgCQXRRU5Qb5RxakNQ6o6eoyJP2I4C16SwEA0PChp6r/yH7I
US56W3mTG3vlJKag472fLyDmZITkFw0=
=9YPH
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmkoyaMACgkQmmx57+YA
GNln3A/9E7TppsITh3vRzMhHUanabw6Lsy0K/kg0oUx9YWa4fRRqtqbO2sI6L+ch
M9jb0PKXFEbZzpNN67fYBG/f0sSSkhjUEAUiJD1irrXtDcOPAnm5Mx1FlentnE/u
P1Y/Jr0unCQ9Qur6u35soUs4+QUhlDnTmTYRHP27zoPoaynziW2Uhz+GbZoqZ4Ty
PrCEu3h0qZZU4JaFeQo3tn1Z3g72UqMFfIFGyOZpsg6mMBfrus6FTn5BAGc7OHtq
73spyb56/6T8R7YRPfFB2VgrP6ndbQN1GY4vKQ2tdpA9VUybXJoidmtgJj9kw5pp
1Q7c5TscgElgLnl9xA8hU7V0O0eYMB2JsHD80lNDEn0wn3/6GiUSWayqrSgqMBTN
1eD6NXnHpg8WhZWW0jiSGrGi2x5o/JkLw4XrmIxp6kKrNXyrjuRHZOm23dYUBEsx
M2yQZGrgBhlMb0v6EqKc/AcxIr+Vs8L+OHaIGbrb1Jx4V9Hz+QrRwuO/pDbTwxTc
ssaTAf5dKoqQO63dtmdNPkwh7PHBxXdo3CDeHgAqMiQ7cEutmw3QQi2ik0sPtar9
phcX2bjwYdzbWaorp/k0CVQAF0N/2wjYJYXsBAJiczFweagfiii5vZOYkrFH31vy
8FWq0kRoIt+HZF8Y/j/AjNnLLJ6iCmaowoanYplRxw1F4W6oFgQ=
=Mjfk
-----END PGP SIGNATURE-----
Merge tag 'apple-soc-drivers-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/sven/linux into soc/drivers-late
Apple SoC driver updates for 6.18
Two small fixes:
- mailbox: Stop leaking a reference to the mbox platform device during
lookup
- sart: drop device reference after lookup since it's no longer used
afterwards
Signed-off-by: Sven Peter <sven@kernel.org>
* tag 'apple-soc-drivers-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/sven/linux:
soc: apple: sart: drop device reference after lookup
soc: apple: mailbox: fix device leak on lookup
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Make sure to drop the reference taken when looking up the PMU device and
its regmap.
Note that holding a reference to a device does not prevent its regmap
from going away so there is no point in keeping the reference.
Fixes: 0b7c607502 ("soc: samsung: exynos-pmu: Add regmap support for SoCs that protect PMU regs")
Cc: stable@vger.kernel.org # 6.9
Cc: Peter Griffin <peter.griffin@linaro.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20251121121852.16825-1-johan@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Commit 78b72897a5 ("soc: samsung: exynos-pmu: Enable CPU Idle for
gs101") added system wide suspend/resume callbacks to Exynos PMU driver,
but some items used by these callbacks are initialized only on
GS101-compatible boards. Move that initialization to exynos_pmu_probe()
to avoid potential lockdep warnings like below observed during system
suspend/resume cycle:
INFO: trying to register non-static key.
The code is fine but needs lockdep annotation, or maybe
you didn't initialize this object before use?
turning off the locking correctness validator.
CPU: 0 UID: 0 PID: 2134 Comm: rtcwake Not tainted 6.18.0-rc7-next-20251126-00039-g1d656a1af243 #11794 PREEMPT
Hardware name: Samsung Exynos (Flattened Device Tree)
Call trace:
unwind_backtrace from show_stack+0x10/0x14
show_stack from dump_stack_lvl+0x68/0x88
dump_stack_lvl from register_lock_class+0x970/0x988
register_lock_class from __lock_acquire+0xc8/0x29ec
__lock_acquire from lock_acquire+0x134/0x39c
lock_acquire from _raw_spin_lock+0x38/0x48
_raw_spin_lock from exynos_cpupm_suspend_noirq+0x18/0x34
exynos_cpupm_suspend_noirq from dpm_run_callback+0x98/0x2b8
dpm_run_callback from device_suspend_noirq+0x8c/0x310
Fixes: 78b72897a5 ("soc: samsung: exynos-pmu: Enable CPU Idle for gs101")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://patch.msgid.link/20251126110038.3326768-1-m.szyprowski@samsung.com
[krzk: include calltrace into commit msg]
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Replace open-coded getting root OF node and matching against it with
new of_machine_device_match() helper.
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Thierry Reding <treding@nvidia.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://patch.msgid.link/20251112-b4-of-match-matchine-data-v2-11-d46b72003fd6@linaro.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Replace open-coded getting root OF node, matching against it and getting
the match data with new of_machine_get_match_data() helper.
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://patch.msgid.link/20251112-b4-of-match-matchine-data-v2-10-d46b72003fd6@linaro.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Replace kmalloc() with kmalloc_array() to prevent potential
overflow, as recommended in Documentation/process/deprecated.rst.
Signed-off-by: Gongwei Li <ligongwei@kylinos.cn>
Reviewed-by: Fushuai Wang <wangfushuai@baidu.com>
Link: https://lore.kernel.org/r/20251121061022.114609-1-13875017792@163.com
Signed-off-by: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
Currently if a user enqueues a work item using schedule_delayed_work() the
used wq is "system_wq" (per-cpu wq) while queue_delayed_work() use
WORK_CPU_UNBOUND (used when a cpu is not specified). The same applies to
schedule_work() that is using system_wq and queue_work(), that makes use
again of WORK_CPU_UNBOUND.
This lack of consistency cannot be addressed without refactoring the API.
alloc_workqueue() treats all queues as per-CPU by default, while unbound
workqueues must opt-in via WQ_UNBOUND.
This default is suboptimal: most workloads benefit from unbound queues,
allowing the scheduler to place worker threads where they’re needed and
reducing noise when CPUs are isolated.
This continues the effort to refactor workqueue APIs, which began with
the introduction of new workqueues and a new alloc_workqueue flag in:
commit 128ea9f6cc ("workqueue: Add system_percpu_wq and system_dfl_wq")
commit 930c2ea566 ("workqueue: Add new WQ_PERCPU flag")
This change adds a new WQ_PERCPU flag to explicitly request
alloc_workqueue() to be per-cpu when WQ_UNBOUND has not been specified.
With the introduction of the WQ_PERCPU flag (equivalent to !WQ_UNBOUND),
any alloc_workqueue() caller that doesn’t explicitly specify WQ_UNBOUND
must now use WQ_PERCPU.
Once migration is complete, WQ_UNBOUND can be removed and unbound will
become the implicit default.
Suggested-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Marco Crivellari <marco.crivellari@suse.com>
Link: https://lore.kernel.org/r/20251107152950.293899-1-marco.crivellari@suse.com
Signed-off-by: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
This adds socinfo entries for MT8189 Kompanio 540, an extra entry
for a variant of MT8391 (AV/AZA) Genio 720 SoC, and support for
the PMIC Wrapper (by adding a compatible string) in MT8189.
-----BEGIN PGP SIGNATURE-----
iLoEABYKAGIWIQQn3Xxr56ypAcSHzXSaNgTPrZeEeAUCaRMG/xsUgAAAAAAEAA5t
YW51MiwyLjUrMS4xMSwyLDIoHGFuZ2Vsb2dpb2FjY2hpbm8uZGVscmVnbm9AY29s
bGFib3JhLmNvbQAKCRCaNgTPrZeEeD10AQDq9xEZ3TYffYjCl9j41Ct8HDSmv0x/
nRTXBWXMH9JhbwD/YRigXkEQQcwPrluqgW/hBnF6a4br5AOns63n7j1xog0=
=dYcz
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmkltJIACgkQmmx57+YA
GNmqSxAAo0e8EKQhJxG5D90LyrKkJ7c/iDwRuMIvIAlRtzL874/k2brWs00gcQ8D
y7VvFFW1pgyuKCHaEV9iz8YHmOdbuzOjT8ZNRgZkgW006pFEys8kQeOIia6KpO1E
MGjZi3E77sRx/jlc6OGRs5dHuoRgx6p+RCC9q6y8goYhcO3AO27GmZYttGz1chTe
OJJWqomDsQM+zwWzkUbabIocPCmACcS+qcuQuf0PZuY+I2j4Rj/ZWnauW27hjsRp
puJremjmzG2XmunUrE9BU7r97ie7Cd2gRNRktiwkvHXn+fp5EJq6hB3J3frFGZjF
JMr0HkkekSnuDoJREw3tzJmnR6sAqC3kD75P42r+y9UaUgRKmDfbY89w31ojAUty
dTL284D1+35gfLDMeq7GOFDG0gTPGpfDfEZs5onoMwGIM7nZbmREba6n36OHvhHq
venYgKTOWv6ggbAc7Q40KYo2B55ZLX4hcJHW2AFuBkGTW+mndBOnIa1EV2BPC7cA
LN4L46/46LYP2vUUJ2BqSQxplStgTsLizO16O2AiF3k7culhesCHoiEHE8YHXuqu
omsDuqN9XTrIO/pgsYaxqmSZe4ggkRz4kGas1vax6FaayAIsWYTO9eRM0+I8/Row
/nSBx2ZEUZs5rMzrOGCo0akFmWLDlS22D9ebuHZB1SFtnG8B3PA=
=OEnV
-----END PGP SIGNATURE-----
Merge tag 'mtk-soc-for-v6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/drivers
MediaTek soc driver updates
This adds socinfo entries for MT8189 Kompanio 540, an extra entry
for a variant of MT8391 (AV/AZA) Genio 720 SoC, and support for
the PMIC Wrapper (by adding a compatible string) in MT8189.
* tag 'mtk-soc-for-v6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux:
dt-bindings: soc: mediatek: pwrap: Add compatible for MT8189 SoC
soc: mediatek: mtk-socinfo: Add entry for MT8391AV/AZA Genio 720
soc: mediatek: mtk-socinfo: Add extra entry for MT8189
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Support for hardware-keymanager v1 support for wrapped keys is introduce
in the ICE driver.
Support for the new Kaanapali mobile platform is added to last-level
cache controller, pd-mapper, and UBWC drivers.
UBWC driver gains support for the Monaco and Glymur platforms.
The PMIC GLINK driver is extended to handle the differences found in
targets where the related firmware runs on the SoCCP.
Support for running on targets without initialized SMEM is provided, by
reworking the SMEM driver to differentiate between "not yet probed" and
"probed but there was no SMEM". An unwanted WARN_ON() that triggered if
clients asked for a SMEM item beyond the currently running system's
limit, was removed, to allow new use cases to gracefully fail on old
targets.
The Qualcomm socinfo driver is extended with support for version 20
through 23 and support for providing version information about more than
32 remote processors. Identifiers for QCS6490 and SM8850 are also added.
Additionally, a number of smaller bug fixes and cleanups in PBS, OCMEM,
GSBI, TZMEM, and MDT-loader are included.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmkbfWsACgkQCx85Pw2Z
rcX64xAAx8b+PBGtPI7BSWzmybVbcwVrodul4z8Gtd++0wVXHOGVwiiBJ5tw3QI4
R58P2ENgRyBqdzH94G8JZ0XfdJ+qP0qYjhiEvr9jJ+aeuOyhDzlFQ6iSdCt/gG3g
wBnb8IyqVfLwj6t6erUHOCXv1Wa5GSdbj48cYaAcy2VMZK45UIiQDhPuoI75ZEFK
UBTRQkFiMTlOvr0bQznA3QALZwFCFRzkXbIuvYKCBmoWjgqKRekEFtm+PNGPfTUw
NKhITaI6UEjJN22uGrSNSzomuGLgfSsAPSIoty2E9c1FYglNsiRLLj80wJHqTK96
zIkTFsR0gJAcC91l7Vj+jAbXBTLZadzXBzlUdLSqeTUJ43RuTspNgWgV+5U+mwPE
NxUBEatrPx2tg9pxbnVXdphBEaOhq57XM/nL3wxRLdUw41dJ9hzFG6ieYWSbhPlh
6lx+aJOc2FsBpDkvnEWdkAxSOxnwWLdo+ICCljS/DDUKfBkZkgDX4yacL1QTBWP6
kuLDpmYUQNHlJ0Al/P4YuiOqMVoDz8ZwNHZoXRLPFZsI8rZEjMGoCqLvziOcQKS2
3kwXlC2ds/Q2DtYa/8ASNg/Laby9+5dSZndZWsL9jW8Uj4CgpZkZIa5VKXiQLOOz
bgVcJIClbw/+Tg6RH7WDveF3FVKJMu+LoVxogIrhNImBWh60fbA=
=Eh2U
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmklqIwACgkQmmx57+YA
GNl7/g/+M182m6/83pKU2JZyJQvYMG6r5p3TATOeXmjvsE/0dSbWpJd9/OA+Y0MM
VuGJTWLYGcWHl8xZTKakxS/H5Ngmrt+CdwEx9ei6uwLnCLLuXwJy+XhHC6yIM9Ec
7fJBCOUQHxHD/uHlHmu7qb9YpsNYnTfSE9Aj77lwokZGTdPG3yk/wD04EfDIYR0e
jYziEJSmcVljQvOusfPycNkEVbimqLAApnwdLthab/hepI0wzdtNJ8hmUYZGlqyt
vXtCYRZa8Y00MSdYvGKBJY33mTGNI71W+XJ0tYeetLh2vf9pA80ACxmP2D8FdsW0
3EVz/tWRwYAFVr/CmknXbhY35jXy3H4h83KFLLOwItGwaXfAk1hCCTMbNzMONIpU
+yA91hxvWaqNsYvRZUISxKaU9r29rcxpJ7PuehNp9/+f4sAqggjabE7SVt6vaQX2
Dz/PF2iEfm+lzd4+KEz6gx0Q8zNetQJRvy9pihGjBwnbtJJCBXUv+SG7BoCvYlY5
s1281QcEtTDF120VHmZ1HhOrRdsihK2pkGFQUTC6MsRHFECbKAk92otbfNlEY7J2
KdFDdf3cPswDuzNoSYNyUkO1UgWZkLLJbctfaYmd4afzxsLmdRmPMvkO1sy8O823
lRnls0Pukauld+NrppsCkle7DL4vOhX3GdACQrrmjBPDbKEfIA4=
=N2C2
-----END PGP SIGNATURE-----
Merge tag 'qcom-drivers-for-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers
Qualcomm driver updates for v6.19
Support for hardware-keymanager v1 support for wrapped keys is introduce
in the ICE driver.
Support for the new Kaanapali mobile platform is added to last-level
cache controller, pd-mapper, and UBWC drivers.
UBWC driver gains support for the Monaco and Glymur platforms.
The PMIC GLINK driver is extended to handle the differences found in
targets where the related firmware runs on the SoCCP.
Support for running on targets without initialized SMEM is provided, by
reworking the SMEM driver to differentiate between "not yet probed" and
"probed but there was no SMEM". An unwanted WARN_ON() that triggered if
clients asked for a SMEM item beyond the currently running system's
limit, was removed, to allow new use cases to gracefully fail on old
targets.
The Qualcomm socinfo driver is extended with support for version 20
through 23 and support for providing version information about more than
32 remote processors. Identifiers for QCS6490 and SM8850 are also added.
Additionally, a number of smaller bug fixes and cleanups in PBS, OCMEM,
GSBI, TZMEM, and MDT-loader are included.
* tag 'qcom-drivers-for-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (31 commits)
soc: qcom: mdt_loader: rename 'firmware' parameter of qcom_mdt_load()
soc: qcom: mdt_loader: merge __qcom_mdt_load() and qcom_mdt_load_no_init()
soc: qcom: socinfo: Add reserve field to support future extension
soc: qcom: socinfo: Add support for new fields in revision 20
dt-bindings: firmware: qcom,scm: Document SCM on Kaanapali SOC
soc: qcom: socinfo: add support to extract more than 32 image versions
soc: qcom: smem: drop the WARN_ON() on SMEM item validation
soc: qcom: ubwc: Add config for Kaanapali
soc: qcom: socinfo: Add SoC ID for QCS6490
dt-bindings: arm: qcom,ids: Add SoC ID for QCS6490
soc: qcom: ice: Add HWKM v1 support for wrapped keys
soc: qcom: smem: better track SMEM uninitialized state
err.h: add INIT_ERR_PTR() macro
soc: qcom: smem: fix hwspinlock resource leak in probe error paths
dt-bindings: soc: qcom,aoss-qmp: Document the Glymur AOSS side channel
dt-bindings: soc: qcom,aoss-qmp: Document the Kaanapali AOSS channel
soc: qcom: ubwc: Add QCS8300 UBWC cfg
dt-bindings: firmware: qcom,scm: Document Glymur scm
soc: qcom: socinfo: Add SM8850 SoC ID
dt-bindings: arm: qcom,ids: Add SoC ID for SM8850
...
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
A couple of small fixes across the board: ACPI support on FUSE no longer
exposes duplicate SoC information, speedo IDs for Tegra210 are updated,
some comments see typo fixes or kerneldoc additions. Finally, support
for USB wake events is added on Tegra234, which allow these systems to
resume from suspend on USB activity.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmkYO7YACgkQ3SOs138+
s6GjLhAAtZYYBEib28eSySwVdXp7EJj4HZadp0c54h0Q7UUOUkj6Wcvly7H9Tds6
qaIc+LpakgDbIJXfYS1uEe1L69QqR0BhUrLPxQFxJB/QDJOsqt7LGrCAV9ylQWSM
K6hD9/+vFpri4hPajM51kuyuZO7a5Df5keooq1/jQyVJ1I6N19m2NR1IygrO/wEt
gY271o64eFL0gsUX4rjB+N9DrWHVON8f8O9NIEvdKYF5Zkg5/PY+y6KKkZhpf38H
0J4yo8+EQObObx9RVvcy3wJ9Xq49P+aWMxXeP64VlcRhyXiiTGnIIplAoYvhOzNv
zqLF7R4YhmV+DLIEgw4MAnVVR59lRZKcNaLbd0Uq9uaeKazvg5hUZdOAU92Bxp0N
nRNbkeXekE0KSMTQtAd3Chu8Qukbjs+KtT9EUJhtPOLOp7yB7M1IpfGMbQ4bB8+0
mHmzA2atEcC1e0l7dhhfwyjG5+BnV8wcVvSOSmO+uRyKbuSXM1XiRPBXXfO3dAfY
wPDqGMhUIonPRt9mmCYVWruBRGC+dwcdzIFURsHFFNjBdzFD4ksTnBBsaDWr0RxH
Zy5AYssL/DB7ivjzj7OMotKkHS/fnY4CV4E1b/67ecCeLHhnAL2ljE+a7YE1EDuO
fZKDySQ/pYTAWtT5EV1uauDScOHC6icV+oton4zoq5bkCh3wdew=
=qeBh
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmklgCIACgkQmmx57+YA
GNmvEQ//ae9ERAzSzw4iW+HIdYKy3rCZvE6uayruQilYRB9c4PbpcLa3L9c9yj1R
BFskUE9SBTBOtH+fRteS1Y/DugzC/8AiZ0TnwZ7b/2ynsTOCy/+5WlFYMUGGOauP
qCrwRwbxVDN0OQD8avfqgAfiahvRz7mfDAmJ4jCqNwwTwJqsOl820WSZlOgUl3cX
F3wGBKDc2ggcNNYbFarJQRLGV8yPF1o++w4JqUbPhz7wThYp0q12l4uTFm766GpM
O3JhH8bqeVRrmU0oyOQjXQNFJ/36egcR3yIvrLf97XMAkDPNXuW6+zRLfDF1jZE/
A6Wr2gHBya2pUxayGYNqitcCYDBUxjG3NluHYDGWBmbh7TGXO8MPWP2Qyw3hDzxi
Jcv6ObNt3+MVZzQIn5xR+8lxIWCHb51CRywMbNuQGcpu3/+gFBuP2S3kWOI4UhrL
miMqkKi2OuUi1JoRKxkvC3mKDFmM8Oq2qVxidirAXKfwVj7Uksd9xpRX9reRa8Z0
SaEQKr+RwWXKTumct8aVaPVtXVLhDaYiNATypyqR3YQ0CI1uRAlAdvMZRX6QLTn0
lncBmN79svBtawBhZbSZtJHdqVtdKPWjgTiV8UW5CpNUevSNbMwVN3Q5DVnNjzD9
xV135iOl8GfptFFS4gqO2Loca1tClPDv8qHIXG8KPOE0MCppr9w=
=Eh4e
-----END PGP SIGNATURE-----
Merge tag 'tegra-for-6.19-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers
soc/tegra: Changes for v6.19-rc1
A couple of small fixes across the board: ACPI support on FUSE no longer
exposes duplicate SoC information, speedo IDs for Tegra210 are updated,
some comments see typo fixes or kerneldoc additions. Finally, support
for USB wake events is added on Tegra234, which allow these systems to
resume from suspend on USB activity.
* tag 'tegra-for-6.19-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
soc/tegra: pmc: Add USB wake events for Tegra234
soc/tegra: pmc: Document tegra_pmc.syscore field
soc/tegra: pmc: Don't fail if "aotag" is not present
soc/tegra: fuse: speedo-tegra210: Add SoC speedo 2
soc/tegra: fuse: speedo-tegra210: Update speedo IDs
soc/tegra: Resolve a spelling error in the tegra194-cbb.c
soc/tegra: fuse: Do not register SoC device on ACPI boot
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Add a parameter to syscore operations to allow passing contextual data,
which in turn enables refactoring of drivers to make them independent of
global data. This initially only contains the API changes along with the
updates for existing drivers. Subsequent work will make use of this to
improve drivers.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmkYOjQACgkQ3SOs138+
s6F7rRAAhUpjKYoZeht0i0x7B0aXsWzSyR4Mp5crHypKLuJSzglcuo82MrVk2kwj
nBliQelCNUjkvRI4fIQq4Ci8GnkfkbACCw6JKzEeue13j0V1YiJ7de2/DILfi36I
un4DXuxghH5kWbiinrYr5I4pi9yOcc9Ev1vdB1cxcWqtEcmCx7JpCtL7dCm9pMgN
y5obnXECKCLyuWexh0XNHl3YKKs9jfocGBrpEAEMCB5pz2OdUIeWaZjRP6l0Gfhl
kdRY/5WAlkAJV3ZAzQ3QN1RUufj1k2GCt4riY+u10sJHXJkBosz2fjWq5e/Omn0R
FS2uMbJrUiXmN4URKmHcUuuOf0AysWmKjmUS9DrnaQs1LvYhXmu9a4NpjAts+roD
E1G7KrU++/P/dR5weIa/6wP2fyfIlfKKrNHWaMZSQcJtqT5OoDol9pZGcMwPGvpv
rNa4Yk30mo27ShzqIDqDPeNo/2rpDdOaN1AqvtVSFpsQGTdPfjrdv5IS6/zyKUs3
pAYQvoxExq93N2hyfFr4PWzSHtbEoTFXWXkIOVK6FEIxxvo4q94+u05YYEkaeAWv
SvZq/X//j4yafRwmE5zAgavbmwoTh+LUwyEfxa/YRzsVt66GT9ahVuAYkgHSRgoy
bKYwyrtOwKL0swrFvBsaIjY8fqnrdbghFL/KikR1g8pKG8SyGf0=
=dbAm
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmkldigACgkQmmx57+YA
GNls9Q/+O0T9T9YF3I1lfTQUFa80gx+BaNt/tFGxIeZxQYfUCT5pY8dv6atlqLhU
QbPnQrAT74wyBjAVFxnUZlQL5qRfsayrRTSYV3hzEEyCVIfg+8DdOjma8io0M8J3
v5y74cpUSOYAyJUHtuuhC6TA071+YfBaTLLkYNvwTaOQNCkiTq2tQM75uEuYatYZ
W1cepjh5/YKEHUCW1ETiT1hbSJSmUq5BAS/9mSzVBAcFDKxMLfop/6VQk/PgefUq
0xz0A52VtJS+sGAJEGcKysZKFbWLVcdT1hSk2Y6biCSR25TEhhxnRkmvgiiLjzTR
HexdiHaV/5GbK3EcWiZE1KOg6lqR/HmuLWokEQZ0oR2vy7N8a/CE9Rjy+z6Y/xku
qSYq2VdgTMAOXxTqkkLMEp4av3Kzgrl4A7IdP89ATEPnJt05vt9zAgJ5CAbsL7KG
xci9GtA4sKs9uoStm5jy0aTfxxDQ2s2cVkOy//b/C3RM517aY17qQIeJtpARYL1D
/WDQI8Lbx9vEJ8Y6jNpEkVZThCMNMSfQCHWIcoPtsikYlb2IPxF6Rwc3Esm2J7iY
lY4dPkCHQMJwMvH683BdYNInhG6bUyUfffhiuzDEoZ1srizvOoqkIqma25btFhuC
g45iHw6Z+xszx1X35RpS50hzUj02WGyu1VXEqEcmMapMlKBenns=
=4jOh
-----END PGP SIGNATURE-----
Merge tag 'tegra-for-6.19-syscore' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers
syscore: Changes for v6.19-rc1
Add a parameter to syscore operations to allow passing contextual data,
which in turn enables refactoring of drivers to make them independent of
global data. This initially only contains the API changes along with the
updates for existing drivers. Subsequent work will make use of this to
improve drivers.
* tag 'tegra-for-6.19-syscore' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
syscore: Pass context data to callbacks
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
1. ChipID driver: Add support for identifying Exynos8890 and Exynos9610.
2. PMU driver: Allow specifying list of valid registers for the custom
regmap used on Google GS101 SoC. The PMU (Power Management Unit) on
that SoC uses more complex access to registers than simple MMIO and
invalid registers trigger aborts halting the system.
3. Few minor cleanups.
4. Several new bindings for compatible devices.
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmkR0ggQHGtyemtAa2Vy
bmVsLm9yZwAKCRDBN2bmhouD19GdD/47OlRvdAeqrLA4SShMPJZ0/YItO1K1Veyv
SiiH6bn9qAzUGrNFVsQ3vxkZd+Fnt1Bpwv1IY8tnc/xI39eZrGzR2VoemcePPsxs
28MqMos94A4xiqzRScD2i95Axo+92r7p64UAfO9ff/5ZNgZl6Ksxn7cU9OkVtQDf
OrtYimJuJWXXvb0Pu8NV/BJv3ybOUa4v4JcPie6PGMU5GJVrF+nlTyWIz03PUE0j
uJWO6+VzlxXStLXFC13ADMu1boJv0ABzspOKrccGCLoNNUpNcmz+oKn4npfQRZ8L
fEeITtdkEJ+CwmVRaBF/2yvZR7M5xt9W1Jml1jPry5vig9IAv3uzt5aX/cEmHOJF
Uqtwaqn/3JOu4MYQikIWnMH8fta/3g8l8LtOsj9a4rWujuGsDxIsV4ICSQCTclYF
yDo/3QPXWLlnFc2xmgvKl2VXpTEK4D97VmTZqmTyju1mbemCbXALwWb/VhY9wWPP
f50PVyrAmsl4tA/M+wFQyVDEbU4EMRqBun49b9mVkXxgQ9nubpkmhszHLwNXQ+7V
pHGaH7P82V/T+7YT28xh+PMrpi0sdVa7I6z9Bp+2jr+vM4mPW+a5jFPSh+/o02o8
7zvqhDFqFIXTrmDGtTzCTpOTNIIH0BLEqmxRWvga/69kNYJngkM+PnfTdSV47sfn
oMHdRw35LQ==
=hX5T
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmkldUIACgkQmmx57+YA
GNkS0w/8CEbE0WGWGYPXcG7a5lg7Hbbn3I060xCFc2YATdtymRTS0PoD4cNt5ts7
6YFg0JR+zUjN0ZCM5wY+CzbAsrGzjlY/CtqeYYAKyso3vj6ujKuUmsobELhlnEeN
RQzUR/sOok6EvGavFTkDAR33bLyW2Mg+vXt5sMtF186eGk7qDecxkpp0joJaZEPj
1Rbd8TnHDNfvi6VAWHpQOmiroLAC15aTwa5flruvsu+RvhfsOIcccCRjVpmHNSvL
6nS162lnXFntFr66/Hnm2JCy4rggDRGM1akCRlI25iAZBvFNPFE5rifAZsh060yo
QMcqphhEAvy5DpA7GClbt7BdyinjqbV8RL8qAgdXGXxX1rgAd0f6bmnPc3S4CDS8
dkBtTViXOxqU7dD/lsy5OnO+g9td055c4KsPv+Y3MTRpNIDH8jVuvoNT1c+LTzQS
KzKEMxghfdSQNZQVaCs5vzs3ticapUHcf5sfdNJwmOIYdEURctI0MNc1/GXw+GZ3
frNM6YNyYZUoTU3WK9sGQhzms0ucR/mFeJCHyNLxPpBnZ414OuOhag2lJjbfyvlA
46kKAa7T8GlYG2zoTj74Cmabrin5Q4eOeUBS/APOpp2zMYHN+06zkthQrZeGgOmu
zoK4OHZS3+6qIhhlGoPPlVnaj7yBECg6hhYdj1RgvjNR6Q05jCg=
=VGfE
-----END PGP SIGNATURE-----
Merge tag 'samsung-drivers-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/drivers
Samsung SoC drivers for v6.19
1. ChipID driver: Add support for identifying Exynos8890 and Exynos9610.
2. PMU driver: Allow specifying list of valid registers for the custom
regmap used on Google GS101 SoC. The PMU (Power Management Unit) on
that SoC uses more complex access to registers than simple MMIO and
invalid registers trigger aborts halting the system.
3. Few minor cleanups.
4. Several new bindings for compatible devices.
* tag 'samsung-drivers-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
dt-bindings: soc: samsung: exynos-pmu: allow mipi-phy subnode for Exynos7870 PMU
soc: samsung: exynos-chipid: use a local dev variable
dt-bindings: soc: samsung: exynos-sysreg: add gs101 hsi0 and misc compatibles
dt-bindings: soc: samsung: exynos-sysreg: add power-domains
soc: samsung: gs101-pmu: implement access tables for read and write
soc: samsung: exynos-pmu: move some gs101 related code into new file
soc: samsung: exynos-pmu: allow specifying read & write access tables for secure regmap
dt-bindings: samsung: exynos-sysreg: add exynos7870 sysregs
soc: samsung: exynos-chipid: add exynos8890 SoC support
dt-bindings: hwinfo: samsung,exynos-chipid: add exynos8890-chipid compatible
dt-bindings: soc: samsung: exynos-pmu: add exynos8890 compatible
soc: samsung: exynos-pmu: Annotate online/offline functions with __must_hold
soc: samsung: exynos-chipid: Add exynos9610 SoC support
dt-bindings: hwinfo: samsung,exynos-chipid: add exynos9610 compatible
dt-bindings: soc: samsung: exynos-sysreg: Add Exynos990 PERIC0/1 compatibles
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- Keep the WDTRSTCR.RESBAR2S bit in the default state on R-Car Gen4.
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCaQSESQAKCRCKwlD9ZEnx
cHT9AQCDNPePCxys+cJiV7Z8vchZvIK4HhREtdZh5LVlrLx6WQEAh2Gk6QVa8ULs
ZFfoqcxPHV2NK1O/G+uFxUrm9VRNSQE=
=mCfo
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmklZ2sACgkQmmx57+YA
GNmY3A//eMPfIICzEc3Y5celWIa2IsRpU3T7LGdSTX2VzFN89GQyz2Yt3invRwbl
7EJXUsqHBc7Koeeet1zKfSCkFTLhmN+W88l7n6xEzcCINhw6SSvNmjRHL1l+jqxr
0u3YF57iXJ7t5pQ7ISqsUP6e9MwBBoWl8G2euWhDEwBARXEn/l6yjzXqPDeijeCB
d0/KK0Xf422UVIdAmBCXdNqg5po0GjIzBr4Ag55oXjAhYeAFjE9irtK1kpi7xkz5
jaPob1IBoNVT545Kb3J9hiE9z4EFNpbSa2KbtjTIXNBi9Yhb/JwiGmLrIh3dskcX
hev8rp0jKo6CNY4RFic6qFM94TELPJvY/d+OccAHNEA+HAHYnNHKUzQWpHSns3wq
WS9lBdIqnXDHPlkSq+HRiU8uNCsQbVrMhK8s8/CriZyf8dUZ8SNPcXT0k44eY0Qx
k3f/qRecdM+LhqQxOpzwXNXEW7qy816/EMqIs7si1Z6ERE9yT0u6wCsRYCzaD9K/
nS1I0RefopdZfUFEJHI6f55nMxhEsILux7Kps1h8MeGYLHBeRq+dEPRT4D62XJI7
IqGIKoh8PDIxcCRVSm6q1yDR5sHn5nkenz0yMO8mP73TcHl6XOIkjFicQKaroa2S
8uDFga/7k3AyFVXLmePY59LPRxyS/f4DwTYeZ18wWDqCkGzX2jg=
=wE3h
-----END PGP SIGNATURE-----
Merge tag 'renesas-drivers-for-v6.19-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/drivers
Renesas driver updates for v6.19
- Keep the WDTRSTCR.RESBAR2S bit in the default state on R-Car Gen4.
* tag 'renesas-drivers-for-v6.19-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
soc: renesas: rcar-rst: Keep RESBAR2S in default state
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Use the field_get() helper, instead of open-coding the same operation.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Yury Norov (NVIDIA) <yury.norov@gmail.com>
Drop the driver-specific field_get() macro, in favor of the globally
available variant from <linux/bitfield.h>.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Signed-off-by: Yury Norov (NVIDIA) <yury.norov@gmail.com>
Prepare for the advent of a globally available common field_get() macro
by undefining the symbol before defining a local variant. This prevents
redefinition warnings from the C preprocessor when introducing the common
macro later.
Suggested-by: Yury Norov <yury.norov@gmail.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Signed-off-by: Yury Norov (NVIDIA) <yury.norov@gmail.com>
Add new definition for Amlogic SoCs, include S6, S7, S7D.
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com>
Link: https://patch.msgid.link/20251119-soc-info-s6-s7-s7d-v3-2-1764c1995c04@amlogic.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Similar to the RK3288, the RK3368 has two different implementations of
the PWM block inside the SoC - the newer ones that we have a driver for
and that is used on every SoC and a previous variant that was likely
left as a fallback if the new one creates problems.
The devicetree is already set up for the new variant, so make sure
we actually use it - similar to the RK3288.
Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
Link: https://patch.msgid.link/20251021074254.87065-4-heiko@sntech.de
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Add USB wake events for Tegra234 so that system can be woken up from
suspend when USB devices hot-plug/unplug event is detected.
Signed-off-by: Haotien Hsu <haotienh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
The "aotog" is an optional aperture, so if that aperture is not defined
for a given device, then initialise the 'aotag' pointer to NULL instead
of returning an error. Note that the PMC driver will not use 'aotag'
pointer if initialised to NULL.
Co-developed-by: Shardar Mohammed <smohammed@nvidia.com>
Signed-off-by: Shardar Mohammed <smohammed@nvidia.com>
Signed-off-by: Prathamesh Shete <pshete@nvidia.com>
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
The Jetson Nano series of modules only have 2 EMC table entries,
different from other SoC SKUs. As the EMC driver uses the SoC speedo ID
to populate the EMC OPP tables, add a new speedo ID to uniquely identify
this.
Signed-off-by: Aaron Kling <webgeek1234@gmail.com>
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Existing code only sets CPU and GPU speedo IDs 0 and 1. The CPU DVFS
code supports 11 IDs and nouveau supports 5. This aligns with what the
downstream vendor kernel supports. Align SKUs with the downstream list.
The Tegra210 CVB tables were added in the first referenced fixes commit.
Since then, all Tegra210 SoCs have tried to scale to 1.9 GHz, when the
supported devkits are only supposed to scale to 1.5 or 1.7 GHZ.
Overclocking should not be the default state.
Fixes: 2b2dbc2f94 ("clk: tegra: dfll: add CVB tables for Tegra210")
Fixes: 579db6e5d9 ("arm64: tegra: Enable DFLL support on Jetson Nano")
Signed-off-by: Aaron Kling <webgeek1234@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
On Tegra platforms using ACPI, the SMCCC driver already registers the
SoC device. This makes the registration performed by the Tegra fuse
driver redundant.
When booted via ACPI, skip registering the SoC device and suppress
printing SKU information from the Tegra fuse driver, as this information
is already provided by the SMCCC driver.
Fixes: 972167c690 ("soc/tegra: fuse: Add ACPI support for Tegra194 and Tegra234")
Cc: stable@vger.kernel.org
Signed-off-by: Kartik Rajput <kkartik@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Several drivers can benefit from registering per-instance data along
with the syscore operations. To achieve this, move the modifiable fields
out of the syscore_ops structure and into a separate struct syscore that
can be registered with the framework. Add a void * driver data field for
drivers to store contextual data that will be passed to the syscore ops.
Acked-by: Rafael J. Wysocki (Intel) <rafael@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Not all system controller registers are accessible from Linux. Accessing
such registers generates synchronous external abort. Populate the
readable_reg and writeable_reg members of the regmap config to inform the
regmap core which registers can be accessed. The list will need to be
updated whenever new system controller functionality is exported through
regmap.
Fixes: 2da2740fb9 ("soc: renesas: rz-sysc: Add syscon/regmap support")
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20251105070526.264445-3-claudiu.beznea.uj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
In the 'mdt_loader.h' header, both the prototype and the inline
version of the qcom_mdt_load() function uses 'fw_name' as name for
the firmware name parameter. Additionally, the other qcom_mdt_*
functions are using that as well.
For consistency, rename the 'firmware' parameter in the implementation
of the qcom_mdt_load() to 'fw_name' and update the function accordingly.
No functional changes.
Signed-off-by: Gabor Juhos <j4g8y7@gmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251111-mdt-loader-cleanup-v1-2-71afee094dce@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
The qcom_mdt_load_no_init() function is just a simple wrapper around
of __qcom_mdt_load(). Since commit 0daf35da39 ("soc: qcom: mdt_loader:
Remove pas id parameter") both functions are using the same type of
parameters and providing the same functionality.
Keeping two functions for the same purpose is superfluous, so rename
the __qcom_mdt_load() function to qcom_mdt_load_no_init() and remove
the wrapper.
No functional changes.
Signed-off-by: Gabor Juhos <j4g8y7@gmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251111-mdt-loader-cleanup-v1-1-71afee094dce@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Some of the new field added to socinfo structure with version 21, 22
and 23 which is only used by boot firmware and it is of no use for
Linux.Add reserve field in socinfo so that the structure remain
updated and prepared if we get any new field in future which could
be used by Linux. While at it, also updates switch case for backward
compatibility if the SoC runs with boot firmware which has these
new version added.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251104130906.167666-2-mukesh.ojha@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Add support for socinfo version 20. Version 20 adds a new field
package id and its zeroth bit contain information that can be
can be used to tune temperature thresholds on devices which might
be able to withstand higher temperatures. Zeroth bit value 1 means
that its heat dissipation is better and more relaxed thermal
scheme can be put in place and 0 means a more aggressive scheme
may be needed.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251104130906.167666-1-mukesh.ojha@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Make knav_dma_open_channel consistently return NULL on error instead
of ERR_PTR. Currently the header include/linux/soc/ti/knav_dma.h
returns NULL when the driver is disabled, but the driver
implementation does not even return NULL or ERR_PTR on failure,
causing inconsistency in the users. This results in a crash in
netcp_free_navigator_resources as followed (trimmed):
Unhandled fault: alignment exception (0x221) at 0xfffffff2
[fffffff2] *pgd=80000800207003, *pmd=82ffda003, *pte=00000000
Internal error: : 221 [#1] SMP ARM
Modules linked in:
CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.17.0-rc7 #1 NONE
Hardware name: Keystone
PC is at knav_dma_close_channel+0x30/0x19c
LR is at netcp_free_navigator_resources+0x2c/0x28c
[... TRIM...]
Call trace:
knav_dma_close_channel from netcp_free_navigator_resources+0x2c/0x28c
netcp_free_navigator_resources from netcp_ndo_open+0x430/0x46c
netcp_ndo_open from __dev_open+0x114/0x29c
__dev_open from __dev_change_flags+0x190/0x208
__dev_change_flags from netif_change_flags+0x1c/0x58
netif_change_flags from dev_change_flags+0x38/0xa0
dev_change_flags from ip_auto_config+0x2c4/0x11f0
ip_auto_config from do_one_initcall+0x58/0x200
do_one_initcall from kernel_init_freeable+0x1cc/0x238
kernel_init_freeable from kernel_init+0x1c/0x12c
kernel_init from ret_from_fork+0x14/0x38
[... TRIM...]
Standardize the error handling by making the function return NULL on
all error conditions. The API is used in just the netcp_core.c so the
impact is limited.
Note, this change, in effect reverts commit 5b6cb43b4d ("net:
ethernet: ti: netcp_core: return error while dma channel open issue"),
but provides a less error prone implementation.
Suggested-by: Simon Horman <horms@kernel.org>
Suggested-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://patch.msgid.link/20251103162811.3730055-1-nm@ti.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
SMEM_IMAGE_VERSION_TABLE contains the version of the first 32 images.
Add images beyond that and read these from SMEM_IMAGE_VERSION_TABLE_2.
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251031-image-crm-part2-v2-2-c224c45c381a@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
When a SMEM item is allocated or retrieved, sanity check on the SMEM item
is performed and backtrace is printed if it is invalid. But there is no
benefit in dumping that information in the logs. Lets drop it.
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251031-image-crm-part2-v2-1-c224c45c381a@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Add the ubwc configuration for Kaanapali chipset. This chipset brings
support for UBWC v6 version. The rest of the configurations remains
as usual.
Signed-off-by: Akhil P Oommen <akhilpo@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/20250930-kaana-gpu-support-v1-1-73530b0700ed@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
HWKM v1 and v2 differ slightly in wrapped key size and the bit fields for
certain status registers and operating mode (legacy or standard).
Add support to select HWKM version based on the major and minor revisions.
Use this HWKM version to select wrapped key size and to configure the bit
fields in registers for operating modes and hardware status.
Support for SCM calls for wrapped keys is being added in the TrustZone for
few SoCs with HWKM v1. Existing check of qcom_scm_has_wrapped_key_support()
API ensures that HWKM is used only if these SCM calls are supported in
TrustZone for that SoC.
Signed-off-by: Neeraj Soni <neeraj.soni@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251030161012.3391239-1-neeraj.soni@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
There is currently a problem where, in the specific case of SMEM not
initialized by SBL, any SMEM API wrongly returns PROBE_DEFER
communicating wrong info to any user of this API.
A better way to handle this would be to track the SMEM state and return
a different kind of error than PROBE_DEFER.
Rework the __smem handle to always init it to the error pointer
-EPROBE_DEFER following what is already done by the SMEM API.
If we detect that the SBL didn't initialized SMEM, set the __smem handle
to the error pointer -ENODEV.
Also rework the SMEM API to handle the __smem handle to be an error
pointer and return it appropriately.
This way user of the API can react and return a proper error or use
fallback way for the failing API.
While at it, change the return error when SMEM is not initialized by SBL
also to -ENODEV to make it consistent with the __smem handle and use
dev_err_probe() helper to return the message.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Link: https://lore.kernel.org/r/20251031130835.7953-3-ansuelsmth@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>