- Add a poweroff function to the RTKit library which will be required
for the first USB4/Thunderbolt series I hope to submit next cycle.
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQS3vz815OHsEaWy0u9EEX0kKnUe6QUCaXaPiQAKCRBEEX0kKnUe
6WxsAP4yy1tXANQgHcOP34gsbvp4LIpQw+OORSMxJ1rH9SerdgD+PlvJKmBXK185
gzxJInYEF+E5vL7DJ0eZWDHDNHrP+wU=
=iswd
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAml7I5EACgkQmmx57+YA
GNkigg/8CaV1afJ7IM9zAh/dvEvMwohOkNC6w+kC8A/LthG5WbS+CnDwq3EuRgSJ
/qvfueuc/+6WvQWzX+Uwmt1g6TR8ejZR/k5a9JjWvdXPLZ3Fle5RgEf6B9rrlp5w
4JhuZy+dIH5J8GEpylbHR/YDsA/dJ/iJ6qGnAEyGwVgZEGFeesUhGn80i0swCHjT
6Uw3g/mSKAnV9Mhr6yjV2TWrMl0iascGd6uRB/EqsYKYyqWgvmAUjnYfxKL1IlpB
ICzrVPLRUaGdvp+S0gjRIaowljme23YcKt1oTDLxiCnIeuD+DnUohC5bklWV5aVN
g1P0tx4nlmgXiLz2kYUgNaZbhazcck/vJYtoWUgXbsN9m2o+xb+AniznbFS8YEvc
SNM0fHsVvVlEC7TIO5YNOs+3khCVNufOpE01aVQP0qSGY9XXSP7yBRuuRYPFq0KC
VhZKIw6a+U5YG/s5qOei38JHKn0s1qI8GjIhcpcf89tBsjcP7d/NkApC1xKLlNIs
NFDothI4tCZEorWAedsWugpqamwlgbF9+GXtR6r5MnI+Vct3A/WM+bvXjmaIB9db
AwQnUEScQN1x0iogEfPccmT92sUImmfuDKRxiv0uFeByw3kq8ERA2ew2MBIg5lKa
2EKURjsd+zI8nbUtgiAR4OsMVeghCa6DQYPYTXSSn4ezjecn7SQ=
=PFGj
-----END PGP SIGNATURE-----
Merge tag 'apple-soc-drivers-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/sven/linux into soc/drivers
Apple SoC driver updates for 6.20
- Add a poweroff function to the RTKit library which will be required
for the first USB4/Thunderbolt series I hope to submit next cycle.
* tag 'apple-soc-drivers-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/sven/linux:
soc: apple: rtkit: Add function to poweroff
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Support multiple wait queues in the SCM firmware interface and provide
discovery of the wait queue interrupt to deal with the cases where
bootloader didn't patch the DeviceTree with the IRQ information.
Refactor the MDT loader and the SCM driver's peripheral authentication
service interface and introduce support for passing a remoteproc
resource table to the firmware. The remoteproc patches that uses this
and uses this to configure the IOMMU are included here due to
bidirectional dependencies. The end result is remoteproc support on the
Glymur platform.
Enable QSEECOM and thereby UEFI variable access, on the Surface Pro 11.
Make the QMI interface endianness aware, to support ath1Xk on big endian
machines.
Add the Glymur support in LLCC driver.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmluWgUACgkQCx85Pw2Z
rcX0UxAAjouQqOvIdStDcuq25dYbOe9EH+kwJUI5snU9zWcuFmn1+q9Qz6W6611I
IYXWIfkyPaSqvngt53/zq/CgtmX9ez8FFK/+IzdaiuCRLVZZheC7nvg2SnQE+Xav
qQIyFWtVI3ufT9x1I+27c42sYRbAXa5JHg+yOPMVG8I9ARK7gcgmkQ+1FL6fut0a
C6nfwHg/mHt/TQ4iHDyrJ6Ttx9JWAXdXFl8ekOCe+eXTaiaGj3DgrN5EjRzhiilb
lbxOXDzJ4CfwjfoT9eeXRe3GA2rTpY+gaIoOEBRcDkjHVJvRMAz3NqbeKgm40f+o
3iBLWWgHlsFBrspSzKWAUr7X84XO4gpm9w61TADUIeoHn6pb2DWN1P7SvrbdZGrr
ASz3dQZT9w++5qxqjY9JWubNx3akt5bJLcHd1PrVXeZugUyAmoGMpm7LKgXNTV3q
KKpvRwZN9h+Ebf+8y4Y2WUsQn+u/AXLZi2yoYBrZVUVRlsntsfxWT7eF47ROnIMv
KoKVkOmglcB61HmUWolYdGEtCTarQlmOBA9wn0DQll64hfjppWX+/VmrleWMqECR
4dngxoj4/d4gXNB8H6BD3nftInqu8P9va82oT6yca/2Ce0WnA37IQ43l5yFpnejm
VzCTPpzbKkcNZgAU51o0T2SzmrP6SN/LLq7XpDdz01rcPBCwTic=
=8a2h
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmlw9LYACgkQmmx57+YA
GNktRA//apmectfvVwEtqzYpPhPcZgGisBMS00YEJx3DbZCS5d628qol765m22sj
jr8NinoGfPwSfWA4AoOAMMdylPnSVMlde3tg1yZS4S/4MmyyqP0VbiqiQ0B7nSap
MeTfQVOgihhgJKfek66T2AL3xgWpyYGEe1UmkzLmpn0xxg/EGgTTI/N4uIz7s5zR
eGrdugP1+4wQ22vOcUPA17IBklOHow8G2ejT8ChMc0yHtfER6yENOxMLKIQjMhps
XJta5yjl8HmulmPqmfc84izNGaVst4So8J+rIXx/ZwmeegByKw4oWzZBk1WD0C6x
IhGgRZ47oZiTP9i5lh1StxPp3+mynNqOigeNGCCuHOMOKD2U6mqdiWFeYlHW/EGe
pVO+LH7c/3vUo2PFuQWAsme5ldaYZS4nhH9WNTyGkoULezl1mnZyLalRYVQGcx/0
vPUqiQflju5dqlu9Cl7PemZ2uItcRFt/ypKyYSgEgecPxzELlmZlop4Kqxv/aeXW
Tx0PJWfgCXnu/gi1i9IAZIc869qBu+uyI/XtGMBAr3DcRu9r3xgsJEpd89lNp4bM
0fRM7ZaYqY3pExcQPuHeaQgCfo4tYsSkFbYbrbk/mU0QS80P54fIr4iBIokvQS0h
e4tbTWZZ1gd6LAGMSGOvf9dGvhzoXD9kybVfxtKDn/kEPNR3BiQ=
=X8K9
-----END PGP SIGNATURE-----
Merge tag 'qcom-drivers-for-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers
Qualcomm driver updates for v6.20
Support multiple wait queues in the SCM firmware interface and provide
discovery of the wait queue interrupt to deal with the cases where
bootloader didn't patch the DeviceTree with the IRQ information.
Refactor the MDT loader and the SCM driver's peripheral authentication
service interface and introduce support for passing a remoteproc
resource table to the firmware. The remoteproc patches that uses this
and uses this to configure the IOMMU are included here due to
bidirectional dependencies. The end result is remoteproc support on the
Glymur platform.
Enable QSEECOM and thereby UEFI variable access, on the Surface Pro 11.
Make the QMI interface endianness aware, to support ath1Xk on big endian
machines.
Add the Glymur support in LLCC driver.
* tag 'qcom-drivers-for-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (33 commits)
soc: qcom: preserve CPU endianness for QMI_DATA_LEN
soc: qcom: fix QMI encoding/decoding for basic elements
soc: qcom: check QMI basic element error codes
soc: qcom: ubwc: add missing include
remoteproc: qcom: pas: Enable Secure PAS support with IOMMU managed by Linux
remoteproc: pas: Extend parse_fw callback to fetch resources via SMC call
firmware: qcom_scm: Add qcom_scm_pas_get_rsc_table() to get resource table
firmware: qcom_scm: Add SHM bridge handling for PAS when running without QHEE
firmware: qcom_scm: Refactor qcom_scm_pas_init_image()
firmware: qcom_scm: Add a prep version of auth_and_reset function
soc: qcom: mdtloader: Remove qcom_mdt_pas_init() from exported symbols
soc: qcom: mdtloader: Add PAS context aware qcom_mdt_pas_load() function
remoteproc: pas: Replace metadata context with PAS context structure
firmware: qcom_scm: Introduce PAS context allocator helper function
firmware: qcom_scm: Rename peripheral as pas_id
firmware: qcom_scm: Remove redundant piece of code
dt-bindings: remoteproc: qcom,pas: Add iommus property
soc: qcom: cmd-db: Use devm_memremap() to fix memory leak in cmd_db_dev_probe
soc: qcom: pmic_glink_altmode: Consume TBT3/USB4 mode notifications
dt-bindings: qcom,pdc: document the Milos Power Domain Controller
...
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- A few changes from Peng Fan adding dump syslog support for i.MX
System Manager firmware driver, cleaning up soc-imx9 driver, fixing
error handling for soc-imx8m driver
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmluyHkACgkQUFdYWoew
fM6DRQf+PXR+08z54Tv8YRxz9lOHBMRbsANSO2+ZQjovtMmjh4N/fkJFSn0j4A9o
R9pzry8M3Y4W0Rsr96NFQBiXhd042xyy7LsLDef/XpKtV2CNNEzdGxAgtdJo36H7
Gb5rBN15Mz2LBntLDuUTx+ywhRwNvYnEz3yYQ5xnvjX/p1COttkjxITL0zP+5t1N
8yxcbyasQBV7xKesxY5/GQOl8woaARaYeS4qYuuV9P7KtVcdr+L3nEn7piwAkRZw
nlMQvu9pQSzsRSrsLx1xedrmNZDyukffQfVKnJZR60L9Rijr4KnpMel6eVQlVaaL
EKcx5GlEoO2fdeyV5WReuhNKWGCyMg==
=A692
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmlw8zgACgkQmmx57+YA
GNnyrQ/9EoE98THYtq6VhMjwdk/8Kkt3tXjgACr3tDWZN8nU9T0FhY6d6nbVRNH7
XpevBNVVrQiqYL0DUeNqJfRALT0+ayNjfE0StTV8hXhpwxfuJXqrVEuMvxzJiwSF
rcBxLIYkbf2Mw2Im1LJdBKdoFFSvn/ej9/6OBv2mb5TNYoWpYHPVdyYIQhkwBc+B
SdJ1y/BQxHCU6bAPJ2oFlx5NbFizWQHu6kpxzj8hEzciRoJTdtmiplI6lnSiD4aQ
vAysOemF3jazyupiQUkPcJJNlBqWzhHmYDq8UNkNr9rl/+WBhWvBJkhns8RCQNtf
uFi3UINk6b1QaudoKPbjShqeK8l/Ptvx5XwKzxh3gACR/X4xyltMHFrGqd96ZuJ9
UUT6zbHITqfWioNiLhVqNwpWoad+gD80S8j8aCoFDcMxHENsdzD/ads3SB2uo5Od
bpWrFx4eMQb7qtfHGWRhy2A0lF+DpoAJRiOlCnKFlNNhDrYFkQShi3qdMxyjQ9Lv
ClmsjwxKDQrnjBv+qBMULgSuURgT1Zj2/pNwxk+mCNpuA1ZnO+a2CsHOV/IcCmtw
9JHPySScgEqSDE6pju1yeHdyLB2kBsZJ/KJ8L7rNAXdOjfu9jJc+xfQMUHPGrzvo
PlcTJCDR3vAzWmt9dzK5jWeQkXmkzcQKO0HPZOEeCbxX5iy5E+s=
=mQfc
-----END PGP SIGNATURE-----
Merge tag 'imx-drivers-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/drivers
i.MX drivers changes for 6.20:
- A few changes from Peng Fan adding dump syslog support for i.MX
System Manager firmware driver, cleaning up soc-imx9 driver, fixing
error handling for soc-imx8m driver
* tag 'imx-drivers-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
soc: imx8m: Fix error handling for clk_prepare_enable()
soc: imx: Spport i.MX9[4,52]
soc: imx: Use dev_err_probe() for i.MX9
soc: imx: Use device-managed APIs for i.MX9
firmware: imx: sm-misc: Dump syslog info
firmware: arm_scmi: imx: Support getting syslog of MISC protocol
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This series primarily refactors the Tegra PMC driver to eliminate
reliance on a global variable, transitioning to passing the tegra_pmc
context explicitly across clocks, powergates, sysfs/debugfs interfaces,
and power management callbacks. Additionally, it resolves a warning
during system resume by deferring an unsafe generic_handle_irq() call to
a hard IRQ context using irq_work.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmlskJUACgkQ3SOs138+
s6EIaQ//WtuuMjXFkxbNPgO3IuRsYuQIswHZouMkRSQJWeWAddRYpO5mE4QIaGYc
h0pdJp0tnvwO8rMQT06ipCn2UG25WnkqNeRFv1BUKDcrMV19wi4qqONGZXOaeQAW
EDnGq2ya3laZKstgJbMlpnbD0sAVt1TggH8Dm8ayTvxb5A9kCFnjTsHIGot53i+q
Nmm46XHKX6noN6Xw3RCUch/CgmfDdga/nSDtrlxV0GNUFphONxA9N9dRQLSBOEt1
IDOyojJhCMQ9FKMSEJa4q0llkGZBO2U7zMnl7COeMYQIG8riITu5y9OqWZorqpEL
cpvUZqu8hya3FhJyBkQhbJ/LBniSX6PNMoLdataOXWhW59IBBKr13W5IMKZN0sK2
82eSSyI7FOF7WwyQ6JxVN31PxCT8/+2qIzv8xblmuGJ3fnkUu5I0R0dH89ukVFCp
aiDp28bVrGCmEsoUE7Ld7p+CIpnflpm4/oshX6bPkW3EGEQBa+ljU8UrKchNkZaz
Vb0NM8qORQiR09WuIzWzVcG1J39hAf+8w6QxSXaz92GOclf827XyqQ/ICt222jaN
XMDUCuw2pBopoIwIzMaH7nFeXY6WHTUWwwOapBfX05diJZUEJ0+RPc+KIOqoQjFG
i6fyOJfHgAbJV/d/C0ob+xS6/bn1IFFt+WJ4JwPVTM/pYUpFt+k=
=OVOm
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmlw8eoACgkQmmx57+YA
GNkc4g//Uf/rXcaunqiTEhP6NgQ2WFGTpmEo0RVqS70sEWno0koOU1JOUmCohuem
IKkF2MmO7Dr3l6wqpgYYY+VUgtQQG6gWIEODby4XTS1FM1yK4y+49vafudeQFcA9
oA0QmneMlsyfXEqVQZv0Xo3nN+Us3xfRT8AXsSh8pIFlugJ2WNeF+lpX2y/0gERm
RaY/vwSM2w664++ykG1dS+t6gP8+AUumO1wMJJhK7annNDPZKybS6xGdme1Lx5iK
Y+N3naYRCwXKCb4oXC2eJ8N5QQBAxIgEh6PLKdsODCHjiMpQCvOPZE0LUN66mwaV
QUbXIs786KKEVt0QW8YGyZ6YptZ/Xeph6jIGBAfM9+69qPFCjQLQTxi/HBwIo4R0
NL7rhltkUTt3WjqzVuuPQlOyYLB6wn2UHA2EyVT2y1z93gEWSIP5N4MBPHrJ0Not
hS/625emNDbFMxU3MOx3fsQ6r9hS5mMvDQhbhgRNo+5cLnivtuTNj8CKCcbpYDRS
2e+DHvEJsq0zcKm+I+Nap7BTNoiJ5mYMXyqiz8KNWmfD+bm7BmiWm7QPsXsDF1h9
fzzZ1RYDI5bDutC1YdKP64NkSs5iev6IaDS0YTrisajPV5KshLt0vzeX9wUnt+pX
aoTZK2zTDyc0LiD2KSEk0Srvh6SkApc/zk6nU+jsJVBlEGys7Do=
=ii5w
-----END PGP SIGNATURE-----
Merge tag 'tegra-for-6.20-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers
soc/tegra: Changes for v6.20-rc1
This series primarily refactors the Tegra PMC driver to eliminate
reliance on a global variable, transitioning to passing the tegra_pmc
context explicitly across clocks, powergates, sysfs/debugfs interfaces,
and power management callbacks. Additionally, it resolves a warning
during system resume by deferring an unsafe generic_handle_irq() call to
a hard IRQ context using irq_work.
* tag 'tegra-for-6.20-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
soc/tegra: pmc: Add PMC contextual functions
soc/tegra: pmc: Do not rely on global variable
soc/tegra: pmc: Use driver-private data
soc/tegra: pmc: Use PMC context embedded in powergates
soc/tegra: pmc: Pass PMC context as debugfs data
soc/tegra: pmc: Pass PMC context via sys-off callback data
soc/tegra: pmc: Embed reboot notifier in PMC context
soc/tegra: pmc: Store PMC context in clocks
soc/tegra: pmc: Pass struct tegra_pmc to tegra_powergate_state()
soc/tegra: pmc: Use contextual data instead of global variable
soc/tegra: pmc: Fix unsafe generic_handle_irq() call
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- Add an optional generic sysfs attribute for TEE revision
- Implement revision reporting for OP-TEE using both SMC and FF-A ABIs
-----BEGIN PGP SIGNATURE-----
iQJOBAABCgA4FiEE0qerISgy2SKkqO79Wr/6JGat8H4FAmlrgt0aHGplbnMud2lr
bGFuZGVyQGxpbmFyby5vcmcACgkQWr/6JGat8H7ieA/+LWgQ6n9yUUxZ4hnK2538
lSg9vkBuGYeMcObNyKwtehB3+ivjtQB6ZTdV8OCVhduKFXLBb/6Iedf1zHrVrEi2
qXTZutfzPNFD4wfD+VvpfY3ydxbvB+xBOKwNEI+2mUnyxe7RiDWkMKKg6dS2p9uy
dvs1+H9yYyL/jMecNbjrBaUFQ80YzHUakQ2ExHWRUZtUHKKVcELlbWzvNxfTa+Xo
lyuhWFr9/u6loJ+kyMcq4vaesM8fdfq6ESaeoWGumFyviy3Ds/k9HNyTSwqHn/9S
CfcG3souXA/9WUaH9q3pM8pb9VZHfYLIIPZ9LB0qePdJL82Fh16KGWnSEyQyEehJ
fpOPui8LAP9siyR9Ett8i1vvXf2qquZxx5Ep+07u+Vx1ho6CfGL30hpzQTBJrHRI
GfLyjfZYiR2sOkUE0sfFMxZDy6F5OOJL3/NIAXC4C7MLOFbeFChsbkd9Cz0K4kGA
InPBVDVfIANBTGxsZT2YizLPar8Ui1X6L3o1nrb75qEJn86QUdzVgr20XuCfnRi1
W7QIa97QJGA8sBVHLEoZFRSDJjVJP+7vWK2hn6qW6iJiLMkuBoKY741WmEM1wEdW
sgZ0D014Oxc7EstWPfbgkX5K/2ABsrtg6Lb1/X39N3uMkvaxRzwhyuCSjeVzlczv
AoFdyelBnTLCWemZ/fI8goo=
=8kDV
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmlw8S0ACgkQmmx57+YA
GNm68A//auSP2t30O+WMO4biHofoKhkgeoj4IkuQKCReKeCukjCRy0Sh+S7XJkbv
UYfPhUg44b9p3xjD+jugTv2FqCMV9ivdGAGOLIekEeknIKgHJ0sqCGpKgahL7w17
aWV2eGVe1tnA0RKx51ixHe9m38/esQsxCTFT3dS8RiKvfljhM+KXgH8pNy+aT+QO
hazk0uWRsM5rYCbAL5vbt+zjt2lTO34cCp2+OM/18S1x4lgfW2kDQBYYtgAZvZJF
MclDCvXP06SOakGmr5sAnRN943fH5zmEGbw1buoXjStsiJX4EHuccHtAmjvOwPD/
p7MKPiSn8WEdhNiLVk9XV/SSs+aYtT69c3uGjV+1MnhsB7RVjqA+xfhK8LZajseb
r0ZSReUJF+KpguHqJfNj+bVQQm1KFRsIqurB0Cn7J+fwRAiS5D9Mqku/OGYso2GE
RGPavlndN8ytZWJiYKyzsBOkAiYR0jejJbwMH8OA72/mcDsxibLafSr5DSeYpmmS
AfXPGkZEluNYW0UccrsFov+rZ6AHiGCuElNVZ2W1l1QKc641aS1y1Ar987ysq1PC
KrpSHDihrzbBcIgTKCQoL19vaqusOyDk6RB263zOLrgEWnelxVSLcQWEDTPjX9dV
4Ys/DE+O1dZIZ0Waq88InzpIZlUcLlVMJEEiXSRxIGskFYNgaZM=
=lDdi
-----END PGP SIGNATURE-----
Merge tag 'tee-sysfs-for-6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee into soc/drivers
TEE sysfs for 6.20
- Add an optional generic sysfs attribute for TEE revision
- Implement revision reporting for OP-TEE using both SMC and FF-A ABIs
* tag 'tee-sysfs-for-6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee:
tee: optee: store OS revision for TEE core
tee: add revision sysfs attribute
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- Move from generic device_driver to TEE bus-specific callbacks
- Add module_tee_client_driver() and registration helpers to reduce
boilerplate
- Convert several client drivers (TPM, KEYS, firmware, EFI, hwrng,
and RTC)
- Update documentation and fix kernel-doc warnings
-----BEGIN PGP SIGNATURE-----
iQJOBAABCgA4FiEE0qerISgy2SKkqO79Wr/6JGat8H4FAmlrfQ0aHGplbnMud2lr
bGFuZGVyQGxpbmFyby5vcmcACgkQWr/6JGat8H6RShAAmh3/5z4pOV2i9zq6CAkY
nbt8BLkf6BcNA06I+uAISpESuIaRBXd89pZBVKoh1axlncPSpG2rth7IViGqvB5w
9KtZmzGvQbGZLYMtmctdaz10SqKNG0l3w/v3kN8wfjBAr9eP+Ztfp/R9SwLTQVik
Y8xHBdHQf6zJoZmE5GDcPQIkLSYr/BnH4ksxdQSUPi6bVkJZQkw5IyVd2tPOqozT
dsUBQlEBmgdogQ3ZGp/iKi4gMZ9ehU0ZW+hiLx1KXpbUqJHQoEhQc7ZKEggbzdP1
kpETTcjTmqUejoodtBzOo9EiW3ji4HLkaiBru3ZL895w3IMjYN+sPm4FiwZcUJDC
+M4pKflpqVE/hnSaacBnM3WMt98fQe1Fb1DHibMPvG4hS0jMeTJF9DPIQp9KQgIl
56eS9T6fqr6EGoqK1IVhcqnzp8TWcCkskSu1CzRngRQcbRPXZtFDht1a+sjVYbBZ
RKEQ9ghmLTR1jU+4ezMXDmpVzWZaiCX+2NqlzFSIoeJetxUXhaU6zls8NIEDmzCk
jRCV6L0TBQ2flRktUkidFwlJkhejNLbIBH0XHwi9y8zr48azFiuiYCcdeWqZmS88
Hg6hYKs4QJJe5XBCdgt1Iyn5H+9qSm7lRuQ+VTAPDAXxMdlNaDVw7YtuFshRd3rW
C/2xpgj0ZdjuERSfE1qNqHU=
=Ix8s
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmlw8KAACgkQmmx57+YA
GNncfBAAoH3BKSbWu7gF29MnAUBd3qqSK/0JojGloKV5K6agDwbnpqsAjrVHvr90
JYLIuTZz2oP1JKhXH/HLlDdbJPUgPwSa0+og6RLEDUqUq8nQaL3UqKclIdynUqrq
KmWob7BA0GH0DfrYy9PH5i5V77n6r3oLYa2G65G4wPcmiI1RQ6X+KqDu4Sf5cwAf
6QYLGIylAjNA0RWAj8NahxcJO+IximPpdBusYuMwqUma1fzy/2XkDuIs8TR/FnNQ
6V83SUCZBuH9V49WcWYJlvtSHpQFzdxsgo5IoZm+mDXTfnlFk2OO9iByfxD0kbGH
sdBxsT1ZFcrT9WZS9XvR9MvjYJcsT1uYdXn2wkWZ9hw9Ck52gZ/dOZvbpoJflPQe
yEXXnK0ebnhRQ69TTvjnz4Ss0r4IP48UaVZjEvCXwJhTN5/c36YJjQzWZHKc/8C5
tfuY3rZBMxeqsUkbg1Z5mDHHvYm2FnnByGYEEOvR0pD2B2M0A1uaons2WLUG0w/A
aJV7JCdrWw7RXOumYFS3TmxCGha5Gf05QlIGF8Bq9zdGNDkBHw2KUoIntPjD8FB7
rLO3MOBT6gGCz3oEHb75LUEd0YvHtLIkRvkIUjPgENFZ7ejJ2Zoot9ISxNYje/Tv
bEyV/IUvqV26Evj2F0I/85r+SQKVacTBngJkC2rr+lU3ayRTxrQ=
=DwU/
-----END PGP SIGNATURE-----
Merge tag 'tee-bus-callback-for-6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee into soc/drivers
TEE bus callback for 6.20
- Move from generic device_driver to TEE bus-specific callbacks
- Add module_tee_client_driver() and registration helpers to reduce
boilerplate
- Convert several client drivers (TPM, KEYS, firmware, EFI, hwrng,
and RTC)
- Update documentation and fix kernel-doc warnings
* tag 'tee-bus-callback-for-6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee:
tpm/tpm_ftpm_tee: Fix kdoc after function renames
tpm/tpm_ftpm_tee: Make use of tee bus methods
tpm/tpm_ftpm_tee: Make use of tee specific driver registration
KEYS: trusted: Make use of tee bus methods
KEYS: trusted: Migrate to use tee specific driver registration function
firmware: tee_bnxt: Make use of tee bus methods
firmware: tee_bnxt: Make use of module_tee_client_driver()
firmware: arm_scmi: Make use of tee bus methods
firmware: arm_scmi: optee: Make use of module_tee_client_driver()
efi: stmm: Make use of tee bus methods
efi: stmm: Make use of module_tee_client_driver()
hwrng: optee - Make use of tee bus methods
hwrng: optee - Make use of module_tee_client_driver()
rtc: optee: Make use of tee bus methods
rtc: optee: Migrate to use tee specific driver registration function
tee: Adapt documentation to cover recent additions
tee: Add probe, remove and shutdown bus callbacks to tee_client_driver
tee: Add some helpers to reduce boilerplate for tee client drivers
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- A micro optimization by making a local array static const
- Update OP-TEE mailing list as moderated
- Update an outdated comment for cmd_alloc_suppl()
-----BEGIN PGP SIGNATURE-----
iQJOBAABCgA4FiEE0qerISgy2SKkqO79Wr/6JGat8H4FAmlredUaHGplbnMud2lr
bGFuZGVyQGxpbmFyby5vcmcACgkQWr/6JGat8H4xChAAhUG/QPAPPCyG3m8mLQ5e
drjiKMa20TE31r+tNUJGuUCxa9JPPFZEoX+6ucYaOUZhGaUW8qYhbAl+kMmsu/O3
pZay6bjp/Dpbo9QKn94Gl7JtvPXZD3RV9SZb9Hdzb4OdH/A9+/CQcnWzufgccoTD
rXEwtJhTn972aXkbLAZY9dL9DcMA+dvBdzhc5Y8F9zH6+BLfV/duCmb8EHUlT528
zTqGrTTdL11IcpimvdJ1LG4UMAjEZe1nIedJ3Fqxg6nhxQD7lv+10kY2QFonqhsF
drgukflh7K5Y9ROOATekzt3SJINpkvlQOq0baXVOJhHBjAhB5hzOFfArx2mkMW9g
Z9wyj45n5U6aIKUzXhrprBiZ8miSut0Mtjp35hsc6a1WWbfBKJ6nranCeMMSh0ff
hnhUGL8iG1fbzbTkyIT0jDN6vS2dFxJx4zNoN5v8HPXs64IPgJihI7hzriJkxAbh
mcEhZ1FXx16sumqNw79AC25GBkI0+QkkIyTO1GhsvnLcRpbfnotY/AKABAD1uWKt
Erql3++GKjx0t9DFpzPsttyLJqVa3GHe9ImsX5gCGzfUO7vB54Gie/GKNxOPbDrL
Wcmhj0mHPNznySqBupM5dUSBP/9Fs+XDUhW8wz1QctfoRYeERmKn1HjqpCVSJlOa
DB/UCdiA4+UcfV5k7oGvr9I=
=iY48
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmlw8GEACgkQmmx57+YA
GNmLxw//aEhs8ucwR+MzIwmgIIJOv2KBNSYZnQLGB3xTGKPFHXdRKPlBkIBTzuP8
kWJKJs6hBn7XPZb9AsQceNaOhfDqtHFVIrj9fWKfoROj6+0BWMY7M//67KheOSO6
JO5kDFgVyW53yj9msRc/LuxVjrHnBoT/CVxVu9gRdHkV8JUoFL5iE7+5lrbzKIKE
QpOFhCNiOq+xmNl1oUcsP2V+F30XpOrrZ48HBjWhUz3jbweXHvKVWlB5oQweIsdV
QznvdMymtALncJy/KvYnA5bXT2zE3Dox1h6ExgBGuvRHTEcOUuR7BaM06efMbCN1
7iENA5evIpSSMcw9NMXdN4Dkbr3Y3505HbPQrmFZyuVJdfMuCgPy6AJe3jb0qxr1
EYmqU3NibvH6rLidI/k/eCpGdzyASM9hN3Z7A2hTvlKRzL0ms3C8R1YBG08Jthg8
89Lexux9Cask7+HHYJ/ZM5tIJ6/vkIwda9UTbng4BTaVc+J6LqFqadgQcWSd8fGb
kbXJ3+4CeqV2V+/1LXj2is/HfXvPFBU1xpE93p6xXo554yKrNIoA5xueWpVKKI4B
8gqBRbvrVpvgryj0oGtdb3zBPs8YBmhXpU48bRoihYyR5dKJOPkTEB7X6Nf4lG3Y
nRHr/Ghg71nIyrPX+jJMrZllnp6PTEKzayJyCZTomf8t5STaB78=
=diWz
-----END PGP SIGNATURE-----
Merge tag 'optee-update-for-6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee into soc/drivers
OP-TEE update for 6.20
- A micro optimization by making a local array static const
- Update OP-TEE mailing list as moderated
- Update an outdated comment for cmd_alloc_suppl()
* tag 'optee-update-for-6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee:
optee: make read-only array attr static const
MAINTAINERS: Mark the OP-TEE mailing list moderated
optee: update outdated comment
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- Add and use for_each_of_imap_item() iterator,
- Add support for the RZ/N1 GPIO Interrupt Multiplexer.
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCaWoQbwAKCRCKwlD9ZEnx
cNnkAQCoPH8r7D2mdA7Uq3LoE3I/f1ewzPt9Dn0lBI73h4PUvwEAjuq3gbtrfvLU
1s+/9Bf6qjeMcuROWYnAQwqGSxfZ/AA=
=61rJ
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmlw79MACgkQmmx57+YA
GNkstQ//Tw6kvvYeD1cfqlwc64J38yOm7LMUrsuJztzMZBRFckLKV3nARyhkSPAu
0r9Jt48zYm/19+ejWeKvjn9uyiQi0lFgOsGV0sK9VIWOaTYdHgCb2NXj0NPUTcHd
OLHX3HtYXWIEjev+gs+xkQ1Kt13ASVWlBf/Zh0TuRGNkkyn+QX/sR0ZDq7SgOfVy
tPbpif8w5vHbX7vwDSQZ9QoSxZyluXLSjoLxPMnS0KM+pLW6E3hnnPjwU+pzRQjg
2OQLJHF6xfPpZsCBxA8X9bElyYZ8hY19NMHXJzzyLhhs4g0ECVzSLfB0l4onlLbB
+A1adkVFVZAEsOpHDM/AvW1IMsoP4StK9Cmi5ZL62Io5R8URf5HrOzy4xiEbJkvQ
IIWHipqcZ2tY7bdCbUZthFvnJos5WQn5fvVlFpo/Pk2cca7Lg/VQFTmTvx7nIOgJ
e3NlpmAQqUee5IN2uuYTpqJaYNndojTBnQOk8Eb06LtHy86uKmqFN/qUSxN/vw1D
sw1EKpTFlKYOvKkPOmZgr3BpyCqLGg83AkFuW+iFvKFvjlABesJ7+nhx2Potdd0g
ofFcSj3RERMPfqAIOCvnEWtvrM0TkYHK1SIPowBQZtX4IecFbTd8SrHVFOlHhQZe
2dUGi1WLltaSLkP7GaCsXv4kL7oVoiGyvkQD2dFm0dgrNhUdEdc=
=Duc2
-----END PGP SIGNATURE-----
Merge tag 'renesas-drivers-for-v6.20-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/drivers
Renesas driver updates for v6.20 (take two)
- Add and use for_each_of_imap_item() iterator,
- Add support for the RZ/N1 GPIO Interrupt Multiplexer.
* tag 'renesas-drivers-for-v6.20-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
soc: renesas: Add support for RZ/N1 GPIO Interrupt Multiplexer
irqchip/renesas-rza1: Use for_each_of_imap_item iterator
irqchip/ls-extirq: Use for_each_of_imap_item iterator
of: unittest: Add a test case for for_each_of_imap_item iterator
of/irq: Introduce for_each_of_imap_item
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
A set of cleanups, refactoring, and fixes to the Arm SCMI stack:
1. Rework protocol version negotiation by moving version discovery and
downgrade handling into the SCMI core and performing negotiation early,
before protocol initialization. Remove legacy per-protocol versioning
logic now made redundant by centralized SCMI handling.
2. Increase the internal MAX_OPPS limit in the SCMI performance protocol
to 64, allowing platforms with larger OPP tables to be fully supported.
3. Reduce duplicated boilerplate in pinctrl and related protocols by
consolidating validation and lookup logic in protocol get info helpers.
4. Refactor reset protocol domain handling by introducing a shared lookup
helper, ensuring consistent validation and error reporting.
5. Fix potential undefined behaviour by properly initializing pointers
annotated with the __free attribute.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmlk3lYACgkQAEG6vDF+
4pj2WhAAr3tJz05oUqHs75yJ92jr+wp7i1hymgsHOy46DHv+M3BjKg6cQ36S3ZaS
QBNZB4wDYB5mkxRjFtQtJbtGkDI7guCj4Oje7oFFQnf25VEqlwNGHUqNUdE4CHGp
g4HqbAzdtCQrOp4u9DFAdP63Sl0Dbo9qaa0i/RdxVAXN2Pylpe2NnlX5006cEgiZ
d8wBjLoGOn3bhtn0ETaPzfAvBZWPOLqAFf16wNJPR5uPS/PFGflCRdwTtdLBjA5v
5vEc0nZ993PDnCOMTom0BnccHdKyw8CZXnP5UMeXfjLxm9mrUeVCJKrsZeJkfKhH
5MgEhRlmisxbtlLLPbS0sEOPklYrFlMvsJT+NjfnFQL3E4xuBDyJztHlLxqdUXrr
KIuYYaTsUSGnDOE3MV7lD+y+4AzH/7pjk501h69ZbCwXRKzTNnVKwBcIe5gSoH8O
KE9Qp1KANxGUF8Px3xHTHwKe8oXiVPsPECZCA0Ldaal6Zs5P+ncHITPNS6BZ0I3f
PNZIUr7BBJs4828jXSOnaXBTannGVZKWy8BUVtm6hcWFiAoz6n588jsQL1Vi8ku4
7l/vn2QH4QWrHSp9yZ4UwuizNLkiQu4ES5oCxmH9hH8EHeNIjiGGJ1oRVVOe6Wos
FGfvRDwrE0++4jz1ErvF3p4jUVSauD9R3fjewO7/IWeA1dIzWoc=
=ueRY
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmlw7zcACgkQmmx57+YA
GNnTTBAAm1uDSAwVQoat9Hz7fzaB47ll2h/5voIOP0O9m+MLDExZUuDP9O+PUt2K
IDXVkp1T3jiSY9HUV3bxzYGrrndaseT+pQvd5ujRHI2kRIjo3qJY2RJjKhpjLhfj
vhehpr6S9+E0fylSVSECAu4HtaOW4IXRS2yim5YJQCDuxADQouc1KGToWyYoJP0V
X6XU3shZKY+UBaw6pr73e3eph8Qi0Y0QsrYrqi3X9Mg2cP5hT/ClQUqBTMNjZp/O
fiGo7Bh1hGRzBdfpu8h473SihIosYYALGx0fVqueOzO9iYb7dkZJ6EQQf+S0yA0E
Co1BEKJcdXLRy2TBXV0akcFWo3Qs+ZJUeB59OPnAy6kT/jIpx0BPnj/uQSTRm0mV
XdO0M1r3j/GvRtbyZhCfdRppTpTaQLRhzR6CBxhfW1rxxPtyZKu/vQ+es0/eh7bu
db466zZIK/CIfKksoo2i8ruqyFmEAoC5QTKWunfq9R6ulFaQLMj8rIjcC2B7CAb4
l3+csKgMW+ZQG0acuqSybEuIp9TBsm6caWuSXwEZZFFcvXk5BDdSkD5Mv0Bbynqv
aZf3JCN0ePLBUgP6VpiSpNkHCpomxzB1qcoRhqMjXb1zPolixg9GZuNRpYYeiOOZ
r4O6zcc2/cjP97XiZ9rpIBmL72VzKyd8QZsexKuvrhkF29KbIRg=
=rTFA
-----END PGP SIGNATURE-----
Merge tag 'scmi-updates-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/drivers
Arm SCMI updates for v7.0
A set of cleanups, refactoring, and fixes to the Arm SCMI stack:
1. Rework protocol version negotiation by moving version discovery and
downgrade handling into the SCMI core and performing negotiation early,
before protocol initialization. Remove legacy per-protocol versioning
logic now made redundant by centralized SCMI handling.
2. Increase the internal MAX_OPPS limit in the SCMI performance protocol
to 64, allowing platforms with larger OPP tables to be fully supported.
3. Reduce duplicated boilerplate in pinctrl and related protocols by
consolidating validation and lookup logic in protocol get info helpers.
4. Refactor reset protocol domain handling by introducing a shared lookup
helper, ensuring consistent validation and error reporting.
5. Fix potential undefined behaviour by properly initializing pointers
annotated with the __free attribute.
* tag 'scmi-updates-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
firmware: arm_scmi: Remove legacy protocol versioning logic
firmware: arm_scmi: Rework protocol version negotiation logic
firmware: arm_scmi: Increase performance MAX_OPPS limit to 64
firmware: arm_scmi: Move boiler plate code into the get info functions
firmware: arm_scmi: Refactor reset domain handling
firmware: arm_scmi: Fix uninitialized pointers with __free attr
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
A small set of updates to the Arm FF-A driver:
1. Fix a correctness issue in NOTIFICATION_INFO_GET handling of 32-bit
firmware responses, avoiding reads from undefined register bits.
2. Improve clarity and robustness of FF-A feature checks by tying them
to explicit version requirements.
3. Ensure Rx/Tx buffers are unmapped on FF-A initialization failure to
prevent resource leaks.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmlk3M8ACgkQAEG6vDF+
4pjzhw//SApAsO4B6OlV2CVNveaclurw7kiw79uHGc0sbylkMfENOniRLhG2ahJY
VGXUYn9Sh8YrL/ir4DdxJfVtmSLdh3UKDL3+lk1+EPvdxHiRRA0wEMZctB2tbY5I
2D0r3LmvAh8jrzvu4bJzmvDNPNCcQ+mgrZp/OXD3lPLCcgsP0DadPi4+YV7st4bW
CLr0a421dCRZBiZS26wWLNfgRcM5FJ2yEOLRE7u0LjXt7QfzfmrRJAldbuiqrD8E
RL+f0KwTAhZg4O79ZmJLhdJhqMTViCIBOnNGZN8XpyVOuxLmb7m8URhayi2t2/N0
X+Dy8fxFiJuM/oX5V9LZnIQPMndDgYehqs3GCbNqbGT3X08cwthGkatma00BkA/g
q8i49Tx1n79sO6aMf6xdYU8+kJ8aljOUyb+Lza493vFXQsq7mXn7kz+QKA2ZOTH+
uJy1zKE5FPPJJLcNmEbLOEF2WqF9T6B3jQxgWS7xe67ASua56ele5bUmlRQyX6jU
RAfADXc+x8olebbbD7JXb4VgAwW1NlunvAsb/6IpSN8s8R0AycqD8PZx9z1B7VzX
3ArejqSeTKuOszES4hjbYRpAqNt5ekFxwzOL7Fp1MTJtAYvxMgmAAj91/Vkr/2BV
GyMuPCpO28joG5GJmy9fzUbIvp1+W8BZJCp8mkWnPKb7llq6eRc=
=3Qnt
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmlw7sQACgkQmmx57+YA
GNmckQ//eRUjW/ZXyhvEgXOs12bQnoXUefjd92Mv5ei3Rnxe0X1v5U6+J/G337e+
ZwpbZqiNCX6O/jhhtMgUuZTC8cncmpWFO6B5Il1W1Cx13io3UJB/4zltFXwC3usy
bAz+8Nd6oGGWoLZom1RiWaH8KvMKkjN5jtHKu8Lxk6mcXc9ISYZ34zF5V78DT/UX
HEBx+opsjFsvO3zcNjEzuFH0u5v6fFrJcs3E9KVjh9rqNuE4TLLiFjGHq1equkKA
oni6HDrhsE1L71kgwUNiv8/1XrM+ccvwBvENQEg3egpTVR5uumJtq8ArTaLx/HjH
d85k7KNmz3CKpF+FUzR6wkUTLpO5aP7jr48YTZu50u9+22bYLUWoIiuwuYk4tvqY
aEB4oEs3Z3at0dmhPU2Hlgxc0PvLXDoilJXRN24b0uMTBf/JYZ1159HNogx0lmhv
2LtMIqFUUXzbIR8VuJ35jU9vLroUt/LllC+b2h73EoixkjJwEN/5K5XlxS0AOR2b
/78YmKPxIDE04+2z3wqzo2huZ0x7nh8qi7Avw8/ycDRu90lHP3jyRJciRU2WKZG+
c/VLWmzXtsWO+RoN5v4gYmBHg+AQy/klG6VagKKeuZn7K/5xBzFmqNERBj/4gRhC
dd9gcu0NAQCguCGQzDLbiKFHTzt5RxpmJNS2MqGw8CEgQiQPdME=
=yfhm
-----END PGP SIGNATURE-----
Merge tag 'ffa-updates-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/drivers
Arm FF-A updates for v7.0
A small set of updates to the Arm FF-A driver:
1. Fix a correctness issue in NOTIFICATION_INFO_GET handling of 32-bit
firmware responses, avoiding reads from undefined register bits.
2. Improve clarity and robustness of FF-A feature checks by tying them
to explicit version requirements.
3. Ensure Rx/Tx buffers are unmapped on FF-A initialization failure to
prevent resource leaks.
* tag 'ffa-updates-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
firmware: arm_ffa: Correct 32-bit response handling in NOTIFICATION_INFO_GET
firmware: arm_ffa: Tie FF-A version checks to specific features
firmware: arm_ffa: Unmap Rx/Tx buffers on init failure
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Add a function to put a co-processor into the lowest possible power
state from which recovery usually isn't possible without a full SoC
reset. This is required for the USB4/Thunderbolt co-processors which
can be restarted since the entire USB4 root complex can be completely
reset independently of the rest of the SoC.
Reviewed-by: Janne Grunau <j@jannau.net>
Link: https://patch.msgid.link/20260117-apple-rtkit-poweroff-v2-1-b882a180e44d@kernel.org
Signed-off-by: Sven Peter <sven@kernel.org>
Add implementations that take as argument a struct tegra_pmc * for most
public APIs, as well as a function to obtain the PMC for any given
device. This will allow transitioning away users from relying on a
global variable storing the PMC context.
Signed-off-by: Thierry Reding <treding@nvidia.com>
The reset action for changing the suspend mode back on failure can take
a context-specific data argument that can be set to the PMC context in
order to avoid relying on a global variable.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Instead of relying on a global variable for the PMC context, use the
driver-private data for sysfs attributes.
Signed-off-by: Thierry Reding <treding@nvidia.com>
The powergates exposed by the PMC have a pointer to the PMC context
embedded. Use that embedded reference instead of relying on a global
variable.
For the core power domain a new structure needs to be introduced to wrap
the generic PM domain and store the PMC context.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Each debugfs file can have private data associated with it. Use this to
pass the PMC context instead of relying on a global variable.
Signed-off-by: Thierry Reding <treding@nvidia.com>
To avoid relying on global variables, use the sys-off callback data to
store a reference to the PMC context structure.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Instead of relying on a global variable to track the PMC context, embed
the reboot notifier into the PMC context so that the latter can be
resolved using container_of().
Signed-off-by: Thierry Reding <treding@nvidia.com>
Clocks exposed by the PMC need to reference the PMC context for register
programming. Store a reference to the context in the data structure for
each clock to avoid the need for a global variable.
Signed-off-by: Thierry Reding <treding@nvidia.com>
By using the generic read_poll_timeout() instead of readx_poll_timeout()
we can pass additional parameters, which allows us to pass an additional
PMC context structure and avoid relying on a global variable for this.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Currently, when resuming from system suspend on Tegra platforms,
the following warning is observed:
WARNING: CPU: 0 PID: 14459 at kernel/irq/irqdesc.c:666
Call trace:
handle_irq_desc+0x20/0x58 (P)
tegra186_pmc_wake_syscore_resume+0xe4/0x15c
syscore_resume+0x3c/0xb8
suspend_devices_and_enter+0x510/0x540
pm_suspend+0x16c/0x1d8
The warning occurs because generic_handle_irq() is being called from
a non-interrupt context which is considered as unsafe.
Fix this warning by deferring generic_handle_irq() call to an IRQ work
which gets executed in hard IRQ context where generic_handle_irq()
can be called safely.
When PREEMPT_RT kernels are used, regular IRQ work (initialized with
init_irq_work) is deferred to run in per-CPU kthreads in preemptible
context rather than hard IRQ context. Hence, use the IRQ_WORK_INIT_HARD
variant so that with PREEMPT_RT kernels, the IRQ work is processed in
hardirq context instead of being deferred to a thread which is required
for calling generic_handle_irq().
On non-PREEMPT_RT kernels, both init_irq_work() and IRQ_WORK_INIT_HARD()
execute in IRQ context, so this change has no functional impact for
standard kernel configurations.
Signed-off-by: Petlozu Pravareshwar <petlozup@nvidia.com>
Signed-off-by: Prathamesh Shete <pshete@nvidia.com>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
[treding@nvidia.com: miscellaneous cleanups]
Signed-off-by: Thierry Reding <treding@nvidia.com>
imx8m_soc_prepare() directly returns the result of clk_prepare_enable(),
which skips proper cleanup if the clock enable fails. Check the return
value of clk_prepare_enable() and release resources if failure.
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <error27@gmail.com>
Closes: https://lore.kernel.org/r/202601111406.ZVV3YaiU-lkp@intel.com/
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Marco Felsch <m.felsch@pengutronix.de>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Add i.MX9[4,52] machine compatible to allow soc device could be created.
SOC_ID is 16bit format data:
- i.MX943: 0x9430
- i.MX952: 0x9520
Update SOC_ID macro to get the accurate data.
Co-developed-by: Jacky Bai <ping.bai@nxp.com>
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Use dev_err_probe() to simplify code. No functional changes.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Use device-managed APi to simplify code.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
MISC protocol supports getting system log regarding system sleep latency,
wakeup interrupt and etc. Add the API for user to retrieve the information
from SM.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Acked-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
To ensure correct handling of endianness in the QMI subsystem, the
QMI_DATA_LEN field used in host-side drivers remains in CPU-native byte
order. Remove unnecessary endianness conversions, considering that
QMI_DATA_LEN is always of type `u32` on the host. On the QMI wire
interface, however, its representation is variable and may use either 1 or
2 bytes.
Signed-off-by: Alexander Wilhelm <alexander.wilhelm@westermo.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251119104008.3505152-4-alexander.wilhelm@westermo.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Extend the QMI byte encoding and decoding logic to support multiple basic
data type sizes (u8, u16, u32, u64) using differnet macros for each type.
Ensure correct handling of data sizes and proper byte order conversion on
big-endian platforms by consistently applying these macros during encoding
and decoding of basic elements.
Signed-off-by: Alexander Wilhelm <alexander.wilhelm@westermo.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251119104008.3505152-3-alexander.wilhelm@westermo.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Extend handling of QMI basic element types to also capture error codes.
This is required for big-endian platforms where a simple memcpy is not
sufficient and exact data type knowledge is necessary.
Signed-off-by: Alexander Wilhelm <alexander.wilhelm@westermo.com>
Link: https://lore.kernel.org/r/20251119104008.3505152-2-alexander.wilhelm@westermo.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Don't populate the read-only array attr on the stack at run
time, instead make it static const.
Signed-off-by: Colin Ian King <coking@nvidia.com>
Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
After sending a patch to op-tee@lists.trustedfirmware.org, I got the
typical response for a moderated list:
Your mail to 'op-tee@lists.trustedfirmware.org' with the subject
[...]
Is being held until the list moderator can review it for approval.
The message is being held because:
The message is not from a list member
Either the message will get posted to the list, or you will receive
notification of the moderator's decision.
Mark this mailing list moderated in MAINTAINERS.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
On the Renesas RZ/N1 SoC, GPIOs can generate interruptions. Those
interruption lines are multiplexed by the GPIO Interrupt Multiplexer in
order to map 32 * 3 GPIO interrupt lines to 8 GIC interrupt lines.
The GPIO interrupt multiplexer IP does nothing but select 8 GPIO
IRQ lines out of the 96 available to wire them to the GIC input lines.
Signed-off-by: Herve Codina (Schneider Electric) <herve.codina@bootlin.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260114093938.1089936-8-herve.codina@bootlin.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
The renesas-rza1 driver parses the interrupt-map property. It does it
using open code.
Recently for_each_of_imap_item iterator has been introduce to help
drivers in this parsing.
Convert the renesas-rza1 driver to use the for_each_of_imap_item
iterator instead of open code.
Signed-off-by: Herve Codina (Schneider Electric) <herve.codina@bootlin.com>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Thomas Gleixner <tglx@kernel.org>
Link: https://patch.msgid.link/20260114093938.1089936-5-herve.codina@bootlin.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
The ls-extirq driver parses the interrupt-map property. It does it using
open code.
Recently for_each_of_imap_item iterator has been introduce to help
drivers in this parsing.
Convert the ls-extirq driver to use the for_each_of_imap_item
iterator instead of open code.
Signed-off-by: Herve Codina (Schneider Electric) <herve.codina@bootlin.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Thomas Gleixner <tglx@kernel.org>
Link: https://patch.msgid.link/20260114093938.1089936-4-herve.codina@bootlin.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Recently for_each_of_imap_item iterator has been introduce to help
drivers in parsing the interrupt-map property.
Add a test case for this iterator.
Signed-off-by: Herve Codina (Schneider Electric) <herve.codina@bootlin.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://patch.msgid.link/20260114093938.1089936-3-herve.codina@bootlin.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
for_each_of_imap_item is an iterator designed to help a driver to parse
an interrupt-map property.
Indeed some drivers need to know details about the interrupt mapping
described in the device-tree in order to set internal registers
accordingly.
Signed-off-by: Herve Codina (Schneider Electric) <herve.codina@bootlin.com>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://patch.msgid.link/20260114093938.1089936-2-herve.codina@bootlin.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Collect OP-TEE OS revision from secure world for both SMC and FF-A
ABIs, store it in the OP-TEE driver, and expose it through the
generic get_tee_revision() callback.
Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Recently ftpm_tee_probe() and ftpm_tee_remove() grew a suffix in their
function name but I failed to adapt the kernel doc when doing so. This
change aligns the kernel doc to the actual function name (again).
Fixes: 92fad96aea ("tpm/tpm_ftpm_tee: Make use of tee bus methods")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202601132105.9lgSsC4U-lkp@intel.com/
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
The header has a function which calls pr_err(). Don't require users of
the header to include <linux/printk.h> and include it here.
Fixes: 87cfc79dcd ("drm/msm/a6xx: Resolve the meaning of UBWC_MODE")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Link: https://lore.kernel.org/r/20260110-iris-ubwc-v1-1-dd70494dcd7b@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
In the pruss_clk_mux_setup(), the devm_add_action_or_reset() indirectly
calls pruss_of_free_clk_provider(), which calls of_node_put(clk_mux_np)
on the error path. However, after the devm_add_action_or_reset()
returns, the of_node_put(clk_mux_np) is called again, causing a double
free.
Fix by returning directly, to avoid the duplicate of_node_put().
Fixes: ba59c9b43c ("soc: ti: pruss: support CORECLK_MUX and IEPCLK_MUX")
Cc: stable@vger.kernel.org
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
Link: https://patch.msgid.link/20260113014716.2464741-1-vulab@iscas.ac.cn
Signed-off-by: Nishanth Menon <nm@ti.com>
The mmio regmap allocated during probe is never freed.
Switch to using the device managed allocator so that the regmap is
released on probe failures (e.g. probe deferral) and on driver unbind.
Fixes: a5caf03188 ("soc: ti: k3-socinfo: Do not use syscon helper to build regmap")
Cc: stable@vger.kernel.org # 6.15
Cc: Andrew Davis <afd@ti.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Acked-by: Andrew Davis <afd@ti.com>
Link: https://patch.msgid.link/20251127134942.2121-1-johan@kernel.org
Signed-off-by: Nishanth Menon <nm@ti.com>
There seems to be nothing preventing this driver from being compile
tested so enable that by adding the missing input prompt.
Fixes: 907a2b7e2f ("soc: ti: add k3 platforms chipid module driver")
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20251127135455.2497-1-johan@kernel.org
Signed-off-by: Nishanth Menon <nm@ti.com>