Commit graph

1,267,977 commits

Author SHA1 Message Date
Arnd Bergmann
b1208c4343 arm64: tegra: Device tree changes for v6.9-rc1
This set of changes refactors the audio-related device tree nodes on
 Tegra234 and improves USB support for Jetson AGX Xavier. Furthermore
 this consolidates SD/MMC aliases on Tegra234 and provides correct
 configuration data for the MGBE Ethernet devices found on Tegra234
 so that they can operate at full speed.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmXY11QACgkQ3SOs138+
 s6Hg5hAAjnK4X5fDwmDD882HBZCA87ikXSVxFzXFmjT/9Wu6I28YuNrL3LWCRAaJ
 btX0xAJzTnZGhxGUig1nC+i56oxBZt71u8t/ap0pXKQK/An3LFDoNCgd+08SWMb1
 aeCW5/VfZfuNpCTG8DRCPEqBPpgoiCNUSGbdKa0Xy9o2clY0GHvhFNmym5H0k+1A
 vHbJij/ByRDE1ffjfC6x+iCRS0BO1wlxmwSQKj6t/5TFKsYOuG/XsqCQ7C4yW67I
 MzyzQoQ1dWFGZUPm6DvXRz8Nl0gPxjy/1aI3cJRd7Q0U65TrC8IwVbQhfv8Eqc0W
 iUEXAvriEbKtZk3ocbdeZBy27hlCNCSJTba8l19hOh7qg0wC1+pyXIUDkX9UJ1xU
 svgh9eiw4v3wGtW+tz06X+dKn9FUcTwA8fiXzGjya2nJhOi2o1w/ciJZN6S1lahn
 vRYTyImxyE+nBkPmZuv2oSypxEHYz09vmcGZIYUN96EqfyMEyev/aIQG2KyJtC9c
 onpseos2vFUzp8TIn76z3MLDEJHLoebKrlxp0ZoFLGq25nHkcplASjvXoQ6wuzVu
 nclpwQQuJx0vWznno0YZbl1sQmiCNZTE1Zg9UyVGwQHesIwdIEvoZYQ1rsKnGHUx
 XpCpR/caZx8S4BrN56/1UzqJu10gJrlKfNZxpLrMHaMzoxqx6PM=
 =98Yi
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXgtVAACgkQYKtH/8kJ
 UieIHBAAhPXau6VOLbw6rbo/kNP9Eu6g4kvMH0d2wklqfUX1crpEyNFtI6a+fLfw
 ITSQDTzICyQjGLWp+wW3mq8zSa++2lCke1xsSj6c77RFqvg09KLdjVPufnfY57ft
 8703q+GXHTd5QvHj332edrRq6HkrXo/Mh9P1f3bJr7SiXkdmccbi7aWffOAeM2Be
 TKi+FFzW5n7hAWdzBuFUyszvWnx4c/fx69arWAH0EYL1hyQ94lTBWX8CELQF5bW5
 9F05u0CVJ8ePsuw8duKngZnoa53k5lPNkemfdcjNN1WKZc8Eupt00ioHpctb7afE
 1ux2PLYOHTjqV01a1xnjrD4eZ7Oq8etw4tCb3GORu0tL+NCxgHiiyh5Sg/GY/CTm
 F/yl7/AunFgp5/ahegSk6RFswLbM2cEfaPSBexZiFPzonGXXaJb9V4zgSuNth6BN
 NzsexuVRohw4wZa1o9dfrnVsIguCHQIpVrBY7K6GDpTLlzynXD6hSyvZbg7r2O2l
 tmaU19e2eek7fteNEEmHKpvq38dyQaL7azRxxqAVZOsHvAaB3DJQxZrqXyNPem85
 eTSjVAdh5E1TXLJypD8ONn9U6daWvviYXPcOpdu9x22PqGS07fC8z/j1RLe0bAKw
 oo7qQwxTcqu/tqGIzs6APQky1UDS/nRJzFY5fGQS8X0ZsnFVG7c=
 =QB8Y
 -----END PGP SIGNATURE-----

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

arm64: tegra: Device tree changes for v6.9-rc1

This set of changes refactors the audio-related device tree nodes on
Tegra234 and improves USB support for Jetson AGX Xavier. Furthermore
this consolidates SD/MMC aliases on Tegra234 and provides correct
configuration data for the MGBE Ethernet devices found on Tegra234
so that they can operate at full speed.

* tag 'tegra-for-6.9-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: tegra: Remove Jetson Orin NX and Jetson Orin Nano DTSI
  arm64: tegra: Add audio support for Jetson Orin NX and Jetson Orin Nano
  arm64: tegra: Define missing IO ports
  arm64: tegra: Move AHUB ports to SoC DTSI
  arm64: tegra: Add USB Type-C controller for Jetson AGX Xavier
  arm64: tegra: Add USB device support for Jetson AGX Xavier
  arm64: tegra: Add current monitors for Jetson Xavier
  arm64: tegra: Add AXI configuration for Tegra234 MGBE
  arm64: tegra: Use consistent SD/MMC aliases on Tegra234
  arm64: tegra: Enable cros-ec-spi as wake source

Link: https://lore.kernel.org/r/20240223174849.1509465-5-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29 17:48:15 +01:00
Arnd Bergmann
2d56bb99b6 ARM: tegra: Device tree changes for v6.9-rc1
Add support for the LG Optimus 4X HD and LG Optimus VU devices and clean
 up some minor issues.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmXY1mUACgkQ3SOs138+
 s6E7Lw/7BQTi/ofcVRVjp5TdVXUov3HkB7KeCxUfH+1J7KQxV2bP5LuuOunqBgAP
 E8We0pUp71tJHZV3uVzaLNv0IkDG9/ARuXGKQjdH20nN7ix9ubbEwofmx4INIUgN
 raFrTOg7DtFWsP1rputkfb7kXhv4XEe3lo52wH416l/HCaloJITyJCMYGkmWoaJU
 Up+XuwxB6TpbsUtqt8pZnUVCvOMAkz9L3i21MNmlbPmROH6o7riJHkjVo1Gq3iTl
 vAoKJZiMNRXWJEw+3/YCtd3ATa3/P5U+P1e6jS9SnmEJEISXna9C0qZWn6YJ8L+5
 3As+QClzyxSKMpHS6GdRiGVLgk/kIfsRC279Wv5RsxTGxRcECPTk+jh0fJOdgXYi
 hBALSQ5Leb9Ipq5NxP3DjRWraaN+ZCHVvtW3RJuunEAL8iu+G/wmAmuP+K2Hda5J
 cGoYc1XWnE+ASlK0lfv4/XDmL0WTTy5jlrvddEkAVPJn4s68f8SWCR/dS848ZxOW
 W2vaoWOWz1qUdNgfkgQ8zJK5Laseb/EGzS7BVQxmYwnEs3A/Ri6CVQZfeA19O4fP
 4Uufr13P4hdci8wal9v7s6lpig97c0zKGWqI+SFVBLGFNNYuh9bVQ9q1w85uOSwF
 ymSVvy+RP7h45PZY1Qnx2DvhiLBOK8hKYRsYZLWd/J5qmteDCBo=
 =c6vf
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXgtQoACgkQYKtH/8kJ
 UicPKw/+LrmNzKQQLoWYT2/VEvSY463T9UvxIv4iYwVQRVyYT/ellmwBttjIkkIv
 ytrrJVJF7pqWPHn6a+EP9/cSWLDIF1i1P+rkR4toqvybnmOfiYPBmU1YUhcCVbJc
 a3QlZqtOUcmlsenWU11BGEYBTibVObDOF68xpzKYlqeTFW4ZIIUe1HxjOuH3/IYW
 vFy3BdhhMlgUYcfmUF6Mozc6sPQDlZFgXZ8Kul3m3WLeKTEKqfSXV1CRskirozOd
 1Isz4VnPc2uyq6U5LpfWLpWVHztwAe5tdcRC3RcsPweZyvbDR0hZ6QiU0RDto7Z0
 eCLIRcLw9soSgpOqPTIZW+PUr6ey57eFq8yGe59pyfOrilFYjSzOD611kEzyOaS4
 iFasuM4WHS4Pr5K8KdWpwi5vRF0L7hvWbVgomXBW9TPigKdlrgKPRPRVm4exKEI8
 h2D9TlN6SsmX15ffMX77ffa2TpEDJ0HgRGPd1yFgFXUNGs9OT/rk/FW2ujmQssnX
 +/EAURI+6vwew8J9Qo2QUflr8sDtkArzNR2pzTvwMVOiI+/2YBHQHPAvi5qh83cC
 8Uh8mManX8v2vfhMN5Vzr6cDtZtohC/ogJ7Ou5m/ld/TsD9OGFMTKT2vDq2jXDc4
 I2AfxJHHVKnDCYpYU/wv0jJXc4gTLsuhcMxsCBH95kjzMeCH1Oc=
 =y+q1
 -----END PGP SIGNATURE-----

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

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

Add support for the LG Optimus 4X HD and LG Optimus VU devices and clean
up some minor issues.

* tag 'tegra-for-6.9-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: tegra: Add device-tree for LG Optimus 4X HD (P880)
  ARM: tegra: Add device-tree for LG Optimus Vu (P895)
  ARM: tegra: nexus7: Add missing clock binding into sound node
  ARM: tegra: Enable cros-ec-spi as wake source

Link: https://lore.kernel.org/r/20240223174849.1509465-4-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29 17:47:06 +01:00
Arnd Bergmann
44514c326c dt-bindings: Changes for v6.9-rc1
This contains device tree bindings additions for LG Optimus devices as
 well as cleanups for the PMC hardware block.
 -----BEGIN PGP SIGNATURE-----
 
 iQIyBAABCAAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmXY1e4ACgkQ3SOs138+
 s6E+Og/4gYi63k8VjbhzhMnr855ZEKWTh6VqXHU2ol/MAkV/ZBsky8jdgiKfqzWt
 GP80giHsPUEFqTGaT8Rxh/ikBWeaKzUJuP7SeCEdPZ/g16amn5ZKqNVlsEDdQZky
 OEY1QlX+dBHthYvJXAnh193MbmCLmt4t/0NNLHau5r0gQhY5OgZ2eJlKLO57OcUf
 pmp99O7SLWfH6sZdUqWqKrqMCZHxQWKvwj/Efj+qoL5lCFVpGzE4ZrUVu1TvrWYL
 BMSsGzy/cLOygo+MCR/qZDFjP4HjRmEAA27jQtLK0mbBY1QJpx3zpuSiGRhQox+n
 H6nRHS1Dq4OhDWlnNZc8z0seajgCVMljxVc3bavVqdUlpEuUBXymEN2b0hMctP5p
 iBCZCgajue5VAP0A4T9fBtja52nScjvvoJwWITa8Gc354JfrVKl/7zbZvaxxP5XB
 ubmEJO59ZgQKBX/C3cir3C9UO8p8seibIPJuC25/0U7ECl/ZMjwGU9UnfOcO/E4G
 LZRPL/oxI39rQXm1VyH2wT1vKKOiNGOgyLZaMi5G3QuytjV7DBo0QCnBJGHromhV
 ab2mQV5RCNYUc0uEKBX3mneAQ184qtQrCdpKRAlACtdCupUD/pFVVq4Xl+b9m5bp
 jCxZuauCdYIPil3BSBK0INayB0qDhixeBPTjsiDlfWR490bvvQ==
 =7E47
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXgtNQACgkQYKtH/8kJ
 UicH6RAA0yBcsQlo0tZ3KU9XflLya8DrJYxIHAVD+B2k4HqXwTWg5ZiDONduC+uA
 AjY5QLrWRpLR3H2KXURBr5TU777XB0COxUN9/3EhZqQwUQoPD2olwpA6DJ6JEPgQ
 kn7vrzQVCna4DPs+nqh6fSoZ16UfZ35MBji3fSP8bjzjzvpz4AuZ5PN7v1c97eXz
 6RcM++mMoEp0MQR9pmtHGDqtANE0wAb0qAl48Jo+JKGcnxd8PsyddElGcdf1iJfV
 qIM/rYqZdHoBwnftAyASUBU3VVGq6dKwQ2bEuP1T0ONVV2LhNNvG/jarm9GeVuH0
 W+zRAC07u86iDpxNDAxwXgKjIDXwlFkTCY62FZUQiaX9qVc5EfBt2shbN00qxyhl
 0Non+NenBaolt094po/sfmW6+zWcbRwiYFl9IkIaV81wM0jkeyVRXUGc/Ffcbgws
 0XmpbZMZCHO3lw7AFccz2frr7BREVwlwTtUBYIGdom6ldLj2uvYouM1B1P1VZ/aI
 JMAtvWAO9pb0BhRmdQ+ldR3b3URO8j9lstJusxoT0OzBLyTcFJ+Bf/UTYHNIbqd8
 /SL7SVLAzH1ag7+wcvfO0C2N9MIWPIve0pR4IUy2NLaSKDjRbI0sFYy8iJ/GMpHo
 6Lb5TURPzsozf0B8q0ZqnTjjD4VZEisRZ9TrkRVif0sWhLgb02E=
 =WYO1
 -----END PGP SIGNATURE-----

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

dt-bindings: Changes for v6.9-rc1

This contains device tree bindings additions for LG Optimus devices as
well as cleanups for the PMC hardware block.

* tag 'tegra-for-6.9-dt-bindings' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  dt-bindings: arm: tegra: Add LG Optimus Vu P895 and Optimus 4X P880
  dt-bindings: tegra: pmc: Update scratch as an optional aperture

Link: https://lore.kernel.org/r/20240223174849.1509465-3-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29 17:46:12 +01:00
Arnd Bergmann
11e876b3c3 Renesas DTS updates for v6.9 (take two)
- Add pin control, I2C, GPIO, CA76 cluster, Ethernet, SD/MMC, DMA, and
     HyperFLASH/QSPI (RPC) support for the R-Car V4M SoC,
   - Add I2C EEPROM, Ethernet, eMMC, and QSPI FLASH support for the Gray
     Hawk Single development board,
   - Fix PCIe power on ULCB development boards equipped with the
     Shimafuji Kingfisher extension,
   - Add PSCI support for the RZ/G3S SoC,
   - Add camera support for the RZ/G2UL SMARC EVK development board,
   - Add display support for the RZ/G2L{,C} and RZ/V2L SoCs and SMARC EVK
     development boards,
   - Miscellaneous fixes and improvements,
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZdh7QwAKCRCKwlD9ZEnx
 cDxcAQDLIZaS/ODio5p/KmIGwi/5tuY1dK/FOMwkmOuOvlTSSwD+PsYBDEhr98of
 Mz7woOMUnMh0/SbCgggd69u4KLnbwAs=
 =IcGX
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXgtHIACgkQYKtH/8kJ
 UifE9Q/8Coa4FOLFWy9qzZAh1Fw/UZnUqp50vePr34xyhH5iOrajsQSP2ZAfRIoI
 jSk0DMr8WZEVvBa4YQ/nBCg6aJWtSrCAQcQ99FCtLnuId0XkfNNXgCWFNTadSCLQ
 lpDuMMCCEkkFn1AnRP8UcO4jC6uRn7nIKXaHRj/pVBwda+z34xEdsbYuIW7GPoVq
 385VCE0aLKqm/u6MpcuWlGwdKAAmO0FsnpFSZkoec71D2TmF1+miXTD4l/0Llhmh
 DBU6ms+WmQvpn5u8+RsVP2LawSoyok3vejXu2N6WhqIUozwVi6FWYBwaOnZD2EMa
 5FYhCosCpuJETBC3eh5/hT13onmZMiJqE056KKOB4oTFP7Mjr6HAQNPBZtmIF+Rh
 r3pgZ1p6QX1NrMie+jO6rsHxxJXvl/7Iy+4kH0tvzN2dPsmE36xbSnxA3CACA+66
 Ny17pwaVczLsp+FnbhEs8PVYVzfIPuzVq46aJTxVbNbfGK/mpex5ncoU2K6FkJCg
 0mKKjTeaf75jIYWCR395GeAdJ2DVl+IIEIXqE5me5I3Ug0FzVLDEWa+rPiKXAELf
 OC7HEWCoq2IZsiwvilv7v+OgRzX4EuRBy8Yf8IkDYxwMy7SDtmkfStIhrcCmuvsR
 jXK6L5fk9Z4yuhezNOXNJy5gb2KlRiO69tpnTdJyvR5x6nfwWzk=
 =fAmU
 -----END PGP SIGNATURE-----

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

Renesas DTS updates for v6.9 (take two)

  - Add pin control, I2C, GPIO, CA76 cluster, Ethernet, SD/MMC, DMA, and
    HyperFLASH/QSPI (RPC) support for the R-Car V4M SoC,
  - Add I2C EEPROM, Ethernet, eMMC, and QSPI FLASH support for the Gray
    Hawk Single development board,
  - Fix PCIe power on ULCB development boards equipped with the
    Shimafuji Kingfisher extension,
  - Add PSCI support for the RZ/G3S SoC,
  - Add camera support for the RZ/G2UL SMARC EVK development board,
  - Add display support for the RZ/G2L{,C} and RZ/V2L SoCs and SMARC EVK
    development boards,
  - Miscellaneous fixes and improvements,

* tag 'renesas-dts-for-v6.9-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: (31 commits)
  arm64: dts: renesas: rzg2l-smarc: Enable DU and link with DSI
  arm64: dts: renesas: r9a07g054: Add DU node
  arm64: dts: renesas: r9a07g044: Add DU node
  arm64: dts: renesas: gray-hawk-single: Add QSPI FLASH support
  arm64: dts: renesas: r8a779h0: Add RPC node
  arm64: dts: renesas: r8a779h0: Add DMA support
  arm64: dts: renesas: gray-hawk-single: Add eMMC support
  arm64: dts: renesas: r8a779h0: Add SD/MMC node
  ARM: dts: renesas: r8a7778: Add missing reg-names to sound node
  arm64: dts: renesas: rzg2ul-smarc: Enable CRU, CSI support
  arm64: dts: renesas: gray-hawk-single: Add Ethernet support
  arm64: dts: renesas: r8a779h0: Add Ethernet-AVB support
  arm64: dts: renesas: r8a779g0: Correct avb[01] reg sizes
  arm64: dts: renesas: r8a779a0: Correct avb[01] reg sizes
  arm64: dts: renesas: r9a08g045: Add PSCI support
  arm64: dts: renesas: rzg3s-smarc-som: Guard Ethernet IRQ GPIO hogs
  arm64: dts: renesas: r9a08g045: Add missing interrupts to IRQC node
  arm64: dts: renesas: rzg2l: Add missing interrupts to IRQC nodes
  arm64: dts: renesas: r8a779h0: Add CA76 operating points
  arm64: dts: renesas: r8a779h0: Add CPU core clocks
  ...

Link: https://lore.kernel.org/r/cover.1708687134.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29 17:44:34 +01:00
Arnd Bergmann
c860b6a65d Renesas DT binding updates for v6.9 (take two)
- Restore sort order,
   - Document preferred compatible naming,
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZdh41QAKCRCKwlD9ZEnx
 cGX/AP9Obd3osciKNZkGGZ8FnhkscTbqAe49bQIyDp4UIvg0GwD8DDbtByylTvP3
 OibRWsXlNsFD1vL0T6YNJASer31eTwo=
 =6wyy
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXgtEoACgkQYKtH/8kJ
 UicYqhAA1R+zxELkXovsWAtHsIvoULVud+KvGS1fYBuxwL5RB0ERWkdiQhdnvduV
 t9iby5B+0+POid7RssYAfkXOcMpzbyY0xPldvUwGXuClcvPeieGlnViXc3558GGf
 WkVIo0pWMG5RTeQwWY9OIhI1BBVGdskjvdsbk8GbilBweZPo6gFFmm/+/4bd5hx6
 A+HDYShqVR7rKROb+7oRqQlWHMfXH7KApnpvflm0XMF+aFPGT9WcMqvjw9wpVy9d
 dKB8yjAMr59fBNmFru6hkCFXhoRxFqAkow5FWaERm6UXApiKE9NuzIE9PaPAUkGh
 kPm3kKAaAWVjy7M44jKWJkeC+GvqfE7Dj5GcRo3PA+Cw2lIbJP5q0gvyr8RJ6Kz2
 MVdiJVYr6DZ7qx8H/0mDtxlOiadizTGuTMJnprwk2S/AHlDmTZvYg2Yv99jrOQdM
 TfHJbCiz+h037g/EmpDoP5okss1CmYBS7ukg9QXYenXYidUcDNhTaZw3xJl3j7Kr
 Mu0UYOOOydMhxwSgHSNcNRN9Jgl/AXWk1q0wtTBn+pcBGwqC4mqyo8Zy14nmDL5Y
 Pmt8jW7fSwfQCcvJ6iTyO612N13slrqttaSDa5ym8jYwLo8yFI2qywfc5Gp0DjqN
 D3B5S5it8KlxYLUehgMS/uBYaf3xnUHhs8mK+6VVIjBTJP0AZHQ=
 =tUxt
 -----END PGP SIGNATURE-----

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

Renesas DT binding updates for v6.9 (take two)

  - Restore sort order,
  - Document preferred compatible naming,

* tag 'renesas-dt-bindings-for-v6.9-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  dt-bindings: renesas: Document preferred compatible naming
  dt-bindings: soc: renesas: Preserve the order of SoCs based on their part numbers

Link: https://lore.kernel.org/r/cover.1708687132.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29 17:43:54 +01:00
Arnd Bergmann
55d81cd6a9 Display output for rk3128 and some adaptions to binding clarifications
for hdmi nodes on some older socs.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmXWbt4QHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgdTCB/48V+E7OneY+Ly3i9p3Yh0IFaHjF21mIc31
 nBltNbVnQlIKybcBGxnzt+ZYqx9TIqM6zB+6OBh9DWYZg4WkEoV5pZeaDzMSjZlK
 UrIv6tlJdB4snZNOAPLHrmFbRS57m50dca/sZ9HqfGKmNQdt1nGTf2KYO/+IGImu
 CPya8BLpgnvgATJYus9TrxqGrc0mI0IL1gycFkFukNPBS7iIZ7eyDsK4vxZI0iYs
 RQ12NqbSDzriva7blaWk0f+6LBMGwu/zQs85d59HQPuuv3plWDiXqWNNBau1bQME
 vc+1QdZQMFe3ybOwYR0B//i0z/F+aqG2h7/TFDIMaVV0gPPxY3IA
 =Worw
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXgtBAACgkQYKtH/8kJ
 UieraA//S/UcVI9iYTQIm2nb7HT9vgKJ7F3y5GjjSWL50mczcnN/1aCWTZBeCbwh
 jIZr785mgT4+Gnfc2RydzV7nfX0WbhWEjkFvEBZMA3PDPJCkqkquoN6wrcnLi2Op
 cKEH96bDt5R1p5TB0AqZfPfdJMBIZnYocbDgZvoU31RSpsQGge6ozfclpUk7wmqT
 N2o19aWVf3TABWTrPbsBDVN5Brwxp6QwSZsOiWqLdl5Cu2g/KfcWsWm8BkFLxzlo
 2crRp9g2C25cbwcrQ2QMABDJ3o8XY8l0pBhYPKBW6oXfjAdhgpC3wj+SwdoSYayS
 gdu6t7g7iH0O+97IqAu64nPX7gfgcPDILGBor7i8mk++tu70fWAz/HHBpLO+V+cd
 nbnunqxEQW7AtR0WL8w+0Iw5xiCNYXQ/4u7t8I5ElE3rnt9LrbvGr0QF1uVZAJcp
 HgpVGaFm1STeUSDK5uUb0DX5YtnhEN5Z9+VjN3nKtXP9aCPzAGXIYzUr0pPkBLk/
 DaNEwYXWU+q/0snns5MpLo0HRdc0lmIC1/bn+VUemJDwe8y6AftmfSbcZmRixkiG
 UdA78tYbbqp7ZZ3qVXbonMaKzrBAGcdjYlVyKr47iX0WRdVAi5vjlLDXVoITxNaP
 fDCb3bhgFwpdaFJYZt9J1l0CTOnVV8lO4CEBDUlXHrjlpXSgwBc=
 =Iqn0
 -----END PGP SIGNATURE-----

Merge tag 'v6.9-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt

Display output for rk3128 and some adaptions to binding clarifications
for hdmi nodes on some older socs.

* tag 'v6.9-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: dts: rockchip: fix rk322x hdmi ports node
  ARM: dts: rockchip: fix rk3288 hdmi ports node
  ARM: dts: rockchip: Enable HDMI output for XPI-3128
  ARM: dts: rockchip: Add HDMI node for RK3128
  ARM: dts: rockchip: Add display subsystem for RK3128

Link: https://lore.kernel.org/r/37970455.XM6RcZxFsP@diego
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29 17:42:56 +01:00
Arnd Bergmann
a184d9835a tick/sched: Fix build failure for CONFIG_NO_HZ_COMMON=n
In configurations with CONFIG_TICK_ONESHOT but no CONFIG_NO_HZ or
CONFIG_HIGH_RES_TIMERS, tick_sched_timer_dying() is stubbed out,
but still defined as a global function as well:

kernel/time/tick-sched.c:1599:6: error: redefinition of 'tick_sched_timer_dying'
 1599 | void tick_sched_timer_dying(int cpu)
      |      ^
kernel/time/tick-sched.h:111:20: note: previous definition is here
  111 | static inline void tick_sched_timer_dying(int cpu) { }
      |                    ^

This configuration only appears with ARM CONFIG_ARCH_BCM_MOBILE,
which should not actually select CONFIG_TICK_ONESHOT.

Adjust the #ifdef for the stub to match the condition for building the
tick-sched.c file for consistency with the definition and to avoid
the build regression.

Fixes: 3aedb7fcd8 ("tick/sched: Remove useless oneshot ifdeffery")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240228123850.3499024-1-arnd@kernel.org
2024-02-29 17:41:29 +01:00
Jaegeuk Kim
4d4c593893 f2fs: fix write pointers all the time
Even if the roll forward recovery stopped due to any error, we have to fix
the write pointers in order to mount the disk from the previous checkpoint.

Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-02-29 08:34:35 -08:00
Jaegeuk Kim
7af2df0f67 f2fs: check number of blocks in a current section
In cfd66bb715 ("f2fs: fix deadloop in foreground GC"), we needed to check
the number of blocks in a section instead of the segment.

Fixes: cfd66bb715 ("f2fs: fix deadloop in foreground GC")
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-02-29 08:34:34 -08:00
Jaegeuk Kim
de25240756 f2fs: prevent an f2fs_gc loop during disable_checkpoint
Don't get stuck in the f2fs_gc loop while disabling checkpoint. Instead, we have
a time-based management.

Reviewed-by: Chao Yu <chao@kernel.org>
Reviewed-by: Daeho Jeong <daehojeong@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-02-29 08:34:34 -08:00
Chao Yu
8b10d36537 f2fs: introduce FAULT_NO_SEGMENT
Use it to simulate no free segment case during block allocation.

Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-02-29 08:34:34 -08:00
Chao Yu
ea59b12ac6 f2fs: compress: fix to check compress flag w/ .i_sem lock
It needs to check compress flag w/ .i_sem lock, otherwise, compressed
inode may be disabled after the check condition, it's not needed to
set compress option on non-compress inode.

Fixes: e1e8debec6 ("f2fs: add F2FS_IOC_SET_COMPRESS_OPTION ioctl")
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-02-29 08:34:34 -08:00
Chao Yu
7d009e048d f2fs: fix to handle segment allocation failure correctly
If CONFIG_F2FS_CHECK_FS is off, and for very rare corner case that
we run out of free segment, we should not panic kernel, instead,
let's handle such error correctly in its caller.

Signed-off-by: Chao Yu <chao@kernel.org>
Tested-by: Zhiguo Niu <zhiguo.niu@unisoc.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-02-29 08:34:34 -08:00
Zhiguo Niu
f9e28904e6 f2fs: stop checkpoint when get a out-of-bounds segment
There is low probability that an out-of-bounds segment will be got
on a small-capacity device. In order to prevent subsequent write requests
allocating block address from this invalid segment, which may cause
unexpected issue, stop checkpoint should be performed.

Also introduce a new stop cp reason: STOP_CP_REASON_NO_SEGMENT.

Note, f2fs_stop_checkpoint(, false) is complex and it may sleep, so we should
move it outside segmap_lock spinlock coverage in get_new_segment().

Signed-off-by: Zhiguo Niu <zhiguo.niu@unisoc.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-02-29 08:34:34 -08:00
Chao Yu
e24e8333d0 f2fs: delete f2fs_get_new_segment() declaration
Commit 093749e296 ("f2fs: support age threshold based garbage
collection") added this declaration, but w/ definition, delete
it.

Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-02-29 08:34:33 -08:00
Hsin-Yi Wang
c958e86e9c drm/mediatek: Fix a null pointer crash in mtk_drm_crtc_finish_page_flip
It's possible that mtk_crtc->event is NULL in
mtk_drm_crtc_finish_page_flip().

pending_needs_vblank value is set by mtk_crtc->event, but in
mtk_drm_crtc_atomic_flush(), it's is not guarded by the same
lock in mtk_drm_finish_page_flip(), thus a race condition happens.

Consider the following case:

CPU1                              CPU2
step 1:
mtk_drm_crtc_atomic_begin()
mtk_crtc->event is not null,
                                  step 1:
                                  mtk_drm_crtc_atomic_flush:
                                  mtk_drm_crtc_update_config(
                                      !!mtk_crtc->event)
step 2:
mtk_crtc_ddp_irq ->
mtk_drm_finish_page_flip:
lock
mtk_crtc->event set to null,
pending_needs_vblank set to false
unlock
                                  pending_needs_vblank set to true,

                                  step 2:
                                  mtk_crtc_ddp_irq ->
                                  mtk_drm_finish_page_flip called again,
                                  pending_needs_vblank is still true
                                  //null pointer

Instead of guarding the entire mtk_drm_crtc_atomic_flush(), it's more
efficient to just check if mtk_crtc->event is null before use.

Fixes: 119f517362 ("drm/mediatek: Add DRM Driver for Mediatek SoC MT8173.")
Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>
Reviewed-by: CK Hu <ck.hu@mediatek.com>
Link: https://patchwork.kernel.org/project/dri-devel/patch/20240223212404.3709690-1-hsinyi@chromium.org/
Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
2024-02-29 16:15:28 +00:00
David Howells
99afb28c67 rxrpc: Move rxrpc_send_ACK() to output.c with rxrpc_send_ack_packet()
Move rxrpc_send_ACK() to output.c to so that it is with
rxrpc_send_ack_packet() prior to merging the two.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: "David S. Miller" <davem@davemloft.net>
cc: Eric Dumazet <edumazet@google.com>
cc: Jakub Kicinski <kuba@kernel.org>
cc: Paolo Abeni <pabeni@redhat.com>
cc: linux-afs@lists.infradead.org
cc: netdev@vger.kernel.org
2024-02-29 15:50:00 +00:00
David Howells
a1c9af4d44 rxrpc: Don't pick values out of the wire header when setting up security
Don't pick values out of the wire header in rxkad when setting up DATA
packet security, but rather use other sources.  This makes it easier to get
rid of txb->wire.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: "David S. Miller" <davem@davemloft.net>
cc: Eric Dumazet <edumazet@google.com>
cc: Jakub Kicinski <kuba@kernel.org>
cc: Paolo Abeni <pabeni@redhat.com>
cc: linux-afs@lists.infradead.org
cc: netdev@vger.kernel.org
2024-02-29 15:49:59 +00:00
David Howells
44125d5aad rxrpc: Split up the DATA packet transmission function
Split (sub)packet preparation and timestamping out of the DATA packet
transmission function to make it easier to glue multiple txbufs together
into a jumbo DATA packet.  This will require preparation and timestamping
of all the subpackets in a txbuf, and these functions provide convenient
points to place the required iteration.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: "David S. Miller" <davem@davemloft.net>
cc: Eric Dumazet <edumazet@google.com>
cc: Jakub Kicinski <kuba@kernel.org>
cc: Paolo Abeni <pabeni@redhat.com>
cc: linux-afs@lists.infradead.org
cc: netdev@vger.kernel.org
2024-02-29 15:49:59 +00:00
David Howells
ff342bdc59 rxrpc: Add a kvec[] to the rxrpc_txbuf struct
Add a kvec[] to the rxrpc_txbuf struct to point to the contributory buffers
for a packet.  Start with just a single element for now, but this will be
expanded later.

Make the ACK sending function use it, which means that rxrpc_fill_out_ack()
doesn't need to return the size of the sack table, padding and trailer.

Make the data sending code use it, both in where sendmsg() packages code up
into txbufs and where those txbufs are transmitted.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: "David S. Miller" <davem@davemloft.net>
cc: Eric Dumazet <edumazet@google.com>
cc: Jakub Kicinski <kuba@kernel.org>
cc: Paolo Abeni <pabeni@redhat.com>
cc: linux-afs@lists.infradead.org
cc: netdev@vger.kernel.org
2024-02-29 15:49:59 +00:00
David Howells
1ac6a8536c rxrpc: Merge together DF/non-DF branches of data Tx function
Merge together the DF and non-DF branches of the transmission function and
always set the flag to the right thing before transmitting.  If we see
-EMSGSIZE from udp_sendmsg(), turn off DF and retry.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: "David S. Miller" <davem@davemloft.net>
cc: Eric Dumazet <edumazet@google.com>
cc: Jakub Kicinski <kuba@kernel.org>
cc: Paolo Abeni <pabeni@redhat.com>
cc: linux-afs@lists.infradead.org
cc: netdev@vger.kernel.org
2024-02-29 15:49:58 +00:00
David Howells
d32636982c rxrpc: Do lazy DF flag resetting
Don't reset the DF flag after transmission, but rather set it when needed
since it should be a fast op now that we call IP directly.

This includes turning it off for RESPONSE packets and, for the moment, ACK
packets.  In future, we will need to turn it on for ACK packets used to do
path MTU discovery.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: "David S. Miller" <davem@davemloft.net>
cc: Eric Dumazet <edumazet@google.com>
cc: Jakub Kicinski <kuba@kernel.org>
cc: Paolo Abeni <pabeni@redhat.com>
cc: linux-afs@lists.infradead.org
cc: netdev@vger.kernel.org
2024-02-29 15:49:58 +00:00
David Howells
693f9c13ec rxrpc: Remove atomic handling on some fields only used in I/O thread
call->tx_transmitted and call->acks_prev_seq don't need to be managed with
cmpxchg() and barriers as it's only used within the singular I/O thread.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: "David S. Miller" <davem@davemloft.net>
cc: Eric Dumazet <edumazet@google.com>
cc: Jakub Kicinski <kuba@kernel.org>
cc: Paolo Abeni <pabeni@redhat.com>
cc: linux-afs@lists.infradead.org
cc: netdev@vger.kernel.org
2024-02-29 15:49:58 +00:00
David Howells
d73f3a7488 rxrpc: Strip barriers and atomics off of timer tracking
Strip the atomic ops and barriering off of the call timer tracking as this
is handled solely within the I/O thread, except for expect_term_by which is
set by sendmsg().

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: "David S. Miller" <davem@davemloft.net>
cc: Eric Dumazet <edumazet@google.com>
cc: Jakub Kicinski <kuba@kernel.org>
cc: Paolo Abeni <pabeni@redhat.com>
cc: linux-afs@lists.infradead.org
cc: netdev@vger.kernel.org
2024-02-29 15:49:57 +00:00
David Howells
17469ae058 rxrpc: Fix the names of the fields in the ACK trailer struct
From AFS-3.3 a trailer containing extra info was added to the ACK packet
format - but AF_RXRPC has the names of some of the fields mixed up compared
to other AFS implementations.

Rename the struct and the fields to make them match.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: "David S. Miller" <davem@davemloft.net>
cc: Eric Dumazet <edumazet@google.com>
cc: Jakub Kicinski <kuba@kernel.org>
cc: Paolo Abeni <pabeni@redhat.com>
cc: linux-afs@lists.infradead.org
cc: netdev@vger.kernel.org
2024-02-29 15:49:57 +00:00
David Howells
41b8debba7 rxrpc: Note cksum in txbuf
Add a field to rxrpc_txbuf in which to store the checksum to go in the
header as this may get overwritten in the wire header struct when
transmitting as part of a jumbo packet.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: "David S. Miller" <davem@davemloft.net>
cc: Eric Dumazet <edumazet@google.com>
cc: Jakub Kicinski <kuba@kernel.org>
cc: Paolo Abeni <pabeni@redhat.com>
cc: linux-afs@lists.infradead.org
cc: netdev@vger.kernel.org
2024-02-29 15:49:57 +00:00
David Howells
12bdff73a1 rxrpc: Convert rxrpc_txbuf::flags into a mask and don't use atomics
Convert the transmission buffer flags into a mask and use | and & rather
than bitops functions (atomic ops are not required as only the I/O thread
can manipulate them once submitted for transmission).

The bottom byte can then correspond directly to the Rx protocol header
flags.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: "David S. Miller" <davem@davemloft.net>
cc: Eric Dumazet <edumazet@google.com>
cc: Jakub Kicinski <kuba@kernel.org>
cc: Paolo Abeni <pabeni@redhat.com>
cc: linux-afs@lists.infradead.org
cc: netdev@vger.kernel.org
2024-02-29 15:49:56 +00:00
David Howells
ba132d841d rxrpc: Record the Tx serial in the rxrpc_txbuf and retransmit trace
Each Rx protocol packet contains a per-connection monotonically increasing
serial number used to correlate outgoing messages with their replies -
something that can be used for RTT calculation.

Note this value in the rxrpc_txbuf struct in addition to the wire header
and then log it in the rxrpc_retransmit trace for reference.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: "David S. Miller" <davem@davemloft.net>
cc: Eric Dumazet <edumazet@google.com>
cc: Jakub Kicinski <kuba@kernel.org>
cc: Paolo Abeni <pabeni@redhat.com>
cc: linux-afs@lists.infradead.org
cc: netdev@vger.kernel.org
2024-02-29 15:49:56 +00:00
Arnd Bergmann
34eb16dedb New boards: Powkiddy RGB10MAX3, Pine64 PineTab2, NanoPi R6C+R6S, Anbernic
RG-ARC S and RG-ARC D.
 New peripherals: rs485 on Theobroma Systems boards, usb3 on Indidroid Nova,
 Edgeble NCM6A (usb2, m.2, ethernet, wifi, cpu-regulator), Rock-5b rfkill
 for wifi, cache information for rk3399.
 Snmaller DT fixes (hdmi nodes, aliases, redundant card-detect gpios, max-
 frequency for spi-flashes on rock-pi 4 boards, missing pmu-io-domains on
 Ringneck)
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmXWfhUQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgUVICACa6sSVP4b+X58wYaYQ51khrgtXm0FqrXPV
 WzilDDZg3zf8QDaLJsUsKkZH1vq6FzwaWeJ0mOuhLArHpRuovUrAmcGgZeUPBF3I
 a3aWf0ZzpiwGPBJI/VaQ4irhuF2SsMnnLKt1izCSJ56/0WmJwu6/EpLkVi16e/ZW
 hPdnMKU7G0QTRkDYwcsVY3tjd2zqKNXlj0ut/nF4SU7Siu8epU0Lpy8kj8VW2/2E
 j+RQrgEtQN9onMAB5YG9pHTfU2kR9eSCV7M8qSdOwo2cwAziwgSqHiRl1peelzKO
 KfTasFWTeze+t9sMS7txIHRSrJSxmtIALQENjfqrUZKm6RO2MPtW
 =eM2B
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXgoTUACgkQYKtH/8kJ
 UiffFA//XRP2sJpA9cfySME1Q5XxPFcd7fOLzDVEPVobVmNSHAEpstT3J8MFP32H
 2rB2gyoxmSq8D/nV2rHnpx7poM+0Yu9do4+1av4cv8PqIUSY8IQly93WoaTVPz61
 0GkiIHOpIeJ0aCv1rGAoQZD/eRhej3YwvaMHUeTtP5HoP7Jruof5VHBwQ51Jezyp
 dG0DxWAHbkFJrZ8UI1fB0bGYNWPJeHDiiS5cEFQGFRP+4xFM07jjPziLKAVidtqS
 OgF+Qt93HkbFsPAFYV43dOiooU8Xz+MkFZGKCjij+XOkQbVvGKGTCTvNc8ubwqeG
 zIDMCvZ9my+DJCXrC2357/LkxLmuirraRHyaB8tkFDmAh92wLniID2QKGDmCt9ra
 OCvcwz/0jXPmUaQHaL5bmyz/jteBWEKi+mV8dDpZH2GDvT3MRo+dwmoHnI55OgEI
 KumsfAehO2otFk4j3eCFP3TVGuMCTkNvm78fYXN9boKDL1Auco0w9YQGpA9neUkj
 D2Ptmp2yq0kL9iF24ntFbW3HIz1t/f6LB3sroqN4sWEtX5dJWHo92oj7WZi+f5EX
 CNiXDAOcPeljbBiK1Cof1ip6mn+30f4WAw6GKnUKctkTvf8ARCd6il04fqdGDRJz
 VHaeKu1qE8QTe8rd12qm/Buv/z4iHUyrkWMIN3XpnEuKzW+5vIY=
 =tEbr
 -----END PGP SIGNATURE-----

Merge tag 'v6.9-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt

New boards: Powkiddy RGB10MAX3, Pine64 PineTab2, NanoPi R6C+R6S, Anbernic
RG-ARC S and RG-ARC D.
New peripherals: rs485 on Theobroma Systems boards, usb3 on Indidroid Nova,
Edgeble NCM6A (usb2, m.2, ethernet, wifi, cpu-regulator), Rock-5b rfkill
for wifi, cache information for rk3399.
Snmaller DT fixes (hdmi nodes, aliases, redundant card-detect gpios, max-
frequency for spi-flashes on rock-pi 4 boards, missing pmu-io-domains on
Ringneck)

* tag 'v6.9-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (38 commits)
  arm64: dts: rockchip: Add USB3.0 to Indiedroid Nova
  arm64: dts: rockchip: adjust phy-handle name on rock-pi-e
  arm64: dts: rockchip: fix rk3399 hdmi ports node
  arm64: dts: rockchip: fix rk3328 hdmi ports node
  arm64: dts: rockchip: remove redundant cd-gpios from rk3588 sdmmc nodes
  arm64: dts: rockchip: add rs485 support on uart5 of px30-ringneck-haikou
  arm64: dts: rockchip: add rs485 support on uart2 of rk3399-puma-haikou
  arm64: dts: rockchip: Add Powkiddy RGB10MAX3
  dt-bindings: arm: rockchip: Add Powkiddy RGB10MAX3
  arm64: dts: rockchip: Update powkiddy rk2023 dtsi for RGB10MAX3
  arm64: dts: rockchip: Add devicetree for Pine64 PineTab2
  dt-bindings: arm64: rockchip: Add Pine64 PineTab2
  arm64: dts: rockchip: Add Touch to Anbernic RG-ARC D
  arm64: dts: rockchip: fix nanopc-t6 sdmmc regulator
  arm64: dts: rockchip: remove duplicate SPI aliases for helios64
  arm64: dts: rockchip: add spi controller aliases on rk3399
  arm64: dts: rockchip: Add support for NanoPi R6C
  arm64: dts: rockchip: Add support for NanoPi R6S
  dt-bindings: arm: rockchip: Add NanoPi R6 series boards
  arm64: dts: rockchip: Increase maximum frequency of SPI flash for ROCK Pi 4A/B/C
  ...

Link: https://lore.kernel.org/r/3622360.hdfAi7Kttb@diego
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29 16:22:29 +01:00
Arnd Bergmann
5d9f164317 DTS fixes for the ARM Versatile boards:
- Use the "mtd-rom" compatible for the Realview ROM
 - Fix up two VGA connector cells and labels
 - Fix up the Cortex spelling
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmXWedgACgkQQRCzN7AZ
 XXPplg/+IZaEpq/diyrYylaaU4yHuMJBPcY5B29TDLKK6ZSWGYoN1yfvvKdtCaAc
 Gn8mkLUgctDbYVXqbnlAQtaEYLUKj3xu7jwPgs2tUVr9qnqRWiXjbd0M2V4I1yvu
 c1zMT7ca/HlZF9AMT9yNGS8mRWLBkePMSI6bfktwymWRTOJ3Z1xeKUIBFBf8QW5Q
 3wClEHDxcK2ACHmAnUXVbvsv3FBdt3z/GTFSF+fd6WH2mafuzAHCbS6ygRLsnbUz
 aURM0W/lEJxMRPC8Kr4vI41Ot9A+8haBd79bjHXsf516Dxd/GvAf5eA2/4IscX3f
 E78PK9UsB2RZMsL0gNQQBsCR/WGT94N/8ltyWtSBvVhefr81Z1z9jC7pAFtq7Bm1
 m/l4eJo3xMtvp1Cs9QZRmETxVaAAtOyRby4prdoKA1BeLNa2RG1OaGyfpQCSp6oj
 ignFckpPNXvpwLOSaJOWJyUwZSAYv+rcUZPrUtjrMfvLZjnTwT93Rz/QTLdW7ilv
 s0wulpP9RY72VdQu64iebMa9pz7v1dkXlV/LKmfGdcY8VotHYuLhzEIyBQDvEarC
 NJhWGhVXgPtyJ62n3iKywkcS8fneCU+UytQLgsafQRHu9om5Uybtcx0Dd5F9u6g/
 Li6XTgPKvxxd+kO52H+H/TGuRoH1F5rca2si6BWgTjdhxqKQsZc=
 =hncO
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXgoLIACgkQYKtH/8kJ
 UieymxAAh3qf5NZEgX/wzBFWg7HZau8HUupke+GcOn0c8LXrw1eD8jJCfHiR7FoM
 wk/P+kb7LA/wSzYN7Z5fVp/TxRYeaHJXTwOejUwZP0TX2GMGSDmXNhZyxXXx7J4X
 Y1RBPLWa9RPYeHRktqoz6ASG0TEdX/gAyx+jJY2SJRhtUg4Si0lYHPqutWjaMX6a
 JVF7korL2Pf/tv6N2oOVSSDVYbu5v28T9P9gzKXS/CZpFL38N8WO1W2h2WWG/BM4
 mKBtZckeTNjRt9Qdw00ZQIfvzGRAu2FBYwOpMWS0fThme0/hoK03VBUMEnO+kfFF
 txW8ZozeFdpomKJWwGU71Ftmtsb5wVWsBuon83MmQIaK6Rsq9qaGtTFWGCSyxacU
 9QJehMrEZJveZ6C2mLyV4ElWdY0dh/I/PVtGXAAbBuDg5lELSkD5aZJx/GU1in1U
 AtpP8WsqNmwaD0x4VcuGR3x9SieNSjvyG/02OxxcRzLi/1//SG9Jp1940JwWCD+1
 brOi6aXvLrYQq7+2ku6XZ1kAHZXt3j8Konav+I2ILbn8H7e1dskoKoC5tSsOVdo7
 JiJsYU9tvXkaLBV81M8zIC9w9BF1Z3Jiu65ctJWbHsd4ppl1xp+m2Iih6n4NTjGC
 g5uwHGzJgmOSw6IVQEtU7ldCGnfvk9fRMQBUYttO2CVIHcX6UT0=
 =Ah8J
 -----END PGP SIGNATURE-----

Merge tag 'versatile-dts-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into soc/dt

DTS fixes for the ARM Versatile boards:

- Use the "mtd-rom" compatible for the Realview ROM
- Fix up two VGA connector cells and labels
- Fix up the Cortex spelling

* tag 'versatile-dts-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  dt-bindings: arm: realview: Spelling s/ARM 11/Arm11/, s/Cortex A-/Cortex-A/
  ARM: dts: integrator: Fix up VGA connector
  ARM: dts: versatile: Fix up VGA connector
  ARM: dts: arm: realview: Fix development chip ROM compatible value

Link: https://lore.kernel.org/r/CACRpkdaL6j6OdixHFHoMms4e=tXEw_6ynBMFb6m8=7KkVgEedA@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29 16:20:18 +01:00
Arnd Bergmann
ca369f9628 Gemini DTS changes for the v6.9 kernel:
- Fix the node names of the DSA switch in DIR-685.
 - Fix the node names of the Vitesse DSA switches.
 - Fix up the Wiligear compatible strings
 - Use KEY_RESTART where applicable.
 -----BEGIN PGP SIGNATURE-----
 
 iQIyBAABCgAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmXV+ccACgkQQRCzN7AZ
 XXNVCw/3XFUYTCF9hxV68KfWa+ejm6JcSXq49QT4h7qoIxx3oP+DcqffYyJYrMOO
 CoEvRQP3PmGFix0PPGKXltiWnbS7qfG9KSL6dub7OKdMo3oX8I9ejw2KzGDDxrqR
 XmGiGIrQuVsBPD382mxXOND3RyweJ1AyUJ8FDLOQ2DlxKIoeCQaJPKru3YdLRvfV
 QlwEDxG014D1jdQ8Mv75is27ET932ggeeGs4ZrWFArFXD3768b0/5dXZkB9WPDNW
 oZDhEHzl4QL543XkAj0xUX0zRF23XO5m+QBYUP5JTkTz7yA3kZzN1GftGMsR+FE8
 jspNg8KARBYCN/mq3HFa0gFParN78Cm4mtF6LQRauiDwBFagZa2bBf3cPHCy7Cra
 +WWXPlllXgdJbYYz+qbktkZsZLk5skbojJmL2egN3y+dVCmJyniXSMbCRLZeXIT9
 0gmOjSGfqqxyWDumVPwG58nBvXhDU8fSq6Tf0esP5Y1VDAUhC9TcA6LD7rxDKFhs
 HWHNvMBT53h+pfAUxnQkqrcmPQaBoAdbDjSi4uETeXOyO3CVYJ6nU4A2pASNDqb5
 PIZ1kVXUuxsmZeM7b1RXe7ydiP8q3gs1Ros/uPBFA1bZoE+aCbwvv02pIJ2Pa9C9
 JhqLIMjAiG5Bpg8gcTiE0OOIaAMRwZ/uYVwWVgiY8CbnBtAl7w==
 =47BO
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXgoHYACgkQYKtH/8kJ
 UicudQ//Ssu30IGtfQUcqPNWTc/v3jBCUY+wtiedOQmk/DUtvCzVoREQ/ktT75HR
 TBDgkSQFVB38ha7EUwcej+Bcm8/SrImzDOLRxqn+nMaZcoclzbyZ5inxidCNhIf7
 Rf8xSmx3e8jltIyRP8oIPkFbaABpIsHraD9UqDr3DFXr/gUQzwYnT7vveol+xZ6p
 FSLQcbgd2jLRLEGPnfS4wstrOsPcyNAWz1doW7GTJoRRo8EFge4hdmqo/sN+grts
 0EBdqTlO9oZAmScfviR34StaWCMpAQ3Yn9knyQarEhIMTaWPS4QGpz3RstWGlL6/
 bbm7mkO4aCgN4LC8ZPNMkeMphhu98UJp5SfWFcWGI3CA77OT8/ewr0knoaZ7tXq9
 CtJw+bYxDO7TzJKO3oPx3W8M5jE3+7qupo5fA1ovXYBxTR2fXY8Qn1rcjanx3T+C
 bzV+z2q3sIn8XEby85uKGF2RHO30HZasf/e1vqeYrRF2LbEsptoE8V0p/rnEn6sb
 OvpPnMmYPNBWtceZ73iOXD5PDC83hfoLx3wguhUjy1B991UDRpt4i8ZPUeIWklRF
 6xl1RyPUKPw5k/VbS044y1Qna7rVI/urMNBXGbfrPIeKnZSKpsA3lCcCO1g1UI8b
 tvC9+j8ohQlCF9DMJXBkDnDGdXhKOe81/oitTBTXVSpbjbwySbY=
 =O15M
 -----END PGP SIGNATURE-----

Merge tag 'gemini-dts-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into soc/dt

Gemini DTS changes for the v6.9 kernel:

- Fix the node names of the DSA switch in DIR-685.
- Fix the node names of the Vitesse DSA switches.
- Fix up the Wiligear compatible strings
- Use KEY_RESTART where applicable.

* tag 'gemini-dts-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  ARM: dts: gemini: Fix switch node names on Vitesse switches
  ARM: dts: gemini: Map reset keys to KEY_RESTART
  ARM: dts: gemini: Fix wiligear compatible strings
  ARM: dts: gemini: Fix switch node names in the DIR-685

Link: https://lore.kernel.org/r/CACRpkdYQv9cyCZyjgQB4FTrxek9Hfu4EZ3syfHqHF7P6gzddvA@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29 16:19:18 +01:00
Arnd Bergmann
d902209155 MediaTek ARM64 DeviceTree updates for v6.9
This adds support for the following new machines:
  - MT7981B: Xiaomi AX3000T
  - MT7986A: Acelink EW-7886CAX
  - MT7988A: BananaPi BPI-R4
  - MT8186 Chromebooks: Tentacruel, Tentacool, Steelix, Rusty, Magneton
  - MT8395/MT8195: Radxa NIO 12L
 
 Also adds more support for the MediaTek MT8186 SoC's Video and JPEG
 encoders and for MT7988 clocks, enables wakeup support for the CrOS
 EC on SPI in all MediaTek Chromebooks, performs some cleanups and
 includes some spare fixes.
 -----BEGIN PGP SIGNATURE-----
 
 iJ4EABYKAEYWIQQn3Xxr56ypAcSHzXSaNgTPrZeEeAUCZdNPiigcYW5nZWxvZ2lv
 YWNjaGluby5kZWxyZWdub0Bjb2xsYWJvcmEuY29tAAoJEJo2BM+tl4R4XOYBAPIL
 G/Y4jGNfCPPS4gFPt7y7WKG6nT270msgGFOFELszAP0WSpiOp0rBUS8oXY+NKchd
 gxMuvBtfHE05/shSxasKBw==
 =VN5r
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXgn4YACgkQYKtH/8kJ
 UicNaA/+NtgifoCRIko1BsATmNs5c/W5bBaU0w9NHhTDjFVHP6CZzEfFfkU5irK5
 5cUZ8InXEa4/34YVcMHjHvuXhZ2jbrEHU7G1tR52z9wSQz8TQf5wiwgD+dCsFXaq
 m43l3aArTQVGOgkdU4+U/AsGyNLR94snHaDXZPweVXTnPMBv9+FDObbIROvX7H6k
 iRoEwfZuoaZj2gLX+RezhhqususwsnDMugBWRICgaaCGOuM07EWrmfgHUrujq9E/
 nV+L2cBjjqDKqeKVL8wdznQz02uA4uWw/0jswwXd8AWyu1CSmOrb1mDlOnRGh02/
 DvktM1mzIMMlnCZvbIxzqn/Pawsgo1t7aVO5LFUF5p1jYppzS+pUcIcmPi/Dq0K6
 PDYlmj+70ieNqIur3BjHG1I4RAba01MDB5Ov5w6P8m+5AUTDMsA+6Z2xNR+QCGla
 ca62a2KmQK0lvDZg3HHaVKCYNreV2QLP+7FukghpQ5x2TN1nGHFz2ZHedvcbxVPE
 ol9IoB3qogSsCR7lSoYjthOzJl3yUBEjz5619jVBLkqGXQX1A7Dcdx9bs7zZ8tfl
 3Bb5Yi+1EDH9Bk7UOE6FBA84HTpp5vU8YyWKdPR6s3mdZXKNrhepjajhPHfR2LuE
 Pl4USZxL9pKMle/oB1oqsQH2vzIVqF7kgXPkRoHoNMM/oajkIX0=
 =Ac61
 -----END PGP SIGNATURE-----

Merge tag 'mtk-dts64-for-v6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/dt

MediaTek ARM64 DeviceTree updates for v6.9

This adds support for the following new machines:
 - MT7981B: Xiaomi AX3000T
 - MT7986A: Acelink EW-7886CAX
 - MT7988A: BananaPi BPI-R4
 - MT8186 Chromebooks: Tentacruel, Tentacool, Steelix, Rusty, Magneton
 - MT8395/MT8195: Radxa NIO 12L

Also adds more support for the MediaTek MT8186 SoC's Video and JPEG
encoders and for MT7988 clocks, enables wakeup support for the CrOS
EC on SPI in all MediaTek Chromebooks, performs some cleanups and
includes some spare fixes.

* tag 'mtk-dts64-for-v6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux: (51 commits)
  arm64: dts: mt8195-cherry-tomato: change watchdog reset boot flow
  arm64: dts: mt7986: add port@5 as CPU port
  arm64: dts: mt7622: add port@5 as CPU port
  arm64: dts: mediatek: Replace deprecated extcon-usb-gpio id-gpio/vbus-gpio properties
  arm64: dts: mediatek: replace underscores in node names
  arm64: dts: mediatek: mt8186: Add missing xhci clock to usb controllers
  arm64: dts: mediatek: mt8186: Add missing clocks to ssusb power domains
  arm64: dts: mediatek: mt7622: add missing "device_type" to memory nodes
  arm64: dts: mediatek: mt7986: reorder nodes
  arm64: dts: mediatek: mt7986: reorder properties
  arm64: dts: mediatek: Add Acelink EW-7886CAX
  dt-bindings: arm64: dts: mediatek: Add Acelink EW-7886CAX access point
  dt-bindings: vendor-prefixes: add acelink
  arm64: dts: mediatek: Introduce the MT8395 Radxa NIO 12L board
  dt-bindings: arm64: mediatek: Add MT8395 Radxa NIO 12L board compatible
  arm64: dts: mediatek: mt8186: Add video decoder device nodes
  arm64: dts: mediatek: mt8195: Add MTU3 nodes and correctly describe USB
  arm64: dts: mediatek: Add MT8186 Magneton Chromebooks
  arm64: dts: mediatek: Add MT8186 Steelix platform based Rusty
  arm64: dts: mediatek: Introduce MT8186 Steelix
  ...

Link: https://lore.kernel.org/r/20240219131230.157792-1-angelogioacchino.delregno@collabora.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29 16:15:18 +01:00
Arnd Bergmann
60dfd940ea Minor improvements in ARM DTS for v6.9
1. Marvell MMP2: Very old issue, for which I sent patch back in 2014.
    Patch was never picked up and now another try to fix the same
    happened, so here it goes: use proper compatible MAX8925.
 2. Marvell Dove: add proper unit-addresses.
 3. TI DA850: add MMC interrupts.
 4. STI: minor white-space fixes.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmXSS6UQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD12z+EACatUsFDZvmp7OyzHHKYD79PDiFafeQ42g5
 zlWhw28jKBJf656c8+57k9SLXgt6xBLtam10ebDYbn7nXJUoQiq5X8oaFdtvAqo8
 nDtZBnPHgSH1mejLdBKzC/5JQYmIfheBvYxSFdhA5y1qIVL7/kAAfnQLMzOnwlSt
 MNkY/gFaGz5djDRRa+2VAOxER1VDRV1wkKE0Ik3NSN6WQWDrcKbZnaiZHjQuRRca
 9b52QQexFSHSd68qhtQqZiMYW7YgWD9xzpkuj87BdPBgO4zkrSJRTA2MpM4kVy6w
 53HjXDQ+frNM7/CTwP7xDBqnJBUz9SHUyWlSNLE5f3/yC6t5zoQ7B1cGOwp6AzA6
 PjXISyWIN98nvBGbmSGvw9C7duREZXwk4C/t3b5jp7Z0sixBW9OkwVuFcWoXaCQg
 ib91iWUdZT8JwTH1Nu+hVlWezqZpyj7R/J20CKvEzUYc3rMpznC91OLQA9VcMDPJ
 RVFU1FEj44Wzsl31wyCvOKmLeEmmbQVtaKygC9SFOi5Z0xQgSK1i+XtqxIl4UQ2g
 zz2LVX3xf7H7OHGoISdEnq0L/P/u8cxWJ8OrzZfnDn2wPS7gPHJtn7sV2tylCT1W
 OcJK4AWLPMQM0IjIFsBv0AkBHgLMLqMX3FTGahnX2QpXT1ZjFxc5GWlx721rOZ8b
 6kOrRb0hRQ==
 =YXMH
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXgnu4ACgkQYKtH/8kJ
 UicOwxAA3pub77030UyFD7f6zAMn+tl0h5Bq+Lsgo5z5AprJezggQ672cUb7nMgF
 OpDTg/oGiROe9665C7iUgaiZnBG8g2TT4G0+WbsH5K0PfZRk7Cbit68Ya4UWeStT
 szt1ErDq4foxG7AwZsW3gazboHg4CjEKiP6IrhBy/NHC8A13q4lMdj/HKjclyVjl
 XBbOegKPQiguwI2DcITrYCkwc3mPz7SE7V9ueiLal1+rc5PdpCuHEvmZ9DLmMlXF
 46ANRGIpko746KARUCI2bUKZiaulhq8c9VqVNzgGrhm76k/Su6OjPp6koxdUO/oF
 kD7f19RgTj92pEQuiobkZTbAMJfxrJJns+rzx9yE+Pvv63hXeLaVeJV9X1XgzJZI
 l2w4X79vD6Q/+vGGSOXBhEDk+jS5j9ebeMC/qP/Zl1sybUpXNFqTvkvAKM+EbCgz
 K8skxkGgOw9RTKR0slrwH5PxqDElnm4h56lrff7dRrdZjctcFUmqp1g20uUoG4p/
 XrZBlLVtEwY4Is0bkSMCYsNx2vBoEFP9HM+rqfR+GgxqXV8T4YeYE5hSdScIUbn5
 bzu2Mf2jGx0N4jVfxV55+Ti7Z3J/OfPqeJ4nKY5FCU2FHyxTLvQiKTZxgaUysWYS
 4MnC2AabiJcmcK6M3GI3ht+aO2K5i7ybPTiqFsuDG9t+cLMcKTc=
 =3tRR
 -----END PGP SIGNATURE-----

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

Minor improvements in ARM DTS for v6.9

1. Marvell MMP2: Very old issue, for which I sent patch back in 2014.
   Patch was never picked up and now another try to fix the same
   happened, so here it goes: use proper compatible MAX8925.
2. Marvell Dove: add proper unit-addresses.
3. TI DA850: add MMC interrupts.
4. STI: minor white-space fixes.

* tag 'dt-cleanup-6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt:
  ARM: dts: sti: minor whitespace cleanup around '='
  ARM: dts: da850: add MMD SDIO interrupts
  ARM: dts: marvell: dove-cubox: fix si5351 node names
  arm: dts: marvell: Fix maxium->maxim typo in brownstone dts

Link: https://lore.kernel.org/r/20240218182656.32103-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29 16:12:46 +01:00
Jason Gunthorpe
327e10b47a iommu/arm-smmu-v3: Convert to domain_alloc_paging()
Now that the BLOCKED and IDENTITY behaviors are managed with their own
domains change to the domain_alloc_paging() op.

For now SVA remains using the old interface, eventually it will get its
own op that can pass in the device and mm_struct which will let us have a
sane lifetime for the mmu_notifier.

Call arm_smmu_domain_finalise() early if dev is available.

Tested-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Moritz Fischer <moritzf@google.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/16-v6-96275f25c39d+2d4-smmuv3_newapi_p1_jgg@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-02-29 15:12:23 +00:00
Jason Gunthorpe
d8cd200609 iommu/arm-smmu-v3: Pass arm_smmu_domain and arm_smmu_device to finalize
Instead of putting container_of() casts in the internals, use the proper
type in this call chain. This makes it easier to check that the two global
static domains are not leaking into call chains they should not.

Passing the smmu avoids the only caller from having to set it and unset it
in the error path.

Reviewed-by: Michael Shavit <mshavit@google.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Moritz Fischer <moritzf@google.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/15-v6-96275f25c39d+2d4-smmuv3_newapi_p1_jgg@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-02-29 15:12:23 +00:00
Jason Gunthorpe
d36464f40f iommu/arm-smmu-v3: Use the identity/blocked domain during release
Consolidate some more code by having release call
arm_smmu_attach_dev_identity/blocked() instead of open coding this.

Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Moritz Fischer <moritzf@google.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/14-v6-96275f25c39d+2d4-smmuv3_newapi_p1_jgg@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-02-29 15:12:23 +00:00
Jason Gunthorpe
352bd64cd8 iommu/arm-smmu-v3: Add a global static BLOCKED domain
Using the same design as the IDENTITY domain install an
STRTAB_STE_0_CFG_ABORT STE.

Reviewed-by: Michael Shavit <mshavit@google.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Moritz Fischer <moritzf@google.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/13-v6-96275f25c39d+2d4-smmuv3_newapi_p1_jgg@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-02-29 15:12:22 +00:00
Jason Gunthorpe
12dacfb5b9 iommu/arm-smmu-v3: Add a global static IDENTITY domain
Move to the new static global for identity domains. Move all the logic out
of arm_smmu_attach_dev into an identity only function.

Reviewed-by: Michael Shavit <mshavit@google.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Moritz Fischer <moritzf@google.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/12-v6-96275f25c39d+2d4-smmuv3_newapi_p1_jgg@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-02-29 15:12:22 +00:00
Jason Gunthorpe
ae91f6552c iommu/arm-smmu-v3: Check that the RID domain is S1 in SVA
The SVA code only works if the RID domain is a S1 domain and has already
installed the cdtable.

Originally the check for this was in arm_smmu_sva_bind() but when the op
was removed the test didn't get copied over to the new
arm_smmu_sva_set_dev_pasid().

Without the test wrong usage usually will hit a WARN_ON() in
arm_smmu_write_ctx_desc() due to a missing ctx table.

However, the next patches wil change things so that an IDENTITY domain is
not a struct arm_smmu_domain and this will get into memory corruption if
the struct is wrongly casted.

Fail in arm_smmu_sva_set_dev_pasid() if the STE does not have a S1, which
is a proxy for the STE having a pointer to the CD table. Write it in a way
that will be compatible with the next patches.

Fixes: 386fa64fd5 ("arm-smmu-v3/sva: Add SVA domain support")
Reported-by: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com>
Closes: https://lore.kernel.org/linux-iommu/2a828e481416405fb3a4cceb9e075a59@huawei.com/
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/11-v6-96275f25c39d+2d4-smmuv3_newapi_p1_jgg@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-02-29 15:12:22 +00:00
Jason Gunthorpe
1b50017d39 iommu/arm-smmu-v3: Remove arm_smmu_master->domain
Introducing global statics which are of type struct iommu_domain, not
struct arm_smmu_domain makes it difficult to retain
arm_smmu_master->domain, as it can no longer point to an IDENTITY or
BLOCKED domain.

The only place that uses the value is arm_smmu_detach_dev(). Change things
to work like other drivers and call iommu_get_domain_for_dev() to obtain
the current domain.

The master->domain is subtly protecting the master->domain_head against
being unused as only PAGING domains will set master->domain and only
paging domains use the master->domain_head. To make it simple keep the
master->domain_head initialized so that the list_del() logic just does
nothing for attached non-PAGING domains.

Tested-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Moritz Fischer <moritzf@google.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Reviewed-by: Mostafa Saleh <smostafa@google.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/10-v6-96275f25c39d+2d4-smmuv3_newapi_p1_jgg@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-02-29 15:12:22 +00:00
Jason Gunthorpe
d550ddc5b7 iommu/arm-smmu-v3: Pass smmu_domain to arm_enable/disable_ats()
The caller already has the domain, just pass it in. A following patch will
remove master->domain.

Tested-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Moritz Fischer <moritzf@google.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Reviewed-by: Mostafa Saleh <smostafa@google.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/9-v6-96275f25c39d+2d4-smmuv3_newapi_p1_jgg@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-02-29 15:12:22 +00:00
Jason Gunthorpe
d2e053d732 iommu/arm-smmu-v3: Put writing the context descriptor in the right order
Get closer to the IOMMU API ideal that changes between domains can be
hitless. The ordering for the CD table entry is not entirely clean from
this perspective.

When switching away from a STE with a CD table programmed in it we should
write the new STE first, then clear any old data in the CD entry.

If we are programming a CD table for the first time to a STE then the CD
entry should be programmed before the STE is loaded.

If we are replacing a CD table entry when the STE already points at the CD
entry then we just need to do the make/break sequence.

Lift this code out of arm_smmu_detach_dev() so it can all be sequenced
properly. The only other caller is arm_smmu_release_device() and it is
going to free the cdtable anyhow, so it doesn't matter what is in it.

Reviewed-by: Michael Shavit <mshavit@google.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Reviewed-by: Mostafa Saleh <smostafa@google.com>
Tested-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Moritz Fischer <moritzf@google.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/8-v6-96275f25c39d+2d4-smmuv3_newapi_p1_jgg@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-02-29 15:12:22 +00:00
Jason Gunthorpe
8c73c32c83 iommu/arm-smmu-v3: Do not change the STE twice during arm_smmu_attach_dev()
This was needed because the STE code required the STE to be in
ABORT/BYPASS inorder to program a cdtable or S2 STE. Now that the STE code
can automatically handle all transitions we can remove this step
from the attach_dev flow.

A few small bugs exist because of this:

1) If the core code does BLOCKED -> UNMANAGED with disable_bypass=false
   then there will be a moment where the STE points at BYPASS. Since
   this can be done by VFIO/IOMMUFD it is a small security race.

2) If the core code does IDENTITY -> DMA then any IOMMU_RESV_DIRECT
   regions will temporarily become BLOCKED. We'd like drivers to
   work in a way that allows IOMMU_RESV_DIRECT to be continuously
   functional during these transitions.

Make arm_smmu_release_device() put the STE back to the correct
ABORT/BYPASS setting. Fix a bug where a IOMMU_RESV_DIRECT was ignored on
this path.

As noted before the reordering of the linked list/STE/CD changes is OK
against concurrent arm_smmu_share_asid() because of the
arm_smmu_asid_lock.

Tested-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Moritz Fischer <moritzf@google.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/7-v6-96275f25c39d+2d4-smmuv3_newapi_p1_jgg@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-02-29 15:12:22 +00:00
Jason Gunthorpe
65547275d7 iommu/arm-smmu-v3: Compute the STE only once for each master
Currently arm_smmu_install_ste_for_dev() iterates over every SID and
computes from scratch an identical STE. Every SID should have the same STE
contents. Turn this inside out so that the STE is supplied by the caller
and arm_smmu_install_ste_for_dev() simply installs it to every SID.

This is possible now that the STE generation does not inform what sequence
should be used to program it.

This allows splitting the STE calculation up according to the call site,
which following patches will make use of, and removes the confusing NULL
domain special case that only supported arm_smmu_detach_dev().

Reviewed-by: Michael Shavit <mshavit@google.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Reviewed-by: Mostafa Saleh <smostafa@google.com>
Tested-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Moritz Fischer <moritzf@google.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/6-v6-96275f25c39d+2d4-smmuv3_newapi_p1_jgg@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-02-29 15:12:22 +00:00
Jason Gunthorpe
9f7c689115 iommu/arm-smmu-v3: Hold arm_smmu_asid_lock during all of attach_dev
The BTM support wants to be able to change the ASID of any smmu_domain.
When it goes to do this it holds the arm_smmu_asid_lock and iterates over
the target domain's devices list.

During attach of a S1 domain we must ensure that the devices list and
CD are in sync, otherwise we could miss CD updates or a parallel CD update
could push an out of date CD.

This is pretty complicated, and almost works today because
arm_smmu_detach_dev() removes the master from the linked list before
working on the CD entries, preventing parallel update of the CD.

However, it does have an issue where the CD can remain programed while the
domain appears to be unattached. arm_smmu_share_asid() will then not clear
any CD entriess and install its own CD entry with the same ASID
concurrently. This creates a small race window where the IOMMU can see two
ASIDs pointing to different translations.

       CPU0                                   CPU1
arm_smmu_attach_dev()
   arm_smmu_detach_dev()
     spin_lock_irqsave(&smmu_domain->devices_lock, flags);
     list_del(&master->domain_head);
     spin_unlock_irqrestore(&smmu_domain->devices_lock, flags);

				      arm_smmu_mmu_notifier_get()
				       arm_smmu_alloc_shared_cd()
					arm_smmu_share_asid():
                                          // Does nothing due to list_del above
					  arm_smmu_update_ctx_desc_devices()
					  arm_smmu_tlb_inv_asid()
				       arm_smmu_write_ctx_desc()
					 ** Now the ASID is in two CDs
					    with different translation

     arm_smmu_write_ctx_desc(master, IOMMU_NO_PASID, NULL);

Solve this by wrapping most of the attach flow in the
arm_smmu_asid_lock. This locks more than strictly needed to prepare for
the next patch which will reorganize the order of the linked list, STE and
CD changes.

Move arm_smmu_detach_dev() till after we have initialized the domain so
the lock can be held for less time.

Reviewed-by: Michael Shavit <mshavit@google.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Reviewed-by: Mostafa Saleh <smostafa@google.com>
Tested-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Moritz Fischer <moritzf@google.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/5-v6-96275f25c39d+2d4-smmuv3_newapi_p1_jgg@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-02-29 15:12:21 +00:00
Jason Gunthorpe
71b0aa10b1 iommu/arm-smmu-v3: Build the whole STE in arm_smmu_make_s2_domain_ste()
Half the code was living in arm_smmu_domain_finalise_s2(), just move it
here and take the values directly from the pgtbl_ops instead of storing
copies.

Reviewed-by: Michael Shavit <mshavit@google.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Reviewed-by: Mostafa Saleh <smostafa@google.com>
Tested-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Moritz Fischer <moritzf@google.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/4-v6-96275f25c39d+2d4-smmuv3_newapi_p1_jgg@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-02-29 15:12:21 +00:00
Jason Gunthorpe
efe15df087 iommu/arm-smmu-v3: Move the STE generation for S1 and S2 domains into functions
This is preparation to move the STE calculation higher up in to the call
chain and remove arm_smmu_write_strtab_ent(). These new functions will be
called directly from attach_dev.

Reviewed-by: Moritz Fischer <mdf@kernel.org>
Reviewed-by: Michael Shavit <mshavit@google.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Reviewed-by: Mostafa Saleh <smostafa@google.com>
Tested-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Moritz Fischer <moritzf@google.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/3-v6-96275f25c39d+2d4-smmuv3_newapi_p1_jgg@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-02-29 15:12:21 +00:00
Jason Gunthorpe
7686aa5f8d iommu/arm-smmu-v3: Consolidate the STE generation for abort/bypass
This allows writing the flow of arm_smmu_write_strtab_ent() around abort
and bypass domains more naturally.

Note that the core code no longer supplies NULL domains, though there is
still a flow in the driver that end up in arm_smmu_write_strtab_ent() with
NULL. A later patch will remove it.

Remove the duplicate calculation of the STE in arm_smmu_init_bypass_stes()
and remove the force parameter. arm_smmu_rmr_install_bypass_ste() can now
simply invoke arm_smmu_make_bypass_ste() directly.

Rename arm_smmu_init_bypass_stes() to arm_smmu_init_initial_stes() to
better reflect its purpose.

Reviewed-by: Michael Shavit <mshavit@google.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Reviewed-by: Mostafa Saleh <smostafa@google.com>
Tested-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Moritz Fischer <moritzf@google.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/2-v6-96275f25c39d+2d4-smmuv3_newapi_p1_jgg@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-02-29 15:12:21 +00:00
Jason Gunthorpe
7da51af912 iommu/arm-smmu-v3: Make STE programming independent of the callers
As the comment in arm_smmu_write_strtab_ent() explains, this routine has
been limited to only work correctly in certain scenarios that the caller
must ensure. Generally the caller must put the STE into ABORT or BYPASS
before attempting to program it to something else.

The iommu core APIs would ideally expect the driver to do a hitless change
of iommu_domain in a number of cases:

 - RESV_DIRECT support wants IDENTITY -> DMA -> IDENTITY to be hitless
   for the RESV ranges

 - PASID upgrade has IDENTIY on the RID with no PASID then a PASID paging
   domain installed. The RID should not be impacted

 - PASID downgrade has IDENTIY on the RID and all PASID's removed.
   The RID should not be impacted

 - RID does PAGING -> BLOCKING with active PASID, PASID's should not be
   impacted

 - NESTING -> NESTING for carrying all the above hitless cases in a VM
   into the hypervisor. To comprehensively emulate the HW in a VM we
   should assume the VM OS is running logic like this and expecting
   hitless updates to be relayed to real HW.

For CD updates arm_smmu_write_ctx_desc() has a similar comment explaining
how limited it is, and the driver does have a need for hitless CD updates:

 - SMMUv3 BTM S1 ASID re-label

 - SVA mm release should change the CD to answert not-present to all
   requests without allowing logging (EPD0)

The next patches/series are going to start removing some of this logic
from the callers, and add more complex state combinations than currently.
At the end everything that can be hitless will be hitless, including all
of the above.

Introduce arm_smmu_write_ste() which will run through the multi-qword
programming sequence to avoid creating an incoherent 'torn' STE in the HW
caches. It automatically detects which of two algorithms to use:

1) The disruptive V=0 update described in the spec which disrupts the
   entry and does three syncs to make the change:
       - Write V=0 to QWORD 0
       - Write the entire STE except QWORD 0
       - Write QWORD 0

2) A hitless update algorithm that follows the same rational that the driver
   already uses. It is safe to change IGNORED bits that HW doesn't use:
       - Write the target value into all currently unused bits
       - Write a single QWORD, this makes the new STE live atomically
       - Ensure now unused bits are 0

The detection of which path to use and the implementation of the hitless
update rely on a "used bitmask" describing what bits the HW is actually
using based on the V/CFG/etc bits. This flows from the spec language,
typically indicated as IGNORED.

Knowing which bits the HW is using we can update the bits it does not use
and then compute how many QWORDS need to be changed. If only one qword
needs to be updated the hitless algorithm is possible.

Later patches will include CD updates in this mechanism so make the
implementation generic using a struct arm_smmu_entry_writer and struct
arm_smmu_entry_writer_ops to abstract the differences between STE and CD
to be plugged in.

At this point it generates the same sequence of updates as the current
code, except that zeroing the VMID on entry to BYPASS/ABORT will do an
extra sync (this seems to be an existing bug).

Going forward this will use a V=0 transition instead of cycling through
ABORT if a hitfull change is required. This seems more appropriate as ABORT
will fail DMAs without any logging, but dropping a DMA due to transient
V=0 is probably signaling a bug, so the C_BAD_STE is valuable.

Add STRTAB_STE_1_SHCFG_INCOMING to s2_cfg, this was editing the STE in
place and subtly inherited the value of data[1] from abort/bypass.

Signed-off-by: Michael Shavit <mshavit@google.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/1-v6-96275f25c39d+2d4-smmuv3_newapi_p1_jgg@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-02-29 15:12:21 +00:00
Arnd Bergmann
eaab725ba2 Samsung DTS ARM changes for v6.9
1. Disable thermal polling by Linux in Eynos5422 Odroid XU3 boards,
    because drivers implement now proper dynamic trip points management.
 
 2. Mark crosc-ec-spi in Peach Pi and Peach Pit as wake-up source, to
    reflect the hardware capabilities.
 
 3. Samsung P4 Note (Exynos4412): add accelerometer.
 
 4. Samsung Galaxy Tab (Exynos5420):
    - Reduce available RAM to avoid conflict with TrustZone.
    - Add WiFi on MMC.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmXSSGIQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD17AID/0XwkOpYKAXweL2+zqp+aQgCux3/i+MV0Yq
 ojnHq1e9chTApiBqT/cW8xHLFmXpVR/Jiu0BDtm/JnlFtoWCE0B1qBmm0+sEpMZ7
 QxvY8f+p2veTDXYO4cnfPn7iBnjtqzd4ceMsmljz3Md8lWwguZ2Kn6X6K2c4MaYT
 kY6ZP4/B2L12z847MkqqlXHVY89bTZbaD5ag7L90MQ8RWaKuXDnn7b2v/fKUXJm8
 XMxo5R/xaSafEOScJ0wK6EX11yxOi5sZFqaD0vQhtZ7Z4TpfLk4g1cUPnUFxlF85
 sO1CHxg7JaVgbTR9vuHRsxotydPOC/75qAa1mHV4j8J8GrUAyHkLLgIm/V3JoebS
 uEajcG/CjapV5Qx/xMxj17p8nYSDQjtzM8qqnX84IGk/hA6JeYVEzegoODzg/+Px
 1YDBgNegggpy+6vznygjvuwwFoxtVmkILgcABvue+q0u+7v5vc4j2Bu9SlMgWEZn
 DEI6A6vvMl0LflDHHcXGLGH8aAmpb3KDIeuPrNlKzQqHdwSc2sm22Km2xUK87F4M
 iGZ/3UHEulIWPtRDd6nvA9XOdibF27SuaJkJLQVQtR0GwkVSugeYfmKXWG6ku/il
 +Q/8iU2cYOsWTC4UBiJBP43BddwokNF14jl6HH+N0vjSnpZBf+KwZMDRlMOvGZ7e
 dWUYcjnoDQ==
 =skUJ
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXgnrYACgkQYKtH/8kJ
 Uiemcw/+MK2CjJHqNHIumDK1d0xYQ8kNoxF+CrU0MTFL/4VZKquHRWx66QnVWP1O
 qxBEhl+UBulbHtaa8u7xaRuxNo+R/Xx6gW40apAXQh9O4G9OgnOQQbWs/471mtiU
 tHHVPYM5ZCHj06yEwxCfXCnlfMFHlBT1qaAIArUWA6qzrjhH9zeoelsv9eK5s+ZT
 X3INwT40vBR0tPezM/KNHds3jEvM/7w7iZA0zH2UXG5d29GcQDyT+PbxTnEjGgLR
 Ww7UHqOsKbj9btfAnPqvy2n3wdbYftr7RZuAbYUTTLNvtvcLIcoKZyBm1Fc0bujn
 c0nar1XhS8gyhnb4KdWB1o9Iwjjta11fumH2uJAJqFmun/twn6W03CKTSrYrP6Bi
 TL5LdeCtKgWH5meSJ4mgK3Hqxk4ZqfvJXJ/X1eSHEA0b90j0ELmqD8mzkwtZ2Hb0
 8myoX2T0aIxdiZdeeuZjQ9CZPdeMiMXBGC7sAgAfVMZNf04u6+gQyzmsrkm9wo7H
 Y8j24diDOQcjRi1Q7MBy0Bls5FO+3wRhRK742/bY8RJfMq2CE94B8rpInxU4lB+w
 2jGJrOwCE4TUPiqW8YsAtbCTb8oKlmpCDb0kapnGv1OElxg0qhXjWuah+at2QCc6
 GfmdFzX75V1qJOuy2g/vDRg4fNddKoCFkN1wms6867o95+j3A28=
 =rmjy
 -----END PGP SIGNATURE-----

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

Samsung DTS ARM changes for v6.9

1. Disable thermal polling by Linux in Eynos5422 Odroid XU3 boards,
   because drivers implement now proper dynamic trip points management.

2. Mark crosc-ec-spi in Peach Pi and Peach Pit as wake-up source, to
   reflect the hardware capabilities.

3. Samsung P4 Note (Exynos4412): add accelerometer.

4. Samsung Galaxy Tab (Exynos5420):
   - Reduce available RAM to avoid conflict with TrustZone.
   - Add WiFi on MMC.

* tag 'samsung-dt-6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: dts: samsung: exynos5420-galaxy-tab-common: add wifi node
  ARM: dts: samsung: exynos5420-galaxy-tab: decrease available memory
  ARM: dts: samsung: exynos4412-p4note: add accelerometer and gyro to p4note
  ARM: dts: samsung: exynos5800-peach: Enable cros-ec-spi as wake source
  ARM: dts: samsung: exynos5420-peach: Enable cros-ec-spi as wake source
  ARM: dts: samsung: exynos5422-odroidxu3: disable thermal polling

Link: https://lore.kernel.org/r/20240218182141.31213-3-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29 16:11:50 +01:00