- New devicetree for Codina TMO (SGH-T599).
- Add the Amastaos proximity sensor to the Codina.
- Add line impedance per machine to the Fuel Gauge
nodes.
- Add GPS to Janice, Skomer and Codina.
- Add NFC to the Codina for GT-I8160P.
- Some janitorial like clock names.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmJtvLAACgkQQRCzN7AZ
XXMeZQ/+JWI4Vy8/SPdsRijFA3+W/Wz9S0E7f9PZZQjxA5AQnySNlIfi/nTx2/fN
/el8D1M3GZ1eaaTrhvOeYroPd8yvNz8XnRPb0CPfr2jjFGGURdx1te83E4pM7tdY
o823XiYMMtazZAdMV5mIj7I80qncxOI5IfqrgxF9dFdOuyi4l6uK9DwKCGPQExc1
JKBYpxKZm1Jj509wvwvZiJ5rmJ6WS4ZQ2Vbe9k774/ANgbfUwCjSLl7lfY8ZPceJ
wQjiTeBd1dR2Ry4faI306pjio3dnX9DTZ4pwDela+DMkCU7MHDRADlmXyF+Y3PxJ
khw892cfY/A7yCriZSpJWityunTM4ZLAbQGZUUyvClDJMe7CXOrl28SndvcFXU1g
jS0aUVWPRA+5axWT96Z9AaETaelGnREclBRqi7tD4G65S1zBGlelpzZRr7jbJlTO
/7CQAcmMD8GWdTE+yKItj/kvxbQfs/eQ4ulMsa7SezoSJmBp5X52VO5rAw6R/tN9
OnO+XBgTZ7JRivjzyWXGeKCBdQSeeoWl3K97v5vAG9YGVsihh317m4hSG0vVQLPV
JnfoJbCpdNgDeXvV01aKs7UBf3f5wf+8aKe+8Do2OhEa8/TLYn7SIkAEBFeJol3k
7TRowy3DA6/jeXUtWasdhIQzCRHR0sWKkUXPaS8JWwluXbTkFpc=
=izAF
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmJxLcYACgkQmmx57+YA
GNmIhA/9GeKaixj5SHAQXxLzodG91YggPqSNLUKr9DwtIh9rsh/h58uYcxPDYkMG
AWF/DGoNj6t3D4eiq1VPvyGPo+u/pFx7TjYavPZqJZFwrAvrrUvpkdb5C4ijlm2Q
kWSX8uNT7oxazg9UVxF7REEZqlyknCKIAUjK51eM5PiKqco6SwbHuR/qDHyRin4+
Onlw4Ms7knrQQOG6KdOdu4pckjKgimD+QjBtoMjlMid8UT3uIoZvL21t4yVvOPiJ
RbOj2WImIRCN5fgVOw8DAE+jiduOuTdkLAE8ctMFnV3cTvrVxXTuTSZS9JmG+4Rk
oJJMtj4Ybmjto+dLqECQ8v2tv/zb9JS3SKewy+uUwwRMHBuDyYqlS64U38MnWc4t
FIomttfui6dDB+9obBQu8PeYzKRVCDGQnT2zhQ/LxlGr5Gf6i6gj2kV+RmYFVwHz
p3f7+HLJCYVypN+8Va8iUmcxg5kZ3g7M06wGbPcZ1v/5LOH1axhzz0/9TXdrMmJB
axS8+fTlqi6bZXgNVZVQAcAkL+B9qcQPUJ2dmgATHYcv1zge+S02DOJ2DPNfkMPy
AwMkLVVsCwjv85E8bgqSB5a99AoCyFRc2WgI0Y/WY6EW2wwoQmdwjCL6A2wV8Da3
d5GMezriY87Z3kaiz5lzGjTDsj7Yy0gdTk8df5sNrmUbIlJrdyU=
=vs0V
-----END PGP SIGNATURE-----
Merge tag 'ux500-dts-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into arm/dt
Ux500 DTS updates for the v5.19 kernel cycle:
- New devicetree for Codina TMO (SGH-T599).
- Add the Amastaos proximity sensor to the Codina.
- Add line impedance per machine to the Fuel Gauge
nodes.
- Add GPS to Janice, Skomer and Codina.
- Add NFC to the Codina for GT-I8160P.
- Some janitorial like clock names.
* tag 'ux500-dts-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
ARM: dts: ux500: Add GPS to the Codina
ARM: dts: ux500: Add NFC to the Codina
ARM: dts: ux500: Add GPS to Skomer device tree
ARM: dts: ux500: Add GPS to Janice device tree
ARM: dts: ux500: Add line impedance to fuel gauge
ARM: dts: ux500: Register Amstaos proximity sensor
ARM: dts: ux500: Add Codina TMO device tree
dt-bindings: arm: ux500: Document Codina-TMO
ARM: dts: ste-dbx: Update spi clock-names property
Link: https://lore.kernel.org/r/CACRpkdYngWscqak5phKm58O2GF0RmVETgwW4NCKTBiASdaEcyg@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Devicetree changes for omaps:
- A series of changes to fix devicetree binding check warnings for omaps
the the use of clock-output-names and clksel bindings
- Update Ethernet node names for omaps
- Pinctrl updates for logicpd-som-lv
- A series of updates for am335x-guardian
- Regulator range update for am335x-baltos
Note that this branch is based on a upstream IOMMU fix as it's needed for
booting on some SoCs.
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmJnq9QRHHRvbnlAYXRv
bWlkZS5jb20ACgkQG9Q+yVyrpXMdCxAAlxyJuzYBh0WuOcf00+BVOl6YLcCWhHjm
SnmmnmEvSs8TjtYZ2WIQmwoLo9cNRlCqavPen6LO6DSrOPC09ssVcTJGozTyxib6
g4CplLi/gOLQkm4q3Y3fqPfc2XL0G7fNfkfFkz3byqIt0NzHBSzhaWg3elpUO38Z
EkZb6e7KtIkoHVUlsZVgsY99qvSRDms8QUaxNIulKUJNWOzrYKkG+EtNx2FXmWi2
lQ0hb/VDuWdWaTk+3ink9qQKFsZ8/8koCzVcXDcu0EUsJT++EWgp8NWmBgPknSA5
kJ+0Olog229UnBZpsCabZqFaM1/LTKclaVn4xtdmtOElQbJRNLQuLafxzr3Mw8c2
lPw4q/mHsaoPf3NhBZ7GZe8oiWDGV6a7L/Jd0G+p1BiK9Hxql9+b2fH/+J8fDlo9
V/y5W1RNmmOMSyhST2jB+Onw+UolkGN7OzGkShod9eFZXLJ0IcqM94QUdcEULRQd
h6LwhZ4jswiywCryzNNSUpq1GoiEVwLROw5CQScGGA52bRyMUQa7Wy7K6hK7d1aA
JzXIFbDsOWQx+PzODQaF+OWITJ1T7AmQHlKWcuhISBIEkhqEQvZarlqFCF5ga/Hu
ZQ0RcnOE0fPzbT9XiHMBwvj1SsEVWIgCMnY9B6caDw0r+WTbM/DIR3oVhT+l5PrA
Nul0Hx6kUpk=
=SjMo
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmJxLXYACgkQmmx57+YA
GNnZ0A/+PKCALJw72BCnvmBqlJEoQoiQ8MkIhV7SO7ayM6BmwchMOsFjr7pZeh4q
9FID9CuBt+tgtxvwzD49so9mnPNC2aQkNMnyj3dzHJbdvgKiIhp98xs7QvzgNKkv
/Tl6bl0dpYsLNmIDUab9lFKR6foZNq6WijDTnxWGiUeDt9bVcowuKl/wySKkldqi
GSw4PXxDFjwlcPYz9PiSFKXAa5HEcnIwJi3+o9FpF5TY8POjkIP7ckE2Op5wyziW
Gek3PNrAsU7U2tZRYG5hhEoAy87yZb2ryHwsxzeu1v0YunV9OtivSBUNGB0FL2hz
MGB7j8qECi+Q9op43wTb5cae0NnghNwMzU2dpY5aMZXX6mIpfF8ZgfTnwXd81e2F
PlmpYKLrdoiAAJ82hVRHvQBl2HNyg9ZP9weXam6zZM5E2D6v7RhUWYyGlIORuZTp
y1Udkr9vwFkbdwP6rlym2odSboO0+jI1yflpMMUHcsGEePcC9iVK1gMXP4yPELzm
6d025VXNink+XETSlkN1gWtAYkYKV9wnr47MpEDNLPtLOipm6lXeXA8oj4rzeJmS
CDA1G0LCFOZpt7JkFViCeWbE+gDwZgKY4DjhhS3QCCSPM5ga8D0qOFAoEsZvzKfQ
1Y+jotDYZPP0CT/XgOB3+lB1WtFPhbGXhXgjGdckfzvMlP2kZ3U=
=lEpp
-----END PGP SIGNATURE-----
Merge tag 'omap-for-v5.19/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/dt
Devicetree changes for omaps
Devicetree changes for omaps:
- A series of changes to fix devicetree binding check warnings for omaps
the the use of clock-output-names and clksel bindings
- Update Ethernet node names for omaps
- Pinctrl updates for logicpd-som-lv
- A series of updates for am335x-guardian
- Regulator range update for am335x-baltos
Note that this branch is based on a upstream IOMMU fix as it's needed for
booting on some SoCs.
* tag 'omap-for-v5.19/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (29 commits)
ARM: dts: am335x-baltos: update MPU regulator range
ARM: dts: am335x: Guardian: Update comments
ARM: dts: am335x: Guardian: Add gpio line manes
ARM: dts: am335x: Guardian: Update interface pinmux
ARM: dts: am335x: Guardian: Disable DMA property of USB1
ARM: dts: am335x: Guardian: Enable UART port two
ARM: dts: am335x: Guardian: Update backlight parameter
ARM: dts: am335x: Guardian: Add lcd port
ARM: dts: am335x: Guardian: Update regulator node name
ARM: dts: am335x: Guardian: Update beeper label
ARM: dts: am335x: Guardian: Update life led
ARM: dts: am335x: Guardian: Remove mmc status led
ARM: dts: am335x: Guardian: Disable poweroff support from RTC
ARM: dts: am335x: Guardian: Add keypad
ARM: dts: am335x: Guardian: Rename power button label
ARM: dts: am335x: Guardian: Update NAND partition table
ARM: dts: logicpd-som-lv: Move pinmuxing to peripheral nodes
ARM: dts: omap3/4/5: fix ethernet node name for different OMAP boards
ARM: dts: Drop custom clkctrl compatible and update omap5 l4per
ARM: dts: Add clock-output-names for omap5
...
Link: https://lore.kernel.org/r/pull-1650961799-428630@atomide.com-2
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Minor clock binding changes to document clock-output-names usage for omaps
so we can fix lots of related dt bindings check warnings. The related driver
changes already got merged for v5.18.
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmJnqgMRHHRvbnlAYXRv
bWlkZS5jb20ACgkQG9Q+yVyrpXM5/Q/9Gb09AaXOAW6h5Un3JQqwPx1K1/WkU2ny
SdGRQveLisH5lTJEzU4QXD6NJI/4LpZiJX8zZSb5tm/4ZbhfySFWvc3m8RSKxGrS
GWt/pRnQW8d0eygtw+cln8skcXD0OtWSM69E5LOo+/zaL+xCLb5nEburhEPwlwft
k1H7AeGfIzOvIs9E4SjwzVrn6r1UtF8hjIcPalV+DJJcethLTOod7xemNd0OSqud
G56XBUQHo94T6aNNmudDFGOe2o7CpgS22lmSjKoHmBLbCOavOusIlWDSLnUpo2PK
DYmnYOngzDkDlXZnLu149HA6nARAXK8kiHwKUw+G3SHMBmqBFdFcq67nzTogophK
8whcdetnSDO13kU45Ca++KK9EfpKtOdL1j1S6BvoAZrg5RBuIEuvttR/BE1rZna7
aUKJSQg2vC2F6pU1/SyzqYXNz4EbqZVVHCh/+jJtYVX4DujZNrHEGkV+OVxy6EIT
C4RbFroNHdwSmMm6i0WprSol+QLzDTwccgVJsFE/yzTCHXlolmPVVDlcaohZDnup
ESvZOK4SsuMyY316e9NYO28b4aMEcX5GQAy0kmwwiwbbjIzbYu2P4PR83XgDD0Dj
2gCPOhW9ExtZBHwE2TB4sOKR+FCmGDFp4DRbZ7xETvzNw8ZPLH0j1/lgbVi4Z4KJ
cw/pi1xi5kg=
=JA8M
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmJxLVEACgkQmmx57+YA
GNlUJA//ZoZVnFY03cEU0ycQw7MDml1LHIBzsqxZW/N4LQtj41XUD/pWZ54OsFYH
cqMFFlifwmIV87q4SI8/UHI523Vc/J8KYmuNscqOGE9EbodMaIC8//z+Bw2aUJAn
I7xAiGHnbyQtWuC24OW5DqrT+po6FEPEN3yWO1vBaR+VdRoRL3DkPKG96o96NPWN
jUXxNsOJqgko+zofxaEzta5RuU6VKueUNnxXOQNV7+ZjfKSmS/VV0+GFXHwHsOsj
xl5d7AUPNi6ZYJ4Zk/poVAccsv+FxvQDeHs7B6Bfzc3p/O1cOV3KzEqOujIKYKmt
S20Ir69OGC/lELcohMk+/uL60Q1/rI+KAjKjCIoS0+HKIRswcaN/QMQA8USqyF6m
rNOGXCQn7OKkAoyDbfefHLoXh4nXwXPaGXuqZvWkUJ6Pydwj3Yhh2CxBQrGLz2jK
61IU8wI32SarvvQln3K1/xYZJ9d1U1Yk2CURDbgJRysE4+tu4oMaFV+OYIURfaeu
6kndS077gWh4DEr15YqcQqsgGH3i4s8OQ4pLEb2Tun5hFU/2WZa83rq6s6GB/eSJ
vDRZRxQs0OkhivlyJLl8dvx3v9/AtCxRJfIW9x++9wbgyPvJaJrY6Wb5EmUk7abE
YXlJoaAMvIoBaX7+CHe+zwAkbtcWWx0UBZvLuqN3wR1Teu9obWM=
=eN9v
-----END PGP SIGNATURE-----
Merge tag 'bindings-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/dt
Clock binding updates for omaps
Minor clock binding changes to document clock-output-names usage for omaps
so we can fix lots of related dt bindings check warnings. The related driver
changes already got merged for v5.18.
* tag 'bindings-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
dt-bindings: clock: ti: Add clock-output-names for TI composite clocks
dt-bindings: clock: ti: Add clock-output-names for clockctrl
dt-bindings: omap: Add clock-output-names and #clock-cells
Link: https://lore.kernel.org/r/pull-1650961799-428630@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- Document support for the new RZ/G2UL SoC and the RZ/G2UL SMARC EVK
development board.
-----BEGIN PGP SIGNATURE-----
iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCYmKABgAKCRCKwlD9ZEnx
cJJJAP0bOdBXXbvBN0S5TZe4iUZUZ/T7Ye6svHfwvoaZL0T6YwEAiCS8fHXpiS7S
K9cZiwfuALB64RgIq0lLispJVSTEkQ8=
=3nej
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmJxLTAACgkQmmx57+YA
GNm1Lg/+K2b8ZCOnzuRmxuJocl42JdttnnuN+JdnkdFt+P8Kb9f9aiufmJwwh0lH
XVExGZrui823ijxK1xueb6mlgxvdxHRXiMvnSgUt1qI8IOVIE6p7k1UfrtjbOdaH
23sw80T7ODnsZ/j2Nru2VjLozUzB+hgaSVs5jzYXmDXfe1t1pnm8EOGZRm05BITw
0Q+aOrYty+mk5lMv9sUFCfDo/r/vNp3b4hszZoEJho/WmZsj2SlYNMHgedLmpc/b
88XmqdTqP617gQQ7ryW8PU36myPfbfU0MdSA3xAA30NYSpFB4Kdz3GjqLh13r+hD
4CkoYnQcCTLdmlM7TMJkmK3RT0FfqzEwNlrD1ujQJZ71wumElQBn5x9vGUXeS03y
lwArXB7G5/HTLWsyLHHWL1yraChEr3PPW0kqtvnZjWZgu9t8YFksO9Cae0AMS3g0
j5XmwMd3bWnxwHnde5yf3vBZQPaI+1EGg3juRnXiTvjHWbpT/hU7lnoxQ9BrL96c
ku6FDM82NIAuOn4ni4sxXrvGCUtgKjxXyTMsf62rQtHNoZEP1vPE8wpXaa+BhcVK
cJK/hdFOfpyTkDJc6f7vybqHGoW7txPkcMKsbhdfFX8rklIsXcqyWGkmBwt0oyIi
PGEndfB063v99w1xH8p7Mpz8wXApr8sz1F2kI3imlZPjX8D9uGM=
=QQx2
-----END PGP SIGNATURE-----
Merge tag 'renesas-dt-bindings-for-v5.19-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/dt
Renesas DT binding updates for v5.19
- Document support for the new RZ/G2UL SoC and the RZ/G2UL SMARC EVK
development board.
* tag 'renesas-dt-bindings-for-v5.19-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
dt-bindings: arm: renesas: Document Renesas RZ/G2UL SMARC EVK
dt-bindings: power: renesas,rzg2l-sysc: Document RZ/G2UL SoC
Link: https://lore.kernel.org/r/cover.1650638516.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- ADC, SDHI, CAN-FD, I2C, QSPI, timer, watchdog, sound, USB, SPI, GPU,
cpufreq, and thermal support for the RZ/V2L SoC, and the RZ/V2L
SMARC EVK development board,
- USB, I2C, Audio, NOR Flash, timer, SPI support for RZ/G2LC SMARC EVK
development board,
- Can-FD support for the R-Car M30W+ and V3U SoCs, and the Falcon
development board,
- I2C and GPIO support for the R-Car S4-8 SoC,
- I2C EEPROM support for the Falcon development board,
- SPI Multi I/O Bus Controller (RPC-IF) support for the R-Car H3,
M3-W(+), M3-N, E3, and D3 SoCs,
- RPC HyperFlash support for the Draak, Ebisu, Salvator-X(S), and ULCB
development boards,
- Initial support (UART, DMAC, pin control, SDHI, eMMC, Ethernet) for
the RZ/G2UL SoC, and the RZ/G2UL SMARC EVK development board,
- Miscellaneous fixes and improvements.
-----BEGIN PGP SIGNATURE-----
iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCYmJ+7gAKCRCKwlD9ZEnx
cE5hAQDebyQdMMpgRgOC4ES3leIRrMJSmOAjrQcQjrTUJ6WYNgD9Gj8USqudA/By
Toz6dahFUSI0MDbgqnBjiqMGbEnbNww=
=xap2
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmJxLPkACgkQmmx57+YA
GNmqrBAAhF9gE+g7S+lSKSsf5MOgy8l4llsohMVrZbvMQwIt7wR+uNuZE8i8Cx4s
f8Mm8h6s9mprEXD7QitV7PKAfDoiJ642OZc2aNns4B82jY2JDLzigJhw+Xx2/La/
1DycdpnD1UkNgrwVBGpmgfTs4Q455HB5J5X3ypcP4TN0fWxmfkN4yEvaiHxGjuoi
a0VowBrlWAfYE6gaF5d5QnWS6TMp8YYSrJsl+4+IQKO1kbaiHXUuu/Ipd8AXxe5/
BaWz0YLLPwI/MU6za9F2IpXq+aT5/e34QF3wjtg45YPNE39RsL+hpZbdoDYLBrfT
9HCvk5cv4emF4fcr/NSjQCpzN/bn2amJEbDovDIYek3mpiM7rSRFDw15NGbe8E2K
38gSZugURkufABc/dUHgXy1Ja72mp3xfk++FQ99Tn1JHcXvyooZ+HYDm0LA7F6tZ
oQtiUUP3SQMvdlCFUP0NezJjR/MMx3G6VRAmLcYcdcQddUbvfmB2RSsi3e34QOgu
rbOqwa3FImDJi4N42aOKfmoEDz3dMByV1uSv0NfWOAR8h9silszZmMLIm3XNkwi8
EgwL/cUXPtxIr1S3+A2+IzR2HsTqkbL/smSyIu1gRIMHQBJLVnM5wxmj71U+yA3C
tc+vqAEuqOEmGuKiGvgaDn4LDXS/2C3yEDvp3x/sv/XLxA5jFZQ=
=SiTm
-----END PGP SIGNATURE-----
Merge tag 'renesas-arm-dt-for-v5.19-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/dt
Renesas ARM DT updates for v5.19
- ADC, SDHI, CAN-FD, I2C, QSPI, timer, watchdog, sound, USB, SPI, GPU,
cpufreq, and thermal support for the RZ/V2L SoC, and the RZ/V2L
SMARC EVK development board,
- USB, I2C, Audio, NOR Flash, timer, SPI support for RZ/G2LC SMARC EVK
development board,
- Can-FD support for the R-Car M30W+ and V3U SoCs, and the Falcon
development board,
- I2C and GPIO support for the R-Car S4-8 SoC,
- I2C EEPROM support for the Falcon development board,
- SPI Multi I/O Bus Controller (RPC-IF) support for the R-Car H3,
M3-W(+), M3-N, E3, and D3 SoCs,
- RPC HyperFlash support for the Draak, Ebisu, Salvator-X(S), and ULCB
development boards,
- Initial support (UART, DMAC, pin control, SDHI, eMMC, Ethernet) for
the RZ/G2UL SoC, and the RZ/G2UL SMARC EVK development board,
- Miscellaneous fixes and improvements.
* tag 'renesas-arm-dt-for-v5.19-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: (55 commits)
ARM: dts: r9a06g032: Drop "arm,cortex-a7-timer" from timer node
arm64: dts: renesas: r8a779f0: Add GPIO nodes
arm64: dts: renesas: rzg2ul-smarc-som: Enable Ethernet on SMARC platform
arm64: dts: renesas: rzg2ul-smarc-som: Enable eMMC on SMARC platform
arm64: dts: renesas: rzg2ul-smarc: Enable microSD on SMARC platform
arm64: dts: renesas: r9a07g043: Add GbEthernet nodes
arm64: dts: renesas: r9a07g043: Add SDHI nodes
arm64: dts: renesas: rzg2ul-smarc: Add scif0 and audio clk pins
arm64: dts: renesas: r9a07g043: Fillup the pinctrl stub node
arm64: dts: renesas: Add initial device tree for RZ/G2UL Type-1 SMARC EVK
arm64: dts: renesas: Add initial DTSI for RZ/G2UL SoC
arm64: dts: renesas: rzg2l-smarc: Move gpios property of vccq_sdhi1 from common dtsi
arm64: dts: renesas: rzg2lc-smarc: Enable RSPI1 on carrier board
arm64: dts: renesas: ulcb: Add RPC HyperFlash device node
arm64: dts: renesas: salvator-common: Add RPC HyperFlash device node
arm64: dts: renesas: ebisu: Add RPC HyperFlash device node
arm64: dts: renesas: draak: Add RPC HyperFlash device node
arm64: dts: renesas: rcar-gen3: Add RPC device nodes
arm64: dts: renesas: rcar-gen4: Add interrupt properties to watchdog nodes
arm64: dts: renesas: rzg2: Add interrupt properties to watchdog nodes
...
Link: https://lore.kernel.org/r/cover.1650638505.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
A few dereferences could happen before the iterator pointer argument was
checked for NULL, causing the following smatch warnings:
drivers/firmware/arm_scmi/driver.c:1214 scmi_iterator_run() warn: variable
dereferenced before check 'i' (see line 1210)
Fix by moving the checks early and dropping some unneeded local references.
No functional change.
Link: https://lore.kernel.org/r/20220503121047.3590340-1-cristian.marussi@arm.com
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
One patch to remove commas from sentinels for ti-sysc.
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmJnsGURHHRvbnlAYXRv
bWlkZS5jb20ACgkQG9Q+yVyrpXN0RA/+KFGVUjn7zccm2hYO785bCicu+QLWQJJQ
ytIcr9uMRXMO5Fg3l83KwgxAjfNbOUS43uai0QklSRgk4nIPexg3n3jxAfEa685v
7Hpbq0UwRjfzQmvvs1x5gV0Zw4V7m/LF0Wn8MJyuIzAmBWTnXEsJ6lXKoDfaEhWN
lb/4SNNQDCSbgMpRLFTa/2UUjfJ/yScTf88NgtZd/2I2PZ9CUxTG2Oub0CMh6/Vl
Rb6Hi9DFD6riqWjtGUy9+dR/8kgmw4vp7d/buwO8Xy31CXdF1dpHyPfU8wxDngCE
PKSptwyCCpKXen5BaV8zX9RQoNjnaQJNQGDdlgaViXqYs5I/TpBA+SZ6+bQkEBKM
SWnZEkpXjCb0pBvsgaYjYYRL3Z6+DoIFDC5axCRs7J1ta6ar4hok6oiyI0mXtz8s
iZ48uT+8/G1gRwI3ezIdKWoWHbcqJ/M0SNIwc0nLBW/0pJb48Azja1+M1PfwMyQs
5bEHJSEfM5GJIDN+NdvMCXYTNChxArRnQrpkvPZre5Z0Rx1yPgEhb8fjSIA7cE/F
enl7Q+wDbatS/eO6ItWpVI5nE9FcFnzr632Z/poilogmJgUOBm+2pAbh/wGaifJk
PsOV1J39bT8OxmrjRj3A4FzkymmW+3/SnZHdtcwzD+2YXBfrLIiu/8DQ8z2q0XAE
6P8bW8qfGRE=
=lSvh
-----END PGP SIGNATURE-----
Merge tag 'omap-for-v5.19/ti-sysc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/drivers
Driver changes for omaps
One patch to remove commas from sentinels for ti-sysc.
* tag 'omap-for-v5.19/ti-sysc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
bus: ti-sysc: Drop commas after SoC match table sentinels
there are cases that trigger a 2nd shadow event for the same
vmaddr/raddr combination. (prefix changes, reboots, some known races)
This will increase memory usages and it will result in long latencies
when cleaning up, e.g. on shutdown. To avoid cases with a list that has
hundreds of identical raddrs we check existing entries at insert time.
As this measurably reduces the list length this will be faster than
traversing the list at shutdown time.
In the long run several places will be optimized to create less entries
and a shrinker might be necessary.
Fixes: 4be130a084 ("s390/mm: add shadow gmap support")
Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Acked-by: David Hildenbrand <david@redhat.com>
Link: https://lore.kernel.org/r/20220429151526.1560-1-borntraeger@linux.ibm.com
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Stephen Rothwell reported kernel-doc warning:
drivers/base/firmware_loader/sysfs_upload.c:285: warning: Function parameter or member 'module' not described in 'firmware_upload_register'
Fix the warning by describing the 'module' parameter.
Link: https://lore.kernel.org/linux-next/20220502083658.266d55f8@canb.auug.org.au/
Fixes: 97730bbb24 ("firmware_loader: Add firmware-upload support")
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Russ Weight <russell.h.weight@intel.com>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Cc: Linux Next Mailing List <linux-next@vger.kernel.org>
Reviewed-by: Russ Weight <russell.h.weight@intel.com>
Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
Link: https://lore.kernel.org/r/20220502051456.30741-1-bagasdotme@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Add a debugfs option to allow configurable halting of the wkup_m3
during suspend at the last possible point before low power mode entry.
This condition can only be resolved through JTAG and advancing beyond
the while loop in a8_lp_ds0_handler [1]. Although this hangs the system
it forces the system to remain active once it has been entirely
configured for low power mode entry, allowing for register inspection
through JTAG to help in debugging transition errors.
Halt mode can be set using the enable_off_mode entry under wkup_m3_ipc
in the debugfs.
[1] https://git.ti.com/cgit/processor-firmware/ti-amx3-cm3-pm-firmware/tree/src/pm_services/pm_handlers.c?h=08.02.00.006#n141
Suggested-by: Brad Griffis <bgriffis@ti.com>
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
[dfustini: add link for a8_lp_ds0_handler() in ti-amx3-cm3-pm-firmware]
Signed-off-by: Drew Fustini <dfustini@baylibre.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20220502033211.1383158-1-dfustini@baylibre.com
Allow loading of a binary containing i2c scaling sequences to be
provided to the wkup_m3 firmware in order to properly scale voltage
rails on the PMIC during low power modes like DeepSleep0. Proper binary
format is determined by the FW in use.
Code expects firmware to have 0x0C57 present as the first two bytes
followed by one byte defining offset to sleep sequence followed by one
byte defining offset to wake sequence and then lastly both sequences.
Each sequence is a series of I2C transfers in the form:
u8 length | u8 chip address | u8 byte0/reg address | u8 byte1 | u8 byteN
..
The length indicates the number of bytes to transfer, including the
register address. The length of each transfer is limited by the I2C
buffer size of 32 bytes.
Based on previous work by Russ Dill.
[dfustini: replace FW_ACTION_HOTPLUG with FW_ACTION_UEVENT]
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
[dfustini: add NULL argument to rproc_da_to_va() call]
Signed-off-by: Drew Fustini <dfustini@baylibre.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20220426200741.712842-3-dfustini@baylibre.com
AM43xx support isolation of the IOs so that control is taken
from the peripheral they are connected to and overridden by values
present in the CTRL_CONF_* registers for the pad in the control module.
The actual toggling happens from the wkup_m3, so use a DT property from
the wkup_m3_ipc node to allow the PM code to communicate the necessity
for placing the IOs into isolation to the firmware.
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Drew Fustini <dfustini@baylibre.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20220414192722.2978837-3-dfustini@baylibre.com
As the usage of knav_queue_open():
* Returns a handle to the open hardware queue if successful. Use IS_ERR()
* to check the returned value for error codes.
It will only return error codes, not null.
Signed-off-by: Haowen Bai <baihaowen@meizu.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/1650765944-20170-1-git-send-email-baihaowen@meizu.com
Add RSPI binding documentation for Renesas RZ/G2UL SoC.
RSPI block is identical to one found on RZ/A, so no driver changes are
required. The fallback compatible string "renesas,rspi-rz" will be used
on RZ/G2UL.
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20220501082150.24662-1-biju.das.jz@bp.renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Return -ENOMEM of there is a dma mapping error. Do not return success.
Fixes: 764f1b7481 ("spi: add driver for MTK SPI NAND Flash Interface")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Chuanhong Guo <gch981213@gmail.com>
Link: https://lore.kernel.org/r/YmwjUcTKyQNrrn2g@kili
Signed-off-by: Mark Brown <broonie@kernel.org>
- Enable support for the Renesas RZ/V2L SoC and the Maxim MAX96712
Quad GMSL2 Deserializer in the arm64 defconfig,
- Refresh shmobile_defconfig for v5.18-rc1.
-----BEGIN PGP SIGNATURE-----
iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCYmJ3AwAKCRCKwlD9ZEnx
cNa0APwJIXP3GulpMvVC07l9MISB0TuMIKJr7hpix4FWR3UgdAD/Qb4uzseyOt7P
OR1bifu1lIXrha/ABr3dhZr77B2DYwQ=
=9bw+
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmJxJeEACgkQmmx57+YA
GNn0phAAwWQANXNwMdx0+yZp3rfqZzN13b/QIQS0qyRL9e3Rzf6rIxgzb3rkIaz5
4oqWQeBSOfMmVyN4Q2Cznw+MWT16/xMZycJO8HicE075ivlnkxGlswAASQ2h1PMo
E3vXSeVADVW4Vhwly4XUMClU11jmyplJzLtrI55GpsRGRcR5RARGf9CL4nBuscwD
5zLIQGa0mbI/3vQFo4yvdQhtktmZA/KBoL9c4zJmGMtE/xJoFz+nC2mL/971PzFD
E8FEYUukAiDsp86NvSxWE5flJV+5tCkBG1ZvHxbvfb68mwmB2G5qeEJgXCAktc1y
CnftEDUpRQTLZkvNs8yc12ZcehP8xx4YFscVafs64YGlnvdpyPyQuYc/8+Ra47la
RWrbEhkTDOTc6XEN2rW/gMB206cWbj2zVFCE/FmFu11HH5l4zlJpo4QI1PfotfHx
opC7/69uttDWtnhEjrVmHfSr/lYGKJzzkc1TXgdFgMR9HPcYsP9CQa1QuFHPjBgL
5Z2Qt93bxzGmqHIQNoM5AN7qXpkJDtkGDOFX4mhdz+S4f0NeFj/ZGRoPqDvOXEqS
D4o8h96Ep+x7aAXy1EtRnt25g4rgEwzLxSbxbXcruWZqutnsu4STV4AYqcVu73YQ
Yn89GECxUgxix7QsSIauqxAILb65pL2oLakpYnm8EYOZzGZJbS8=
=W1C7
-----END PGP SIGNATURE-----
Merge tag 'renesas-arm-defconfig-for-v5.19-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/defconfig
Renesas ARM defconfig updates for v5.19
- Enable support for the Renesas RZ/V2L SoC and the Maxim MAX96712
Quad GMSL2 Deserializer in the arm64 defconfig,
- Refresh shmobile_defconfig for v5.18-rc1.
* tag 'renesas-arm-defconfig-for-v5.19-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
ARM: shmobile: defconfig: Refresh for v5.18-rc1
arm64: defconfig: Enable Maxim MAX96712 Quad GMSL2 Deserializer support
arm64: defconfig: Enable ARCH_R9A07G054
Link: https://lore.kernel.org/r/cover.1650638503.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Key devices that support displays on SoCs like the Komeda DRM driver, the
older HDLCD were not enabled by default and should be so displays can work
out of the box on defconfig. Also Candence I2C support should be enabled so
the PHY and thus displays can work too.
Signed-off-by: Carsten Haitzler <carsten.haitzler@arm.com>
Link: https://lore.kernel.org/r/20220427114200.111904-1-carsten.haitzler@foss.arm.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
When DVS is enabled via the devicetree properties
"nxp,dvs-run-voltage" and "nxp,dvs-standby-voltage" then
also the bit that enables DVS control via PMIC_STBY_REQ pin
should be set.
Signed-off-by: Rickard x Andersson <rickaran@axis.com>
Link: https://lore.kernel.org/r/20220429072211.24957-5-rickaran@axis.com
Signed-off-by: Mark Brown <broonie@kernel.org>
The default configuration of the PMIC behavior makes the PMIC
power cycle most regulators on WDOG_B assertion. This power
cycling causes the memory contents of OCRAM to be lost.
Some systems neeeds some memory that survives reset and
reboot, therefore this patch is created.
Signed-off-by: Rickard x Andersson <rickaran@axis.com>
Link: https://lore.kernel.org/r/20220429072211.24957-4-rickaran@axis.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Make the I2C Level Translator included in PCA9450 configurable from
devicetree. The reset state is off. By setting nxp,i2c-lt-enable, the
I2C Level Translator will be enabled while in STANDBY or RUN state.
Signed-off-by: Per-Daniel Olsson <perdo@axis.com>
Signed-off-by: Rickard x Andersson <rickaran@axis.com>
Link: https://lore.kernel.org/r/20220429072211.24957-2-rickaran@axis.com
Signed-off-by: Mark Brown <broonie@kernel.org>
By setting nxp,i2c-lt-enable the I2C level translator is
enabled.
Signed-off-by: Per-Daniel Olsson <perdo@axis.com>
Signed-off-by: Rickard x Andersson <rickaran@axis.com>
Link: https://lore.kernel.org/r/20220429072211.24957-1-rickaran@axis.com
Signed-off-by: Mark Brown <broonie@kernel.org>
The Cadence QSPI compatible string required for the SoCFPGA platform
changed from the default "cdns,qspi-nor" to "intel,socfpga-qspi" with
the introduction of an additional quirk in
commit 98d948eb83 ("spi: cadence-quadspi: fix write completion support").
However, that change did not preserve the previously used
quirk for this platform. Reinstate the `CQSPI_DISABLE_DAC_MODE` quirk
for the SoCFPGA platform.
Fixes: 98d948eb83 ("spi: cadence-quadspi: fix write completion support")
Cc: Dinh Nguyen <dinguyen@kernel.org>
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Link: https://lore.kernel.org/r/20220427153446.10113-1-abbotti@mev.co.uk
Signed-off-by: Mark Brown <broonie@kernel.org>
As part of the ongoing i2c transition to the simple probe
("probe_new"), this patch uses i2c_match_id to retrieve the
driver_data for the probed device. The id parameter is thus no longer
necessary and the simple probe can be used instead.
The i2c id table is moved up before the probe function, as suggested
by Wolfram Sang.
Signed-off-by: Stephen Kitt <steve@sk2.org>
Link: https://lore.kernel.org/r/20220501171009.45060-1-steve@sk2.org
Signed-off-by: Mark Brown <broonie@kernel.org>
After converting to multiplatform the old IXP4xx defconfig
doesn't even activate the ethernet driver anymore, we need
to refresh this thoroughly.
- Drop options that ARCH_MULTI_V5 selects for us.
- Some options moved around because of multiplatform and
because generic Kconfig movements.
- Drop all MACH_* that do not exist anymore.
- Compress the kernel and initramfs with XZ as the memory
is often limited for these machines.
- Make sure IXP4XX_QMGR and IXP4XX_NPE is selected.
- Make sure the MTD_PHYSMAP_IXP4XX is selected and not
the old MTD_IXP4XX (will be deleted).
- Activate CRYPTO_DEV_IXP4XX
- Add some very basic default drivers such as AT24 EEPROMs
used in many routers.
- Add some kernel configs needed to bring up OpenWrt
which is the only userspace for these devices:
CGROUPS, DEVTMPFS, INOTIFY_USER, SIGNALFD, TIMERFD,
EPOLL, OVERLAY_FS and SQUASHFS.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Cc: Arnd Bergmann <arnd@kernel.org>
Cc: Krzysztof Halasa <khalasa@piap.pl>
Cc: Imre Kaloz <kaloz@openwrt.org>
Link: https://lore.kernel.org/r/20220407204502.2470560-1-linus.walleij@linaro.org'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
If preparing/enabling the pclk fails, the probe function should
unprepare and disable the previously prepared and enabled mclk,
which it doesn't do. This commit rectifies this.
Fixes: c32759035a ("ASoC: rockchip: support ACODEC for rk3328")
Signed-off-by: Nicolas Frattaroli <frattaroli.nicolas@gmail.com>
Reviewed-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
Link: https://lore.kernel.org/r/20220427172310.138638-1-frattaroli.nicolas@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
During probe, determine if the chip is in fact an ADAU1761
even though an ADAU1361 is specified, and perform additional
operations to enable the ADAU1761 to behave as an ADAU1361,
i.e. disregarding the DSP and setting up routing and PM
transparently.
This enables either chip to be mounted when an ADAU1361 is specified.
Signed-off-by: Ricard Wanderlof <ricardw@axis.com>
Link: https://lore.kernel.org/r/alpine.DEB.2.21.2204281841290.5574@lnxricardw1.se.axis.com
Signed-off-by: Mark Brown <broonie@kernel.org>
It is possible to craft a topology where sof_get_control_data() would do
out of bounds access because it expects that it is only called when the
payload is bytes type.
Confusingly it also handles other types of controls, but the payload
parsing implementation is only valid for bytes.
Fix the code to count the non bytes controls and instead of storing a
pointer to sof_abi_hdr in sof_widget_data (which is only valid for bytes),
store the pointer to the data itself and add a new member to save the size
of the data.
In case of non bytes controls we store the pointer to the chanv itself,
which is just an array of values at the end.
In case of bytes control, drop the wrong cdata->data (wdata[i].pdata) check
against NULL since it is incorrect and invalid in this context.
The data is pointing to the end of cdata struct, so it should never be
null.
Reported-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Tested-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Link: https://lore.kernel.org/r/20220427185221.28928-1-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
The driver has a custom put function for "DSP Voice Wake Up" which does
not generate event notifications on change, instead returning 0. Since we
already exit early in the case that there is no change this can be fixed
by unconditionally returning 1 at the end of the function.
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20220428162444.3883147-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
DAPM tracks and reports the value presented to the user from DAPM controls
separately to the register value, these may diverge during initialisation
or when an autodisable control is in use.
When writing DAPM controls we currently report that a change has occurred
if either the DAPM value or the value stored in the register has changed,
meaning that if the two are out of sync we may appear to report a spurious
event to userspace. Since we use this folded in value for nothing other
than the value reported to userspace simply drop the folding in of the
register change.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220428161833.3690050-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
The previous fix for event generation for custom controls compared the
value already in the register with the value being written, missing the
logic that only applies the value to the register when the control is
already enabled. Fix this, compare the value cached in the driver data
rather than the register.
This should really be an autodisable control rather than open coded.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220428113221.15326-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
1. Cleanup: simplify platform_get_resource() calls by using
devm_platform_get_and_ioremap_resource() helper.
2. OMAP: allow building omap-gpmc as module and make it visible (it is
not selected by platform anymore).
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmJw1CsQHGtyemtAa2Vy
bmVsLm9yZwAKCRDBN2bmhouD1/UCD/9qNCeanmRu+iBPViPhjf4rXNV2cgzPXDIv
k00pcdn2BJwpiqP/Wn1JJYaHOo1V7O7axd+Tw1Hhz3AgXYWLWnqwA2Q+BH+YYg8H
nM2VeGC7TYpd3PVB04t0V24mN2gVo0BkBURzk9ekJDsj8RgVu+Kt4k7pc0vQSWZ2
4vRMkImzCbTvH9rXH75UmKFQC1QjNbnreM8M3ulNFWMKBetf2pwOtXB/0hKeMmPv
fwLViJzJwv2g9C9SRjOEDOTKsVDc4tGykhi5aXXJ5vZCGJttNusnyn9acVIhhiq3
kLYRzTNbK4BIcXdcbFoG7NMSqESkNRyWNn2rEqJbhYu3hx6SAYqhlaJdegQj9BXy
RiBCZKzDdomw3ObbtwpsigOPeNl7LiOLnwj/HoNxd4orUy9RE900DyLVMryHgaLo
jfgAsy+mN+pzWrzqOKeNB71XMhrnaYLuYrLX+WuJ7CvwnWdCZYS32iq+DnhMRe2O
zuPf9IXhBeveV3WcbbFc4LQJVx9YUyX5uRA42tMP6ys5n6Zoh0i4ePcMaVbba/IR
nrUqK3ni7QorNGvzXthACMOAjcw42frcFfUs2CDRWJYLk/PUHk1C+N4s5CiygaYo
M2N1UTGyT5+mQ/axz2YGSblemcCZQmfwGn1VfOGEpObdoJtuRNUMV5j5C6XnTgK1
F/zrMF/TvQ==
=u7Y+
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmJxH7UACgkQmmx57+YA
GNlzTQ/+I2DaRUG1A/m/7wmbywFjv8zTEacLbCUwE7iSVMCMbxlNmjLTCup9haYH
/Lzt0Yaazs1gDf1EGxq9DT2KVoxTlwN7pt2rWYRHCzpwJXVqNiea2Chk1Ns/hULX
m5pNUhOgZ7pJtHdot7NbTjd9q7DHOrLo51In5uT1yGeHmQFDgkrwIwBswAAvjDuS
1GPa47WiCMiT89f0qEv1kFAUCD4b15qus8+4HeVUyVg5u7OEWQcGeK6bpJu6z1R8
Hg6Z7G0Faz0fR3wUTg7OiFnKrSpIzggFgyriv8wLZXzk6tzy19ZGTx0UmMF0b0lZ
78BXL0lTu9XJfrfxO8sIYFqvrcdjYIroE0EYTzzNCqtl+SjZMo41n6AQfeM8N52o
Fb1ISjewG31f3P/7eYQwUCw06O8QBsK001ADsOFJOGvWzIoT+Ak5OXvSwRb6tSGT
ZSXoBGNg4Ws7UVh4pey4U+vCIrbzm/XJ8PUNCy2sDdnMqoY61cq/8AP6P7nE+B/+
ch/Vww/DL34t5Tpno+jG7R3I14yvmS2YH7nGAyL+Kr8rhTLv08M663QtsIb0QlCt
cFrBY4h3hb6G+xL6WpKMULhL5d7ZmXWAmu+cjkgYb9Cxv/NDFWJ1sBuwl4FWrOO/
h2u12pWV0wQgDcsHXQC2LMyad75CBEj4KsfnuSWGdrjOeTGkT58=
=c7xR
-----END PGP SIGNATURE-----
Merge tag 'memory-controller-drv-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into arm/drivers
Memory controller drivers for v5.19, part two
1. Cleanup: simplify platform_get_resource() calls by using
devm_platform_get_and_ioremap_resource() helper.
2. OMAP: allow building omap-gpmc as module and make it visible (it is
not selected by platform anymore).
* tag 'memory-controller-drv-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl:
memory: omap-gpmc: Allow building as a module
memory: omap-gpmc: Make OMAP_GPMC config visible and selectable
memory: renesas-rpc-if: simplify platform_get_resource_byname()
memory: brcmstb_dpfe: simplify platform_get_resource_byname()
memory: tegra: mc: simplify platform_get_resource()
memory: ti-emif-pm: simplify platform_get_resource()
memory: ti-emif: simplify platform_get_resource()
memory: emif: simplify platform_get_resource()
memory: da8xx-ddrctl: simplify platform_get_resource()
Link: https://lore.kernel.org/r/20220503070652.54091-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Adding hte document which can help understand various APIs implemented
in HTE framework for the HTE producers and the consumers.
Signed-off-by: Dipen Patel <dipenp@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
On some x86 processors, CPUID leaf 0xA provides information
on Architectural Performance Monitoring features. It
advertises a PMU version which Qemu uses to determine the
availability of additional MSRs to manage the PMCs.
Upon receiving a KVM_GET_SUPPORTED_CPUID ioctl request for
the same, the kernel constructs return values based on the
x86_pmu_capability irrespective of the vendor.
This leaf and the additional MSRs are not supported on AMD
and Hygon processors. If AMD PerfMonV2 is detected, the PMU
version is set to 2 and guest startup breaks because of an
attempt to access a non-existent MSR. Return zeros to avoid
this.
Fixes: a6c06ed1a6 ("KVM: Expose the architectural performance monitoring CPUID leaf")
Reported-by: Vasant Hegde <vasant.hegde@amd.com>
Signed-off-by: Sandipan Das <sandipan.das@amd.com>
Message-Id: <3fef83d9c2b2f7516e8ff50d60851f29a4bcb716.1651058600.git.sandipan.das@amd.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Using pm_runtime_resume_and_get is more appropriate
for simplifing code
Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: Minghao Chi <chi.minghao@zte.com.cn>
Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Tony Lindgren <tony@aotmide.com>
Link: https://lore.kernel.org/r/20220418063059.2558074-1-chi.minghao@zte.com.cn
Zen renumbered some of the performance counters that correspond to the
well known events in perf_hw_id. This code in KVM was never updated for
that, so guest that attempt to use counters on Zen that correspond to the
pre-Zen perf_hw_id values will silently receive the wrong values.
This has been observed in the wild with rr[0] when running in Zen 3
guests. rr uses the retired conditional branch counter 00d1 which is
incorrectly recognized by KVM as PERF_COUNT_HW_STALLED_CYCLES_BACKEND.
[0] https://rr-project.org/
Signed-off-by: Kyle Huey <me@kylehuey.com>
Message-Id: <20220503050136.86298-1-khuey@kylehuey.com>
Cc: stable@vger.kernel.org
[Check guest family, not host. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
During system suspend it is completely valid for devices to invoke TISCI
commands during the noirq phase of the suspend path. Specifically this
will always be seen for devices that define a power-domains DT property
and make use of the ti_sci_pm_domains genpd implementation.
The genpd_finish_suspend call will power off devices during the noirq
phase, which will invoke TISCI.
In order to support this, the ti_sci driver must switch to not use
wait_for_completion_timeout during suspend, but instead rely on a manual
check for if the completion is not yet done, and proceed only if this is
the case.
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20220412192138.31189-1-d-gerlach@ti.com
We are dropping A/D bits (and W bits) in the TDP MMU. Even if mmu_lock
is held for write, as volatile SPTEs can be written by other tasks/vCPUs
outside of mmu_lock.
Attempting to prove that bug exposed another notable goof, which has been
lurking for a decade, give or take: KVM treats _all_ MMU-writable SPTEs
as volatile, even though KVM never clears WRITABLE outside of MMU lock.
As a result, the legacy MMU (and the TDP MMU if not fixed) uses XCHG to
update writable SPTEs.
The fix does not seem to have an easily-measurable affect on performance;
page faults are so slow that wasting even a few hundred cycles is dwarfed
by the base cost.
We are dropping A/D bits (and W bits) in the TDP MMU. Even if mmu_lock
is held for write, as volatile SPTEs can be written by other tasks/vCPUs
outside of mmu_lock.
Attempting to prove that bug exposed another notable goof, which has been
lurking for a decade, give or take: KVM treats _all_ MMU-writable SPTEs
as volatile, even though KVM never clears WRITABLE outside of MMU lock.
As a result, the legacy MMU (and the TDP MMU if not fixed) uses XCHG to
update writable SPTEs.
The fix does not seem to have an easily-measurable affect on performance;
page faults are so slow that wasting even a few hundred cycles is dwarfed
by the base cost.
syzbot is reporting use-after-free read in tcp_retransmit_timer() [1],
for TCP socket used by RDS is accessing sock_net() without acquiring a
refcount on net namespace. Since TCP's retransmission can happen after
a process which created net namespace terminated, we need to explicitly
acquire a refcount.
Link: https://syzkaller.appspot.com/bug?extid=694120e1002c117747ed [1]
Reported-by: syzbot <syzbot+694120e1002c117747ed@syzkaller.appspotmail.com>
Fixes: 26abe14379 ("net: Modify sk_alloc to not reference count the netns of kernel sockets.")
Fixes: 8a68173691 ("net: sk_clone_lock() should only do get_net() if the parent is not a kernel socket")
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Tested-by: syzbot <syzbot+694120e1002c117747ed@syzkaller.appspotmail.com>
Link: https://lore.kernel.org/r/a5fb1fc4-2284-3359-f6a0-e4e390239d7b@I-love.SAKURA.ne.jp
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Use an atomic XCHG to write TDP MMU SPTEs that have volatile bits, even
if mmu_lock is held for write, as volatile SPTEs can be written by other
tasks/vCPUs outside of mmu_lock. If a vCPU uses the to-be-modified SPTE
to write a page, the CPU can cache the translation as WRITABLE in the TLB
despite it being seen by KVM as !WRITABLE, and/or KVM can clobber the
Accessed/Dirty bits and not properly tag the backing page.
Exempt non-leaf SPTEs from atomic updates as KVM itself doesn't modify
non-leaf SPTEs without holding mmu_lock, they do not have Dirty bits, and
KVM doesn't consume the Accessed bit of non-leaf SPTEs.
Dropping the Dirty and/or Writable bits is most problematic for dirty
logging, as doing so can result in a missed TLB flush and eventually a
missed dirty page. In the unlikely event that the only dirty page(s) is
a clobbered SPTE, clear_dirty_gfn_range() will see the SPTE as not dirty
(based on the Dirty or Writable bit depending on the method) and so not
update the SPTE and ultimately not flush. If the SPTE is cached in the
TLB as writable before it is clobbered, the guest can continue writing
the associated page without ever taking a write-protect fault.
For most (all?) file back memory, dropping the Dirty bit is a non-issue.
The primary MMU write-protects its PTEs on writeback, i.e. KVM's dirty
bit is effectively ignored because the primary MMU will mark that page
dirty when the write-protection is lifted, e.g. when KVM faults the page
back in for write.
The Accessed bit is a complete non-issue. Aside from being unused for
non-leaf SPTEs, KVM doesn't do a TLB flush when aging SPTEs, i.e. the
Accessed bit may be dropped anyways.
Lastly, the Writable bit is also problematic as an extension of the Dirty
bit, as KVM (correctly) treats the Dirty bit as volatile iff the SPTE is
!DIRTY && WRITABLE. If KVM fixes an MMU-writable, but !WRITABLE, SPTE
out of mmu_lock, then it can allow the CPU to set the Dirty bit despite
the SPTE being !WRITABLE when it is checked by KVM. But that all depends
on the Dirty bit being problematic in the first place.
Fixes: 2f2fad0897 ("kvm: x86/mmu: Add functions to handle changed TDP SPTEs")
Cc: stable@vger.kernel.org
Cc: Ben Gardon <bgardon@google.com>
Cc: David Matlack <dmatlack@google.com>
Cc: Venkatesh Srinivas <venkateshs@google.com>
Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20220423034752.1161007-4-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Move the is_shadow_present_pte() check out of spte_has_volatile_bits()
and into its callers. Well, caller, since only one of its two callers
doesn't already do the shadow-present check.
Opportunistically move the helper to spte.c/h so that it can be used by
the TDP MMU, which is also the primary motivation for the shadow-present
change. Unlike the legacy MMU, the TDP MMU uses a single path for clear
leaf and non-leaf SPTEs, and to avoid unnecessary atomic updates, the TDP
MMU will need to check is_last_spte() prior to calling
spte_has_volatile_bits(), and calling is_last_spte() without first
calling is_shadow_present_spte() is at best odd, and at worst a violation
of KVM's loosely defines SPTE rules.
Note, mmu_spte_clear_track_bits() could likely skip the write entirely
for SPTEs that are not shadow-present. Leave that cleanup for a future
patch to avoid introducing a functional change, and because the
shadow-present check can likely be moved further up the stack, e.g.
drop_large_spte() appears to be the only path that doesn't already
explicitly check for a shadow-present SPTE.
No functional change intended.
Cc: stable@vger.kernel.org
Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20220423034752.1161007-3-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Don't treat SPTEs that are truly writable, i.e. writable in hardware, as
being volatile (unless they're volatile for other reasons, e.g. A/D bits).
KVM _sets_ the WRITABLE bit out of mmu_lock, but never _clears_ the bit
out of mmu_lock, so if the WRITABLE bit is set, it cannot magically get
cleared just because the SPTE is MMU-writable.
Rename the wrapper of MMU-writable to be more literal, the previous name
of spte_can_locklessly_be_made_writable() is wrong and misleading.
Fixes: c7ba5b48cc ("KVM: MMU: fast path of handling guest page fault")
Cc: stable@vger.kernel.org
Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20220423034752.1161007-2-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>