Commit graph

1,233,488 commits

Author SHA1 Message Date
Arnd Bergmann
1b84450ef0 Amlogic ARM64 DT changes for v6.4:
- Introduce initial DT for Amlogic C4 SoC based AW409
 - add missing cache properties
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmSC4EMACgkQd9zb2sjI
 SdGERg/8CySCny/vxHpA8kZtYhATaZt3a5zeHfuxjxvy3cuFef5tM0PbHfMQWPT+
 8f2qp1DITiCldoLxUyY+lDmKyMMOkb3MODpx+PyNAKmIP/v3TTFD3LjhZfg4ecqL
 DjJtHAwJYHuJ3YdyUYfMB69Ac8ST1X6fWuBD4HqX3qOaS/7aeqUxmp/M2w1KeJE+
 E6cume739EF1AGaRBoHBPgjQtSWGuHxGtxgbbVVk93BxEBgGEegzxjkJn/gWSiej
 wRgk6Wpi0AZSK9ccFSs4KWwDibCpEZ54/LtCsp8PMUVKrCWG9GB/XFS2u2p642mD
 zuJaoVMHQyihNO2LJdWzUAQ4uWikhg6DnFGWq0G27MbpRaaOYOkE4qVHF89itFHe
 fj8DMKSVqnBTUkr+3slf5dXGSXchiBjscS8vWsV2P7NZK7wPf5ErKLX9vLwEH6bB
 mdbo6r5BAJeOre7C3GC2I4GQmNXGA1ObD9MPqYEhrN/gbRNFAW+wovLo/ljUxpCl
 pngzx10r8aLy/QXt8AjSFRxWaesH/H7ZUEbrLAzaH3Dv6tVCqXmU4VEA4+inCL+D
 YBDANwSJrf2lhOVq13sfkJ49cNdnDL4pwZXsJ/RMxPXBokBraSzwYQueLWTtyDl+
 8PFsrJ0SKgKllJE37bsBLWb0z6v7mjLjjJpexrbF8Tb0cb5whyY=
 =zvks
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSDIiYACgkQYKtH/8kJ
 UiexgxAAkdu3KOek/7RU2Jo0eHKxNgKXI0Vq8VdqnSKAnZNtRx21LMD9OhNhntLJ
 7Ng0tWk3WWe2xpJkEaChdV88Gx8BVgrSHzodlyjVgyADW8joV8CfUWb2duk+VJT4
 kbu8HaQqijKXIWYca8r7CG1ykRUbOuT7waZe93HBj8ew9hM8S7nP+NUHSMcO2NF8
 w/SgrmHD8OKC7cqdH8FZqyzX7C081K7x4edQR4AqwvaMP2t4QURbN6JfF+q59Z3Q
 Q9tVmnxdwW+PFwcLdapFbD0S156pyroG0Uth/reB1KLI/VdZGtfIiyr5GvnqfjOF
 XYSn5rudEaUJ+Ov2Fs1v45M0CTY4ouyGId3Sx01hyLC87tokNPqdpcKYAfG/mnT4
 qJ0ajscSiJMr10fPv7p8grX527DMoqbQMO4MqFfZwda+Wtbdi248igYfW4QSjP+d
 6rQ8r2tNyLRN9vMfOSurdpiNtDmXdm8TMWTUJmDJbAj/wKuSxkHy0pS39dZrkQzu
 bGbxUT/ALVI9hrkHRK/mOq8Jo5tjOJcs9cU76Yb+EWnH3hx8pQ+DGS7nmiZkODve
 /6GUqJZNPotFFTrw24oUERQ7Pko46UhP/s399WQVRVox0XuDDRpjIjUhPv4UNSjU
 ezP/q08qqsHTRrly3DYgDOlENQIZTO8cEB1ZXU+BLmow0zRbdz4=
 =Ubq+
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-arm64-dt-for-v6.5' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/dt

Amlogic ARM64 DT changes for v6.4:
- Introduce initial DT for Amlogic C4 SoC based AW409
- add missing cache properties

* tag 'amlogic-arm64-dt-for-v6.5' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  arm64: dts: add support for C3 based Amlogic AW409
  arm64: dts: amlogic: add missing cache properties
  dt-bindings: arm: amlogic: add C3 bindings

Link: https://lore.kernel.org/r/37e5de2f-47f1-a3f3-f1e4-4a304192e556@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-06-09 14:59:18 +02:00
Arnd Bergmann
705ebd7768 Amlogic ARM DT changes for v6.5:
- correct uart_B and uart_C clock references for meson8 & meson8b
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmSC33AACgkQd9zb2sjI
 SdF6HQ//T5BjiJMeH6mH5NcppR9CzQotXp57V6eniaKeuDS+KxciPB8eupnJSBLG
 s5E6TUj5YnPu74CH7BdXunzItzDo15Fyfevmmxw2Xzsuwn1kjdRczTP0aP6TWeAY
 WegfueU2xXY/I/tiwMdgtshixd3t234Gh7FEmDE+n/8Krro6XYY37EDzZniVzpt5
 Nm6LSc7+tT4UIpsM75VYYorhsgoFykO0Dt16HlB38hkq2OCg/lcZORoTCL7krA61
 WsGSu5TabiaaOYNDCdtivB+jMlTtka+fyQG5p4K3g5X24v34XNjiIGAmv4a+CxRS
 I9hiSDuxJVViOTrFvsgIlgc8BkFSQVhzZ8MSog+tkneBcR0C51BfLRQ9/zjJToCu
 YtfmBQSB0omolxTouizpRAbPSMDDyQSUTQmUSajEP14ySltS8VTBtB9GRhb/NXU9
 UkuqDBAlyE1iw4JUuLm0Gg9W1jHHzMRqAXAHCNbkWVB/b7Y8N+pQaM4NcP3FYubi
 KvGDOMTutrJTtLnVxuLrkEOhv4HHk2pHVVc25FDU/tJmzNbNwZqEVp41CQ/vfOv9
 GgsyKKu84WktgXI86GOXU7AiPQBCXmpgqc504qDndJs+41umWThgtSeuWlcjFgKO
 +HKb4X6xhRgcQkUVgQ2skwD2l8TCEcM5jz0XsGCjQ0ZRYqNsnQE=
 =AOk2
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSDIgIACgkQYKtH/8kJ
 UicGkxAAwB3tGmg5vIRhOeulGwRYObDlLilKQkyNnTcIgd3KC7hMmpp6ol4ZAh0T
 vLAHlXHOGru5WOJiiUT22RoX1gGcjA/DgX1Sv4H+/Gz5Osj7SdHnc9vnvbFYwAOs
 YnYNBvJmEV6UbszY8RYNslpHN7pyIUAIOmNhmLCghAnK2Y9LvVfLvuW6eWwv/JTM
 aLBec2M/8YlToYyNX2eRlsj0yBZUz6W8HwTCJ2WL+whE/CjTLnfcmI4+RsbTGRzD
 RDQLi4tSBk6jUE6VvvEMXwOh4JvFyFcgCGYDP/2X+r1EBc7kzekgwU6gkll+w4rx
 e7FmWVxhlrN35geWwX3vw0NBg30Meue3UFxobGFSyZ9CdOR4FlZF+XqbntbGyJ2b
 Fsxhnxt6x7EcokNQHSJzLfSdp18SCwDhX/6OJ6hdp0hfMniw5uhxmbe5MJxcg1+O
 gqAkgYmRT+atvHeQkeimow+A3zRe4pw2fN9DDMuTGYfcIxum9WrioIbMcniTxUCx
 z/QFMOw2QZmi7uDDcXn1WQNj7nVMISWyw9FywK7lfp75kccIq7S1Uf6dUXoZHrcT
 b0DhtvydoGqMLhBF8QsH8yjBxG7OObCTKChTsNnz2GGI45k+n2PsJ9qpbSBFOkFC
 Zyfexbt82Wp5A4auJtkVfY5SUTnt4RGKOt0UBniF6tOsRhD4kkA=
 =yTdE
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-arm-dt-for-v6.5' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/dt

Amlogic ARM DT changes for v6.5:
- correct uart_B and uart_C clock references for meson8 & meson8b

* tag 'amlogic-arm-dt-for-v6.5' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  ARM: dts: meson8: correct uart_B and uart_C clock references
  ARM: dts: meson8b: correct uart_B and uart_C clock references

Link: https://lore.kernel.org/r/21b55df9-3eda-0a0f-cf76-79b1d7735314@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-06-09 14:58:41 +02:00
Joerg Roedel
ac3c456382 Arm SMMU updates for 6.5
- Device-tree binding updates:
   * Add missing clocks for SC8280XP and SA8775 Adreno SMMUs
   * Add two new Qualcomm SMMUs in SDX75 and SM6375
 
 - Workarounds for Arm MMU-700 errata:
   * 1076982: Avoid use of SEV-based cmdq wakeup
   * 2812531: Terminate command batches with a CMD_SYNC
   * Enforce single-stage translation to avoid nesting-related errata
 
 - Set the correct level hint for range TLB invalidation on teardown
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCgAuFiEEPxTL6PPUbjXGY88ct6xw3ITBYzQFAmSCSVIQHHdpbGxAa2Vy
 bmVsLm9yZwAKCRC3rHDchMFjNAiuCACVPeq4X7K8AQSO5rko/4a97JsYr0ozMhsj
 MOrfXxR/3cHAupJi0nHJRCHJ2RFuST7rTzej7IHO53Osh6Y2DXl20RNW6OMI+2/A
 LxgFAYSQqn/ol2GGyKTvNZ1mROEOJgVgA5jEJpsiVk/C1AssEZwXgvzeFIUFqWsp
 EkEMEUxbMFzO8aSPcdHAKY3LpUEFwROMxbhmaWcrvG8rybzOqUHaczaD3qGl6Xzx
 6zBo5hygAl6kOB33M/qJZO+uDAEqQyPr5t+3FX/sjUgpgWiCu16v9yBHz5OCTIDW
 SLCO+sZ9T3oHX4ljS9XjOwtcvOxn9X0fbxg+rgekyUk6o4Hj1ZCb
 =fxGb
 -----END PGP SIGNATURE-----

Merge tag 'arm-smmu-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into arm/smmu

Arm SMMU updates for 6.5

- Device-tree binding updates:
  * Add missing clocks for SC8280XP and SA8775 Adreno SMMUs
  * Add two new Qualcomm SMMUs in SDX75 and SM6375

- Workarounds for Arm MMU-700 errata:
  * 1076982: Avoid use of SEV-based cmdq wakeup
  * 2812531: Terminate command batches with a CMD_SYNC
  * Enforce single-stage translation to avoid nesting-related errata

- Set the correct level hint for range TLB invalidation on teardown
2023-06-09 14:58:03 +02:00
Arnd Bergmann
a813efafd5 ARM64: DT: HiSilicon ARM64 DT updates for v6.5
- Clean up the pinctrl-single node names and correct the #size-cells of
 the pinctrl controller nodes
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCgAzFiEEQeMYD8qOQTc1R/snC8hXbtmJZlwFAmR/9o0VHHh1d2VpNUBo
 aXNpbGljb24uY29tAAoJEAvIV27ZiWZcF+IP+gL1x/W+45zJZzhxfjUHNbf3xSJ8
 zvvkFqGvBmY/00Eqg35vuS9awBS4arsMosb+aNocGRnQfwwG8+wUUf55jQ4pTmVB
 AuFTygL7I07POCtAWJPGnYoMts43bAzMM3l0NQ2Mpmifk0I2ncv5cdf5Vw8f/2eT
 M72r7y74UobNRkQ123TqoakZe7Xq20FjJ33uCEI4mcBkhauoQGliHJtT7IzosHox
 iHniPIFVM2AW5c72y+slOWGX4aovy55IdGDdfmu29LUKAzlSNes4vFKZgFdiPjre
 1UJ7aJiTjNeRsCrT/gNEO5w0U1KRYBAxRuh3RL0VqqgQHRiDcQnNY2E8TqDepK4Y
 uIWMlbdyDmzkUHfs8GOKy/OSj5bO8qAYcuM5KkF8hHCH8Kp5/2dZCuAZ7pUELQKr
 xLsZ17pbPHQygSJgt2Oz7uzrH9EQK3asstSZtyTKYc1rfttoszioHfwowA0xxz1R
 vMDNKiS0V1KuMzLQAsw5G6oYLUgMEYTyF1Hx0jdWfRTI20j1eeMlzuho1EchFl+D
 QTcwMFw1248y+XA6sOpQSsAnA2kUQ8EHBNVju+IE+eLuyiF5XM8n+91xpClaec/d
 MUaKoxME6Q/ZX8Xkcx8izANG67iklquMFyFAQfYRdzXdmQ07pn0BCcvmCaM+gHIx
 Se92VqYNS7L6Tzyc
 =Zjh6
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSDIdUACgkQYKtH/8kJ
 UicHpw/+IDZaqkq+wCgmQyeoUiYx9piWCQBrTG5DIry/TMm7J8jvquv+1Mb1upxO
 GBy+jRdFIVFEdw/fn94k+/+k/3nr383ZuEt0HjfjrbtK33jPM7o5IopGllagogEy
 741+a6GraDBIojfXSeuxZjjhrJsg2TxEvirPKQgUp9GNgRm1jBnyQCeCujXbHixB
 DuUsRbVEwo4rwGAsiowwFLz8mGcqNmznO4ZqCmYzgjA3I1e/oy2zAZ4bhjn7Unz2
 92/o2d+52qZjEogdMmOMmAmFceEBqDgMSdw/na6/BoNyLc7I/HF1GLPVecvhh76S
 1ReVYmdxMAKTC818mUD97Ys3RZ8eS0KHJu+El7JrC6zAf7wNMWFvIEPcACJ1fapo
 XSjkQHQWg534vh7Wk0CrEKnnnWvxazoB9JqZSt/SOuvO/j3Tmn50EZp59Pm4mWz0
 uDESK+CgahIuRRAHERf2h3TzPsL22s875V+th77CAB+1Hpbs1rsX6IYxOey9FTQW
 NijjM+HEeHEVMvRxOMXrf4UQ13UFnV1rpEYGSxLyI3w5Dxc6WllN7DTTe+OmHS5P
 jEyzCn0KKNJUnKW+y34rVeRFNgN0+gut6+1qq3qpXnxZZdzifLYX5S2h+8Zmhs+T
 2Mqo/WRbCA2jJhaGqrS8O7xhYVcHjxhbSgyG4Ev11xNsjWG24xo=
 =nN7b
 -----END PGP SIGNATURE-----

Merge tag 'hisi-arm64-dt-for-6.5' of https://github.com/hisilicon/linux-hisi into soc/dt

ARM64: DT: HiSilicon ARM64 DT updates for v6.5

- Clean up the pinctrl-single node names and correct the #size-cells of
the pinctrl controller nodes

* tag 'hisi-arm64-dt-for-6.5' of https://github.com/hisilicon/linux-hisi:
  arm64: dts: hisilicon: Unify pinctrl-single pin group nodes

Link: https://lore.kernel.org/r/6482C916.1010507@hisilicon.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-06-09 14:57:57 +02:00
Arnd Bergmann
2ddb56a5c2 ARM: DT: HiSilicon ARM32 DT updates for v6.5
- Clean up the pinctrl-single node names and correct the pinctrl
 controller nodes of the hi3620 SoC
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCgAzFiEEQeMYD8qOQTc1R/snC8hXbtmJZlwFAmR/86oVHHh1d2VpNUBo
 aXNpbGljb24uY29tAAoJEAvIV27ZiWZcmUgQAJai2qGWgj7qpOtSQM/FHbOGp0dT
 /KN/a1pv+ZgWWGsGDTR52sPRu3p1cDn5OW9w5sk3u56WLoopI/CliN8SAFLCrXBK
 6auzxMnZzSsDEEyqGUQlEGhviWPdQarEMuWUGzZxnS755+ezbwepaYg29ZEwvj+8
 hhyAhrWoCr9u1StxET1WNMHlo6vOJ1EC2D6mVJ0GUmtg762g/ffYIl5nx4pndvLD
 LXfYpqNvbMPzKtKdoD/hIMPBTB/VUSK6NXtAkPtlhQZNUgxkWzAD3InvuzmhLDCa
 tJ5Bu5bN4YZKWCWLUmpQtS55SfCs32mjMt0xjYV9hfDUq++MD3Iz08hnUfzRi/jh
 eVzoNSmL3DaVBlSPkyLnCQypwR1rukZ+gEaORIYTH6lSmxYZsO6l2FxoAtmdntuk
 +h2JfrY5yUVqgZcWH7+ki7Xnt4pLXsozc3jPVNLufbWA63skaSalCX0/0X6m4oqP
 8tVDv2nWwY/tDDjyH80OH6PVlhc2soWbdS1mWcY/eLCBMXlLB/7CSo0MOg9Qi6gv
 ObZeR0xW6cMgTxJ34OV2QlqIjcrwVmagb6gZBc6P97WO2cz+Hu71H1fsdjUhCnvD
 QRQXwXHXxcPC3BEtpk/Xfb9EKNRQC4jmJpxQPzrZZyN8YNnM+gL5wdYIjJWqL/IJ
 aX2NvtS1cvCtrjBM
 =AgXp
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSDIbUACgkQYKtH/8kJ
 UieRVw/+IqUeGmXccYyk4fY22jfyvXNNw2iosSgbBEaHIPU5bAVefli+RbucuahS
 x36ffV3Nr97DOaTfYsO/iOz7IfitUjFELuJ7+CDo9Dknc+NHHZKY/OV01I5qppRf
 xK3bZhzFy20LYGBhN9h5fK+ksQYSMpOEssXNr6RAZhqkOdkLQhTeja0cu8ZljC9Y
 /RdTibS8kL1vU13N1ba/FItOe+XyP0NnWvhc4lWL7cDHrauXqm1EOxYcwlcH3BLX
 TdcvdhyVdN4tLC+M4zEh2nxlqMVTnAi4BNTkPfEwZcv7fyT5CfezD8xvevoJydQG
 LXdoOR3IDFby4EHPnBsgM9oRZ7CxRdAg8IdcrASW9hQBID9oqD3Vlsa9ECQdNmSl
 QKEHvpmP9PGHsNCQP95VTBL0oVdVix2dGjh6epUkMPGxCHMQ69wTHK3X/q2q6ugq
 sQIrbauuRvWOxJs0U+VLHeambxxRRyxhG5VJV1eVw+70f0rjsjxIsWAd9jYM19eq
 u2Zev6ePWj2RqS6dbnXe2sFX+VyUu/sIVnRyrlGkmAE/6FiJvLwdpn0zj+KV2cs0
 RlZquaMSwWGqYwN7/PvvobmWc0u7iqiU+GFUE/amsgdTDrmPDvv+8nNkmSGcTnzt
 e+Z5PNGP9L15UbzPSmkw8rvmERV2i4+1TwEXPfXT+pycdilwccA=
 =XbeL
 -----END PGP SIGNATURE-----

Merge tag 'hisi-arm32-dt-for-6.5' of https://github.com/hisilicon/linux-hisi into soc/dt

ARM: DT: HiSilicon ARM32 DT updates for v6.5

- Clean up the pinctrl-single node names and correct the pinctrl
controller nodes of the hi3620 SoC

* tag 'hisi-arm32-dt-for-6.5' of https://github.com/hisilicon/linux-hisi:
  ARM: dts: hisilicon: Unify pinctrl-single pin group nodes

Link: https://lore.kernel.org/r/6482C732.3060300@hisilicon.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-06-09 14:57:25 +02:00
Arnd Bergmann
08750aa8be ARM: Zynq DT changes for v6.5
- Setup 400k as default i2c frequency
 - Wire i2c recovery via gpio on zc702
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQbPNTMvXmYlBPRwx7KSWXLKUoMIQUCZIHB3wAKCRDKSWXLKUoM
 Ib/JAJ4wns2qNLD6T2ceSbcp+NnOGHzRdACfY9b0V1+ZoDR9KUUKzW8qP1wsFNM=
 =NSh+
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSDIWcACgkQYKtH/8kJ
 UifMhA/+O2Dg87hzf/v77moxCE4ouLEQbD5N0RHvxFFkfF6c22kxetL76IW7OikJ
 AeOLvNjRPEg0TbY7y7w86yfhAUWy1cP++Qp1Btk9zkJIwxkEA+8GKWR33hCu0XSQ
 rzaneLQNc895vnMYGrxIMfKlfk/PKBc5qRD5WP7bsZ7b7hucQbnBeCZ0I9hbw8gs
 QZaywLPG+etwVQR3gy4b2QITOrCx/CNDtZnn0Ja19P4JeAw0qHcNBvFBDQf1q8Kd
 tGt+dyB9zRXhS3dhaOrpxIKOspg5Zh+WXSEkLIXUIpdIZpTPWxWxSuTRIkH9Ttyr
 WAnTvCYM1JDe7UHoTkSSkCis+StNFfEkcXd6/me6FDRFEy1w8b0X87Ul6mHRL9nN
 EGPRAqP+MSmGNe1gPCS1njTIbwddC9e5uZAM3xL9kKeHxgDCK6BGyf4JShPGrQau
 meVemYb55IqBsTJiUIUscptrTks0JZIBhlTEJOLjYkj74BKnGYw4uLMrx7A282JA
 bKHaSS6/qDa3BSVQkbH4wb0fScKyzMNpN5Y+Q7kSNg7pe1Rw8/4XO/JOpMhhFQAs
 RM8NH5W4GERhrkrfGIIM9AFjljswnItptqU7u9TwvWyHJW61k3IJwg0gdykKoj4W
 WP3JIRPXmYiF5mrUDsC7zukjt50ANql3+ZKIgG31GylIyzZH4vI=
 =h0ha
 -----END PGP SIGNATURE-----

Merge tag 'zynq-dt-for-v6.5' of https://github.com/Xilinx/linux-xlnx into soc/dt

ARM: Zynq DT changes for v6.5

- Setup 400k as default i2c frequency
- Wire i2c recovery via gpio on zc702

* tag 'zynq-dt-for-v6.5' of https://github.com/Xilinx/linux-xlnx:
  ARM: zynq: dts: Add SCL & SDA GPIO entries for recovery
  ARM: zynq: dts: Setting default i2c clock frequency to 400kHz

Link: https://lore.kernel.org/r/c5c99ba2-f004-306c-6251-551826f90df8@amd.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-06-09 14:56:07 +02:00
Arnd Bergmann
739c4c317e Clean-up for pinctrl-single node names for omaps for v6.5
To avoid producing lots of make dtbs checks warnings when the yaml binding
 for pinctrl-single gets merged, let's fix up the pin group node names. We
 want to do this rather than add non-standard node name workarounds to the
 yaml binding.
 
 Also included is a non-urgent fix to move gta04 model name out of the pinmux
 node that can wait for the merge window.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmR5v28RHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXOxshAA4dioIg3bNSQIIyK2Z23KuT7tnK3D2QqZ
 CBBqdj4K/IqEfDQmqq8urLed/pbaMEbVngCg/25tEtSaQ3o93EebjU0bZnOeLRU9
 1wruwGugrKrLA6FmSdpiddpW2KLFFeEqXzB6ktP8G7A6EM8dPle9Im6RIPUI1wCC
 QP2Nk6IRFhc5fR7Es3pNFTYmtpm2mdQ2HalO8LvVawu7lpnfNA9YMpRWLxWp2Q7l
 47CJ6jfitE1qdMkIsIsdjX2Te43QwFTifm5P/q/6LHNofO2tTItMRwjXK4GsPCuk
 iGmiwCv1S+tJbw8gMO4r+FPfejuxEuFeSRgqRFxMgb+lTHKfF+7iSupP2JH/XiFp
 KVEL45inw83f3iOycDWB4zcXPMLdWQcQwKGpNpsLb+h9Frtmu4D2EgH3tIooqj3w
 fw5krbq8HiUTLgy5W4yOdMXofUCKN6gmzQyhmJ+OcRMk0HfwoKV9rHjD1Dyi51vb
 B60xZcfK42RQUOxwbErGHzvNTJPv9fcurD4Dre1fBjmJzueeKgfAu4flhfVjisc+
 LuZjYpWpWDZLszKFrP6IlQPn2h2NxJJDWyvdaKRoGYvVUNPgsJbPU1ktG6wRhInI
 tjUYAZijy70Y2A7HuaWOHfg8wtHXn2bs0mXMg4sDZQ0e6rlBwqVTpxGQChx9NUx5
 +dxcKj9i/rU=
 =UyIV
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSDIQkACgkQYKtH/8kJ
 UieLfBAAoN1wCdKB8YC9w8mfcwKippLcqO6lwAL0A6EGdf1bkbQsGS1whHvFFnuU
 BdYC+vI7DsaHO79GMEHIqzNW4sAGUytN3f0sLVDyUy90DKpdgI+1HOhkvYm2RoE6
 ZPb3XUrQZhq8eF28jc+ByyCWL5hEed1VOAHNp1I1MhE4/VUKesaHhjV3+U4EqNfJ
 6Gz2biVR/4Ft/SAI5JfCwQIzQSKeEhOa8WXIiSSMmw8B/gS0f74u1hnhDrGT2nvW
 I6iZ8Zs91YWsSfA4O+1ggtO3B6XaGsgJk8BNJI1dTNB+VHSlatIH+b+OjCez5T/b
 0T1GNjKdlI1cz35TaZEbLpPrnaNW5BcnR7dkTRbXsFLom+JfwYsWmKot7k5VRxnT
 WWLC5g88mcAaouFSBQsOeIFfjxpbPLYcIfL4tUKufIMB1eV+ObfHNamOfx3IYpox
 wbP+QCN8iY2bS0a/P+ZgcqFVgBI5HsBBCraIvwQ1tKpM6Tr0zRDP8+c6URfBMoCc
 AINvC2++j9YiH2D//14k5NpMFJFA2Z8zYFV8XB3eJxstBe+rSauJkb3PsMGS7QN8
 0yPrf5lDML652w1gLvxMT2JoXI/Nrc8mGVmc/areI08zmT0Xe1BgJbxZEE3nS6f0
 kWjf8X+bjoK+TQCUwGf6IGciNQ8if4hfT2YK0ByLYPYPn6hSiK4=
 =Tmi7
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v6.5/dt-pin-nodes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into soc/dt

Clean-up for pinctrl-single node names for omaps for v6.5

To avoid producing lots of make dtbs checks warnings when the yaml binding
for pinctrl-single gets merged, let's fix up the pin group node names. We
want to do this rather than add non-standard node name workarounds to the
yaml binding.

Also included is a non-urgent fix to move gta04 model name out of the pinmux
node that can wait for the merge window.

* tag 'omap-for-v6.5/dt-pin-nodes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: dts: Unify pinctrl-single pin group nodes for dra7
  ARM: dts: Unify pinctrl-single pin group nodes for am4
  ARM: dts: Unify pinctrl-single pin group nodes for am33xx
  ARM: dts: Unify pinctrl-single pin group nodes for ti81xx
  ARM: dts: Unify pinctrl-single pin group nodes for omap5
  ARM: dts: Unify pinctrl-single pin group nodes for omap4
  ARM: dts: Unify pinctrl-single pin group nodes for omap2
  ARM: dts: Unify pinctrl-single pin group nodes for omap3
  ARM: dts: gta04: Move model property out of pinctrl node

Link: https://lore.kernel.org/r/pull-1685700720-242492@atomide.com-2
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-06-09 14:54:33 +02:00
Arnd Bergmann
24138ec0a3 Non-urgent ti-sysc driver fix for v6.5 merge window
A fix for masking bool variables that can wait for the merge window
 no problem.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmR5vhgRHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXNNBQ//aBx5HBJA5j4JyFznMyl7wK58vx1zzo8L
 6OZLHeoViG8hPUwWgnmgyL8ht68XK0h/HUqS1g+7Q1gRc8CF9iNKHaN6IVJI+1TW
 00t6YQnUdKYf4mO0uTybrKPdhpwwjVAxb1Kayw8gfHU+s6uQiKFHvdh5TLLQj9Rw
 Pwuw+rmm2DEUKs1jOVgBe+pk1J6OlhPde2bsBvSc7/DCnjWiXbH9/66ll1VDc1iC
 cvZLGR7VV7pEiRbnOL3Cd/mbNF0/OYVlqYtBsd8dkeFYM3s2vGqj8gOs6qMQIWuz
 N2BWDJd3qv0zBLEGQD0SRJ9qYqi7kouv9jvbL63orUYTO+2LcMVbPtMITQ7DvAXR
 fKTjhsKet9xo718jNDY+KfmdaGgZlyTBjKNFNi+ZuKIRYd7AEccpSEMmorDQGiNf
 bbVsYsT7TuioWJpfk69TYSrlHJzWeu9cmuyCJkdCyBDvVn+imEM9wLPiEwYsCezX
 /DZw4qa6UZmmacEsUYyTdz6N9WQsgG4Ntkrmp04TIfwlBptnA8WzxlqW6f9nMaiu
 5ife07uLqejqGPMhsp7wxgCjfeIeTXZ6vganWTSv/uTels9g1KAWCTAWabLzpZkZ
 7CJxpdeCZaylSgkrx1nsmjcdkO+2ix0d1t1IkyPaDIpHvq5ZD/H2gb1tPzCq2MYy
 H1Lsle53sio=
 =J6Bc
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSDH10ACgkQYKtH/8kJ
 Uidevw//VWsJQ/w5291eYokWBQgOgC+5nbaOQZreMsS/Oqo3t2JMQoAnDYGF11KU
 ZTugeTxYE+hGYenVFGMEsLLDzHptQ25EBg6F1p3hWBvY85xsIkdd8uEhKC5gQPG5
 CTl7EcLTivoq2FaWu1IDd4EeWxLhYYliu2EcVHKeZVfEIwGcGiYNM8ai8WDvlgiT
 kuQ3BObh3VCNUEFIE5zhiTzkrp+3Qa+fNCtjIESz4qtfHg2BNr0DzSZL/xy73wjh
 ZQ0c+UWafTjNTqE7teiBkFmRnG9/m9TQNL+hG01zrNzfzzR/9pw0IDG63YvOZ66l
 GZqZAcnDE7pAa7yF927VV9+RY8FjoGSjgj5x4jL8jO99u7i0JgWDZ0GPmTXQLZKR
 GwkCJpusP0gl1vTVhe51hD4RICEpikyvUojE9hjwSmlVxTO/mDDcl1LwXa0VYnd9
 hEDj5i6bmcQD9DMVOT2kxwLZVZzxIxuz91mGsVfSlxNLxkbtYq7Enwg73ZYF8PfY
 O3nX9SZi+tvhxjmfWex8q1XPeMIgWUhTiKr+HsOF2bX1F6z1YckkHM0jUHdz55Oi
 0sRdrm8iY9oPUxUx/K992F9KlIUTHEqcbNXVyBWsuGwhGZakH+VrFviT8qHUnTL2
 JZEl7Y+/Ots2vWGZOeILUakNQ3BKB4tqQ06H3n+/TfsUGaOi6RE=
 =4vB+
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v6.5/ti-sysc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into soc/drivers

Non-urgent ti-sysc driver fix for v6.5 merge window

A fix for masking bool variables that can wait for the merge window
no problem.

* tag 'omap-for-v6.5/ti-sysc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  bus: ti-sysc: Fix dispc quirk masking bool variables

Link: https://lore.kernel.org/r/pull-1685700720-242492@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-06-09 14:47:25 +02:00
Suravee Suthikulpanit
bccc37a8a2 iommu/amd: Improving Interrupt Remapping Table Invalidation
Invalidating Interrupt Remapping Table (IRT) requires, the AMD IOMMU driver
to issue INVALIDATE_INTERRUPT_TABLE and COMPLETION_WAIT commands.
Currently, the driver issues the two commands separately, which requires
calling raw_spin_lock_irqsave() twice. In addition, the COMPLETION_WAIT
could potentially be interleaved with other commands causing delay of
the COMPLETION_WAIT command.

Therefore, combine issuing of the two commands in one spin-lock, and
changing struct amd_iommu.cmd_sem_val to use atomic64 to minimize
locking.

Reviewed-by: Jerry Snitselaar <jsnitsel@redhat.com>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Link: https://lore.kernel.org/r/20230530141137.14376-6-suravee.suthikulpanit@amd.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2023-06-09 14:47:10 +02:00
Suravee Suthikulpanit
98aeb4ea55 iommu/amd: Do not Invalidate IRT when IRTE caching is disabled
With the Interrupt Remapping Table cache disabled, there is no need to
issue invalidate IRT and wait for its completion. Therefore, add logic
to bypass the operation.

Reviewed-by: Jerry Snitselaar <jsnitsel@redhat.com>
Suggested-by: Joao Martins <joao.m.martins@oracle.com>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Link: https://lore.kernel.org/r/20230530141137.14376-5-suravee.suthikulpanit@amd.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2023-06-09 14:47:10 +02:00
Suravee Suthikulpanit
66419036f6 iommu/amd: Introduce Disable IRTE Caching Support
An Interrupt Remapping Table (IRT) stores interrupt remapping configuration
for each device. In a normal operation, the AMD IOMMU caches the table
to optimize subsequent data accesses. This requires the IOMMU driver to
invalidate IRT whenever it updates the table. The invalidation process
includes issuing an INVALIDATE_INTERRUPT_TABLE command following by
a COMPLETION_WAIT command.

However, there are cases in which the IRT is updated at a high rate.
For example, for IOMMU AVIC, the IRTE[IsRun] bit is updated on every
vcpu scheduling (i.e. amd_iommu_update_ga()). On system with large
amount of vcpus and VFIO PCI pass-through devices, the invalidation
process could potentially become a performance bottleneck.

Introducing a new kernel boot option:

    amd_iommu=irtcachedis

which disables IRTE caching by setting the IRTCachedis bit in each IOMMU
Control register, and bypass the IRT invalidation process.

Reviewed-by: Jerry Snitselaar <jsnitsel@redhat.com>
Co-developed-by: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>
Signed-off-by: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Link: https://lore.kernel.org/r/20230530141137.14376-4-suravee.suthikulpanit@amd.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2023-06-09 14:47:09 +02:00
Suravee Suthikulpanit
74a37817bd iommu/amd: Remove the unused struct amd_ir_data.ref
Since the amd_iommu_update_ga() has been switched to use the
modify_irte_ga() helper function to update the IRTE, the parameter
is no longer needed.

Reviewed-by: Jerry Snitselaar <jsnitsel@redhat.com>
Suggested-by: Vasant Hegde <vasant.hegde@amd.com>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Link: https://lore.kernel.org/r/20230530141137.14376-3-suravee.suthikulpanit@amd.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2023-06-09 14:47:08 +02:00
Joao Martins
a42f0c7a41 iommu/amd: Switch amd_iommu_update_ga() to use modify_irte_ga()
The modify_irte_ga() uses cmpxchg_double() to update the IRTE in one shot,
which is necessary when adding IRTE cache disabling support since
the driver no longer need to flush the IRT for hardware to take effect.

Please note that there is a functional change where the IsRun and
Destination bits of IRTE are now cached in the struct amd_ir_data.entry.

Reviewed-by: Jerry Snitselaar <jsnitsel@redhat.com>
Signed-off-by: Joao Martins <joao.m.martins@oracle.com>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Link: https://lore.kernel.org/r/20230530141137.14376-2-suravee.suthikulpanit@amd.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2023-06-09 14:47:08 +02:00
Arnd Bergmann
acaa52bc09 Samsung SoC driver changes for v6.5
1. Re-introduce Exynos4212: Exynos PMU driver.
 2. Convert S5P/Exynos Multi Format Codec bindings to DT schema.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmR5rv4QHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD17lDD/0dggtqvNs2KP39cjZjQqmMSHQMysarqNh3
 ALvEjhSaBmpnf+/JLj6g3rHHyrBakE551YxdP1m/4nTaR8LahXF5zugBC1GMzLu+
 IwEKi8BGKBJvuKGfEWWICCkHywdOPWA41+L/mxDn4Yf4YQXZFMLm0+uYf6nHR29F
 BDxHJpsZipGUGFSFE2lMHJ5aTzziYUjMhQa/PrRCSznPKCd3ckJ4FaexSUq2IsF/
 W6Zf8TkytEvI3ZP7s/1ibk6xTBJG6Puegt2NDTA5HKlJgYf9RfJNXuQ+rTCZ4vO5
 20uD947AjyQxXVgI7v0saCZo07m+MJQI3SekljpiGDuZ5mskLvAjEN9yq5uA8Gie
 bQ4D/i0eza7ARQ/S7HlBV+7I/hlT1goyZ9Qbt1AQhnqDCAeNqGvBhAs37xDgPFbV
 n8GE+qpB5FdRSUcTcigRGU1TPBiAifoONBfwhAgBMYKwMFaaQlmlRfnDnO3SmmpH
 yEeI6m+1Q7BtKs/8c2WCroxaLN7z5zMUC1UOeJxHuViHr05W59qEAd23xZvM463W
 tl20wm2JaUEGHLBr1ZqBLNonecIDlQFa940RJ2RQtl7vf70QEF2/dYbKm647I9PS
 znOTyg42ZWhsnCFAyZjVvN2SGrJ4oLf3CEPJ69TXQ4bp5Fxe6mZbKN1sTqst4Hjd
 uSMQEC1WeQ==
 =upWz
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSDHzgACgkQYKtH/8kJ
 Uifjow/+LcVxk1/FGFv5GS6LEvVKjUoRrHjJK/q+5RQnjzEpOgVlln6YzGxUNLgU
 zRudzHhE+TRHi/jVDfBDXGY771PNA95qk6S0Ux18GYrROFj+hfgLNzU2fXBrPIda
 z4q/p4lGMxeEBnn4qsAygFAkRoyvTI16h9tW7BAkE9acSBO5Ba/PfcEKwWIqrXZ1
 M5TneYRMitqIMZ2j45vLv53vu7hzt8H8AIBKfINtV7EjZeU0QSOBhY5bczTOgGqr
 XPo5PFpoVWEZPoDyIiAtTNLtSKtbNZbzifxiRrYJG5dSRFG4N6cCukI1JQnjJ1e3
 HPbgk0Af5clSIr9ZigwHfONGuPKuTv5gtPUQ08Q3C7hJtKIzhLPAq/kL0IRza1vR
 kykXP7KEW45vskTvKRWKNHsVVvEvXBd2X0G/a4lfknQkIVEo7eDpcp17iKs5cmLT
 x5oRVr1i3CLjvbPybE12SG8okvNvo8IQU1iam91fp2CmR41KBqybNtbEbZ81KNWH
 tfn/g/Z3b935zWD8O6u2kFdtJj4rnHONMGK/TJGMtlSzPYeIJcrjEwXxOl6zOVOs
 WGwTtcLRzPLShMFA1OVn55hj+obBrkYiiIKVN2UYLUBTDxnc9YJU75hPXIH6Mx5T
 4Mp9ru/A88YtZqlw0yz71qRrx/3IzBPGGaiEX+ZO97qD0C3b6Co=
 =joPI
 -----END PGP SIGNATURE-----

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

Samsung SoC driver changes for v6.5

1. Re-introduce Exynos4212: Exynos PMU driver.
2. Convert S5P/Exynos Multi Format Codec bindings to DT schema.

* tag 'samsung-drivers-6.5' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  dt-bindings: media: s5p-mfc: convert bindings to json-schema
  soc: samsung: exynos-pmu: Re-introduce Exynos4212 support
  dt-bindings: soc: samsung: exynos-pmu: add Exynos4212 compatible

Link: https://lore.kernel.org/r/20230602091501.15178-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-06-09 14:46:48 +02:00
Dikshita Agarwal
ae8cdfc3f2 media: venus: add firmware version based check
Add firmware version based checks to enable/disable
features for different SOCs.

Tested-by: Nathan Hebert <nhebert@chromium.org>
Signed-off-by: Vikash Garodia <quic_vgarodia@quicinc.com>
Signed-off-by: Viswanath Boma <quic_vboma@quicinc.com>
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
Signed-off-by: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2023-06-09 13:46:45 +01:00
Gustavo A. R. Silva
e03ac40885 media: venus: hfi_cmds: Use struct_size() helper
Prefer struct_size() over open-coded versions of idiom:

sizeof(struct-with-flex-array) + sizeof(typeof-flex-array-elements) * count

where count is the max number of items the flexible array is supposed to
contain.

Link: https://github.com/KSPP/linux/issues/160

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2023-06-09 13:45:09 +01:00
Gustavo A. R. Silva
40c0205964 media: venus: hfi_cmds: Replace one-element array with flexible-array member
One-element arrays are deprecated, and we are replacing them with flexible
array members instead. So, replace one-element arrays with flexible-array
members in struct hfi_session_set_buffers_pkt, and refactor the rest of
the code, accordingly.

This helps with the ongoing efforts to tighten the FORTIFY_SOURCE
routines on memcpy() and help us make progress towards globally
enabling -fstrict-flex-arrays=3 [1].

This results in no differences in binary output.

Link: https://github.com/KSPP/linux/issues/79
Link: https://github.com/KSPP/linux/issues/292
Link: https://gcc.gnu.org/pipermail/gcc-patches/2022-October/602902.html [1]

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2023-06-09 13:44:14 +01:00
Gustavo A. R. Silva
a80d6771ae media: venus: Replace one-element arrays with flexible-array members
One-element arrays are deprecated, and we are replacing them with flexible
array members instead. So, replace one-element arrays with flexible-array
members in multiple structures, and refactor the rest of the code,
accordingly.

This helps with the ongoing efforts to tighten the FORTIFY_SOURCE
routines on memcpy() and help us make progress towards globally
enabling -fstrict-flex-arrays=3 [1].

This results in no differences in binary output.

Link: https://github.com/KSPP/linux/issues/79
Link: https://github.com/KSPP/linux/issues/291
Link: https://gcc.gnu.org/pipermail/gcc-patches/2022-October/602902.html [1]

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2023-06-09 13:43:46 +01:00
Gustavo A. R. Silva
a0eadbe926 media: venus: hfi_cmds: Replace fake flex-array with flexible-array member
One-element arrays are deprecated, and we are replacing them with flexible
array members instead. So, replace one-element arrays with flexible-array
members in struct hfi_sys_set_resource_pkt, and refactor the rest of
the code, accordingly.

This helps with the ongoing efforts to tighten the FORTIFY_SOURCE
routines on memcpy() and help us make progress towards globally
enabling -fstrict-flex-arrays=3 [1].

The only binary differences seen before/after changes are the
following:

     17ba:      mov    %rbx,%rdi
     17bd:      call   17c2 <pkt_sys_set_resource+0x42>
                        17be: R_X86_64_PLT32    __tsan_write4-0x4
-    17c2:      movl   $0x14,(%rbx)
+    17c2:      movl   $0x10,(%rbx)
     17c8:      lea    0x4(%rbx),%rdi
     17cc:      call   17d1 <pkt_sys_set_resource+0x51>
                        17cd: R_X86_64_PLT32    __tsan_write4-0x4

which is expected once this accounts for the following line of code
at  drivers/media/platform/qcom/venus/hfi_cmds.c:73

73         pkt->hdr.size = sizeof(*pkt);

and as *pkt is of type struct hfi_sys_set_resource_pkt, sizeof(*pkt) is
reduced by 4 bytes, due to the flex-array transformation.

Link: https://github.com/KSPP/linux/issues/79
Link: https://github.com/KSPP/linux/issues/293
Link: https://gcc.gnu.org/pipermail/gcc-patches/2022-October/602902.html [1]

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2023-06-09 13:43:18 +01:00
Rikard Falkeborn
927e78ac8b media: venus: helpers: Fix ALIGN() of non power of two
ALIGN() expects its second argument to be a power of 2, otherwise
incorrect results are produced for some inputs. The output can be
both larger or smaller than what is expected.

For example, ALIGN(304, 192) equals 320 instead of 384, and
ALIGN(65, 192) equals 256 instead of 192.

However, nestling two ALIGN() as is done in this case seem to only
produce results equal to or bigger than the expected result if ALIGN()
had handled non powers of two, and that in turn results in framesizes
that are either the correct size or too large.

Fortunately, since 192 * 4 / 3 equals 256, it turns out that one ALIGN()
is sufficient.

Fixes: ab1eda449c ("media: venus: vdec: handle 10bit bitstreams")
Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com>
Signed-off-by: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2023-06-09 13:42:28 +01:00
Arnd Bergmann
c6a5181263 Renesas driver updates for v6.5 (take two)
- Convert the R-Mobile SYSC driver to readl_poll_timeout_atomic().
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZIL1sgAKCRCKwlD9ZEnx
 cEyOAP9s0vZ+GG/BAEiONvu+/QTO0v92XQyptEDaTZlbNz4bqQEAoSmm1w1RzZcP
 BwFQzHfnFHjArdp9+3iiSXhjDlhuqQA=
 =26KV
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSDHisACgkQYKtH/8kJ
 Uie0AQ/+JWCY05otLeEzJaxsKkZPDb83aiHxOXA5qBgWnm01ou12PQc2ylUW+kql
 LvHn56g2kfsUyw2S3ZbHP6fzGinbZ1LcwawI2aKGCxEicSlNgxsQkV5w+nE7Yrv/
 Bx/9YJL/aMq13FtfDJ8GC+vysZzjLTU/5/w1AF55oBOccplqI0zBdWCf2TrgfyBp
 +1lXj3W5KMJKKnz05gbVnZN2XGLoTJN//dA2W+Szb090IOtnvJnut1VuloHALxt7
 JtSPxtBe/jBAX40kxLIxoUGNAP2aXKEccBdexxsHVRTbS7XN3mMRodbh4UDPGemd
 IvJqsbqCEsV0p/CTpgdIO1l/9T9ojEmKt+Ci5ehpCQDGgu19VeplSFjAAt9nJ1Kd
 rp3JiAnCDiBeB8fv6jbRYSiGyPMT1e+9QKHamBJgsfhCs00oefYm82PWyChN+AvL
 Y6FIs4z7OB9NKY1HWMz+WKUYWdVpS2RX5jU3NCdlNrXCrVSQ1rHfUYNaQvL5viGh
 QW7wuwG7XXW+9Sj1fax0ySJYEnVOSHd4XlFMeOJxn/PUnYBWWjuV4Ud2QTMUk1fm
 y1TNX51lN0MX1YfYsCec3vAHdvhcJUZZsUZyDmpsk7w3yx6OvaMC7ZCwIn/A3m1T
 V+AHdVAKOxOEMwt8Ih0ccY6j0nUm2wjXdqhplIunTn/8FYC0jH0=
 =cOe+
 -----END PGP SIGNATURE-----

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

Renesas driver updates for v6.5 (take two)

  - Convert the R-Mobile SYSC driver to readl_poll_timeout_atomic().

* tag 'renesas-drivers-for-v6.5-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: rmobile-sysc: Convert to readl_poll_timeout_atomic()
  iopoll: Do not use timekeeping in read_poll_timeout_atomic()
  iopoll: Call cpu_relax() in busy loops

Link: https://lore.kernel.org/r/cover.1686304612.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-06-09 14:42:19 +02:00
Liu Shixin
751be5c63f media: venus: simplify the return expression of venus_sys_set_* function
Simplify the return expression.

Signed-off-by: Liu Shixin <liushixin2@huawei.com>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2023-06-09 13:41:42 +01:00
Arnd Bergmann
0403565132 Renesas ARM defconfig updates for v6.5 (take two)
- Enable support for the Renesas MTU3a counter in the arm64 defconfig.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZIL1RwAKCRCKwlD9ZEnx
 cH1RAQDgBrIeryUkbwOPc7jeeWkg/eoXFdMn8ERT2+FLu9dkxQD6A25Am8xFhL4u
 NYThpX6TOJbUBUZtk2ehVVrKrpu2cQY=
 =vTMU
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSDHeQACgkQYKtH/8kJ
 Uif/4Q/+Jer8fx4jlLSkIpfBRaGnyyOZ8EgfcqrVrAlir21d3PxqqHaQ/0Pg//MX
 hOkQpbzUzAjP/fBAOR3JwgL3yh9wCtIbgtzupRPqNSSVmVbz0WUHSStaTYQgEtZx
 M/e+PHvxokYp4YZ5pTc2u2f+lhMpSX1UM9Lp5tIdOd60rj57KkWY3XCbeF1YgkI0
 UywxLZj1nU8Qe04jwbe1qk2YJnsbljvO365uEtTGaFF+Gyse50n/8CXgln5F4CqQ
 KdHaH0ibBmqEQ396PBQ7znroit9MJhTnK7jdVPso9fd7KIHa4rqb/ggCgQd0IHyo
 HhSS2U8Bx8d0jGiq98mYeep5pPG1OH9iGb37QjZLxK8SHvNWf2aY1DUaOnND/Uqu
 6mtZpg1hLgVDo8jfX4mBidJ24f2AjzvUC0+pFYYiysvzbksVCriRL4In5Jq5ypOP
 gj2V/NoA5t99qKIu8UXl3WhfPgiba1UytD/1ET658uj7ZogfH6OhPJCvKvsDuM8M
 3Zrz4ZW0NTEXDF26l+Ch0GNx5rgOBjFtx/j+6IQorkY2ZUXHpUW3KHt+8DNUfz/Q
 3ZBXAR/yUjlyllCe9p+zImIj2iS+/3j+5vXdnmtOdI0ha9vyEOupz3z0mM2NNzTo
 DSHbS4OlEDV5Abz/HvkOMz554mTJ0cJyTEk1GWQXZTRKG3Yz8WA=
 =Q1Zd
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm-defconfig-for-v6.5-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/defconfig

Renesas ARM defconfig updates for v6.5 (take two)

  - Enable support for the Renesas MTU3a counter in the arm64 defconfig.

* tag 'renesas-arm-defconfig-for-v6.5-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: defconfig: Enable Renesas MTU3a counter config

Link: https://lore.kernel.org/r/cover.1686304611.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-06-09 14:41:08 +02:00
Qinglang Miao
98d4351847 media: venus: simplify the return expression of session_process_buf()
Simplify the return expression.

Signed-off-by: Qinglang Miao <miaoqinglang@huawei.com>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2023-06-09 13:41:08 +01:00
Venkateswara Naralasetty
37fdb33c87 wifi: ath11k: update proper pdev/vdev id for testmode command
User can extend test mode command support to set vdev and pdev params
for debug purpose at run time by sending vdev/pdev param set command
through the testmode command interface.

Fill the proper pdev/vdev id in driver since, pdev/vdev id details may
not be available at user space. It will make sure that the proper
vdev/pdev ids are sent to firmware.

Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1
Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1

Signed-off-by: Venkateswara Naralasetty <quic_vnaralas@quicinc.com>
Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20230601143214.13006-1-quic_rajkbhag@quicinc.com
2023-06-09 15:30:19 +03:00
Uwe Kleine-König
6358b10371 wifi: atk10k: Don't opencode ath10k_pci_priv() in ath10k_ahb_priv()
This introduces no changes in the compiled result (tested for an
ARCH=arm allmodconfig build).

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20230601082556.2738446-5-u.kleine-koenig@pengutronix.de
2023-06-09 15:27:58 +03:00
Uwe Kleine-König
d457bff276 wifi: ath10k: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is (mostly) ignored
and this typically results in resource leaks. To improve here there is a
quest to make the remove callback return void. In the first step of this
quest all drivers are converted to .remove_new() which already returns
void.

Both ath10k platform drivers return zero unconditionally in their remove
callback, so they can be trivially converted to use .remove_new().

Also fix on of the more offending whitespace issues in the definition
of ath10k_snoc_driver.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20230601082556.2738446-4-u.kleine-koenig@pengutronix.de
2023-06-09 15:27:58 +03:00
Uwe Kleine-König
fad5ac80df wifi: ath10k: Drop checks that are always false
platform_get_drvdata() cannot return NULL as the probe function calls
platform_set_drvdata() with a non-NULL argument or returns with a failure.
In the first case, platform_get_drvdata() returns this non-NULL value and
in the second the remove callback isn't called at all.

ath10k_ahb_priv() cannot return NULL and ar_ahb is unused after the check
anyhow.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20230601082556.2738446-3-u.kleine-koenig@pengutronix.de
2023-06-09 15:27:57 +03:00
Uwe Kleine-König
ec3b1ce2ca wifi: ath10k: Drop cleaning of driver data from probe error path and remove
The driver core cares for resetting driver data if probe fails and after
remove. So drop the explicit and duplicate cleanup in the driver's
functions.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20230601082556.2738446-2-u.kleine-koenig@pengutronix.de
2023-06-09 15:27:57 +03:00
Arnd Bergmann
5cdd5ec176 i.MX fixes for 6.4, round 2:
- Fix SPI CS pinmux for the final production version of imx8mn-beacon
   board.
 - Fix GPIOs for USDHC2 CD and WP signals on imx8qm-mek board.
 - Assign default clock rate for i.MX8 LPUARTs to fix UART failure.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmSAj+8UHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM4UbQf8CZyNR0LC443TKq24tV5YFQktQOc4
 4FD7H0oYnqcnlAgxqo0X2aq4K+OwpWxwN4sqKFq3IT6U/FbPxpNIAUXIFjCdvUQs
 rnvOmsJRgW+RSc+imVfgKfDPQG3bPX6YaZ2G8b1IyP3HrPfpOgi0V5G5Oi/rzSJ+
 doP/pvzNKbS+pUp2ez+LD/YfbcPJcJ6ALX5IkJ1oPbhM7OSpsaenoi1KrlYIC/f0
 PLzGnRSu6XAv+Oq7HZz4RWehdWmdXZaAaeHqMID5iDoaELgsqS8hs5C01N0s898U
 qyK5va0o9uKfN564ViBSHkrjvIBCRpujap6Mi/56alQxIg7UixmjFgBc3A==
 =AbVA
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSDF98ACgkQYKtH/8kJ
 UieJSxAA1RWlEnhdJCapWooFiuZvSG5W4ZysRq7ni6rkxzbD3IcylYCzLmhM4/bh
 QOHvtKJDNe93R8mASU8mbSCnx1cvesVJzjBwPw5qnbnRkiNvQGVg8wU2cxSQ8Tph
 XHBUOP3fiBRO/9r6N7ffdtYP4A9tH3Oo59vwRv6GgnMCzoRidIk4eDrIXYCZ0RHh
 6d93zsFzmBSIca+qokF7nzSwWDSX6UbComIy5sowr2DBo9doJfBrih2tmNEYEo/d
 ecvFQoNYxtq0MJnhlYPnx2xYz6b68vF6KzRE0bx6WL2aynFJL0MT8WcBYnDCTJhG
 vhyO7tAI/pso6qKmrJA3uVAEeDPh3CYyv5KuTWCeAuhZJr9AjsZ3kEiOoQNduM8O
 agN6hFgjknekiBvoY4ej2PnVqhTSf2IMuAO8rEJld9d0SIs4r7z1ok54yI9s0OEP
 FaIwvCWF7LlyEx2734JUKAkEumn34g6V+skasFlSyF4V0qo5+7gLekMqH5KrWYZ7
 4e0Sbi5nhpqrNNAuUy7l8scaoPBC8F5YLgpgUW5fdkqIzfk1PfMIRkd3AoRXU1bX
 4Y97MhB5Z1Lw/3065iWwdiPzwQBkuEfr+vjd+0E0LudJBDvBykieD+iRv5EXxVV0
 wRmerups5UhKpoPBJpGr6CJ3hBaOVWdu4yacuGXNIcLTEBEoX4w=
 =n8fu
 -----END PGP SIGNATURE-----

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

i.MX fixes for 6.4, round 2:

- Fix SPI CS pinmux for the final production version of imx8mn-beacon
  board.
- Fix GPIOs for USDHC2 CD and WP signals on imx8qm-mek board.
- Assign default clock rate for i.MX8 LPUARTs to fix UART failure.

* tag 'imx-fixes-6.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: dts: imx8mn-beacon: Fix SPI CS pinmux
  arm64: dts: imx8-ss-dma: assign default clock rate for lpuarts
  arm64: dts: imx8qm-mek: correct GPIOs for USDHC2 CD and WP signals

Link: https://lore.kernel.org/r/20230607141312.GU4199@dragon
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-06-09 14:15:27 +02:00
Mark Brown
62a97bea5c
Fix error check and cleanup for JH7110 TDM
Merge series from Walker Chen <walker.chen@starfivetech.com>:

Some minor issues were found during addtional testing and static
analysis. The first patch fix the error check for the return value of
devm_reset_control_array_get_exclusive(). The second patch drop some
unused macros.
2023-06-09 13:13:51 +01:00
Ilan Peer
7b3b9ac899 wifi: mac80211: Use active_links instead of valid_links in Tx
Fix few places on the Tx path where the valid_links were used instead
of active links.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230608163202.e24832691fc8.I9ac10dc246d7798a8d26b1a94933df5668df63fc@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2023-06-09 13:31:08 +02:00
Johannes Berg
34d4e3eb67 wifi: cfg80211: remove links only on AP
Since links are only controlled by userspace via cfg80211
in AP mode, also only remove them from the driver in that
case.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230608163202.ed65b94916fa.I2458c46888284cc5ce30715fe642bc5fc4340c8f@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2023-06-09 13:30:53 +02:00
Benjamin Berg
15846f95ab wifi: mac80211: take lock before setting vif links
ieee80211_vif_set_links requires the sdata->local->mtx lock to be held.
Add the appropriate locking around the calls in both the link add and
remove handlers.

This causes a warning when e.g. ieee80211_link_release_channel is called
via ieee80211_link_stop from ieee80211_vif_update_links.

Fixes: 0d8c4a3c86 ("wifi: mac80211: implement add/del interface link callbacks")
Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230608163202.fa0c6597fdad.I83dd70359f6cda30f86df8418d929c2064cf4995@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2023-06-09 13:30:32 +02:00
Benjamin Berg
1ff56684fa wifi: cfg80211: fix link del callback to call correct handler
The wrapper function was incorrectly calling the add handler instead of
the del handler. This had no negative side effect as the default
handlers are essentially identical.

Fixes: f2a0290b2d ("wifi: cfg80211: add optional link add/remove callbacks")
Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230608163202.ebd00e000459.Iaff7dc8d1cdecf77f53ea47a0e5080caa36ea02a@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2023-06-09 13:30:16 +02:00
Johannes Berg
01605ad6c3 wifi: mac80211: fix link activation settings order
In the normal MLME code we always call
ieee80211_mgd_set_link_qos_params() before
ieee80211_link_info_change_notify() and some drivers,
notably iwlwifi, rely on that as they don't do anything
(but store the data) in their conf_tx.

Fix the order here to be the same as in the normal code
paths, so this isn't broken.

Fixes: 3d90110292 ("wifi: mac80211: implement link switching")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230608163202.a2a86bba2f80.Iac97e04827966d22161e63bb6e201b4061e9651b@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2023-06-09 13:30:03 +02:00
Dan Carpenter
996c3117da wifi: cfg80211: fix double lock bug in reg_wdev_chan_valid()
The locking was changed recently so now the caller holds the wiphy_lock()
lock.  Taking the lock inside the reg_wdev_chan_valid() function will
lead to a deadlock.

Fixes: f7e60032c6 ("wifi: cfg80211: fix locking in regulatory disconnect")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://lore.kernel.org/r/40c4114a-6cb4-4abf-b013-300b598aba65@moroto.mountain
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2023-06-09 13:28:41 +02:00
Xu Yang
b1acb4e560 dt-bindings: perf: fsl-imx-ddr: Add i.MX93 compatible
i.MX93 ddr pmu shares the same device node format as i.MX8. This will
add a compatible for i.MX93 and modify the title.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
Link: https://lore.kernel.org/r/20230418102910.2065651-2-xu.yang_2@nxp.com
Signed-off-by: Will Deacon <will@kernel.org>
2023-06-09 12:01:42 +01:00
Xu Yang
55691f99d4 drivers/perf: imx_ddr: Add support for NXP i.MX9 SoC DDRC PMU driver
Add ddr performance monitor support for i.MX93.

There are 11 counters for ddr performance events.
- Counter 0 is a 64-bit counter that counts only clock cycles.
- Counter 1-10 are 32-bit counters that can monitor counter-specific
  events in addition to counting reference events.

For example:
  perf stat -a -e imx9_ddr0/ddrc_pm_1,counter=1/,imx9_ddr0/ddrc_pm_2,counter=2/ ls

Besides, this ddr pmu support AXI filter capability. It's implemented as
counter-specific events. It now supports read transaction, write transaction
and read beat events which corresponding respecitively to counter 2, 3 and 4.
axi_mask and axi_id need to be as event parameters.

For example:
  perf stat -a -I 1000 -e imx9_ddr0/eddrtq_pm_rd_trans_filt,counter=2,axi_mask=ID_MASK,axi_id=ID/
  perf stat -a -I 1000 -e imx9_ddr0/eddrtq_pm_wr_trans_filt,counter=3,axi_mask=ID_MASK,axi_id=ID/
  perf stat -a -I 1000 -e imx9_ddr0/eddrtq_pm_rd_beat_filt,counter=4,axi_mask=ID_MASK,axi_id=ID/

Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20230418102910.2065651-1-xu.yang_2@nxp.com
[will: Remove redundant error message on platform_get_irq() failure]
Signed-off-by: Will Deacon <will@kernel.org>
2023-06-09 12:01:10 +01:00
Lee Jones
04c55383fa net/sched: cls_u32: Fix reference counter leak leading to overflow
In the event of a failure in tcf_change_indev(), u32_set_parms() will
immediately return without decrementing the recently incremented
reference counter.  If this happens enough times, the counter will
rollover and the reference freed, leading to a double free which can be
used to do 'bad things'.

In order to prevent this, move the point of possible failure above the
point where the reference counter is incremented.  Also save any
meaningful return values to be applied to the return data at the
appropriate point in time.

This issue was caught with KASAN.

Fixes: 705c709126 ("net: sched: cls_u32: no need to call tcf_exts_change for newly allocated struct")
Suggested-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-06-09 11:40:17 +01:00
Yang Li
e7c5433c5a tools: ynl: Remove duplicated include in handshake-user.c
./tools/net/ynl/generated/handshake-user.c: stdlib.h is included more than once.

Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=5464
Signed-off-by: Yang Li <yang.lee@linux.alibaba.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-06-09 11:36:41 +01:00
Robin Murphy
d2e3bb5128 perf/arm_cspmu: Decouple APMT dependency
The functional paths of the driver need not care about ACPI, so abstract
the property of atomic doubleword access as its own flag (repacking the
structure for a better fit). We also do not need to go poking directly
at the APMT for standard resources which the ACPI layer has already
dealt with, so deal with the optional MMIO page and interrupt in the
normal firmware-agnostic manner. The few remaining portions of probing
that *are* APMT-specific can still easily retrieve the APMT pointer as
needed without us having to carry a duplicate copy around everywhere.

Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Reviewed-and-tested-by: Ilkka Koskinen <ilkka@os.amperecomputing.com>
Link: https://lore.kernel.org/r/88f97268603e1aa6016d178982a1dc2861f6770d.1685983270.git.robin.murphy@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2023-06-09 11:26:47 +01:00
Robin Murphy
f9bd34e375 perf/arm_cspmu: Clean up ACPI dependency
Build-wise, the ACPI dependency consists of only a couple of things
which could probably stand being factored out into ACPI helpers anyway.
However for the immediate concern of working towards Devicetree support
here, it's easy enough to make a few tweaks to contain the affected code
locally, such that we can relax the Kconfig dependency.

Reviewed-and-Tested-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Reviewed-by: Ilkka Koskinen <ilkka@os.amperecomputing.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/9d126711c7498b199b3e6f5cf48ca60ffb9df54c.1685983270.git.robin.murphy@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2023-06-09 11:26:47 +01:00
Robin Murphy
87b3b6d53e ACPI/APMT: Don't register invalid resource
Don't register a resource for the second page unless the dual-page
extension flag is actually present to say it's valid.

CC: Lorenzo Pieralisi <lpieralisi@kernel.org>
CC: Sudeep Holla <sudeep.holla@arm.com>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Reviewed-by: Hanjun Guo <guohanjun@huawei.com>
Reviewed-and-tested-by: Ilkka Koskinen <ilkka@os.amperecomputing.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Acked-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Link: https://lore.kernel.org/r/63b34656e1f7b41bcb458fb6d7496e04db757e0d.1685983270.git.robin.murphy@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2023-06-09 11:26:47 +01:00
Robin Murphy
71e0cb32d5 perf/arm_cspmu: Fix event attribute type
ARM_CSPMU_EVENT_ATTR() defines a struct perf_pmu_events_attr, so
arm_cspmu_sysfs_event_show() should not be interpreting it as struct
dev_ext_attribute.

Fixes: e37dfd6573 ("perf: arm_cspmu: Add support for ARM CoreSight PMU driver")
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Reviewed-and-tested-by: Ilkka Koskinen <ilkka@os.amperecomputing.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/27c0804af64007b2400abbc40278f642ee6a0a29.1685983270.git.robin.murphy@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2023-06-09 11:26:47 +01:00
Ilkka Koskinen
225d757012 perf: arm_cspmu: Set irq affinitiy only if overflow interrupt is used
Don't try to set irq affinity if PMU doesn't have an overflow interrupt.

Fixes: e37dfd6573 ("perf: arm_cspmu: Add support for ARM CoreSight PMU driver")
Signed-off-by: Ilkka Koskinen <ilkka@os.amperecomputing.com>
Link: https://lore.kernel.org/r/20230608203742.3503486-1-ilkka@os.amperecomputing.com
Signed-off-by: Will Deacon <will@kernel.org>
2023-06-09 11:25:56 +01:00
Junhao He
7a6a9f1c5a drivers/perf: hisi: Don't migrate perf to the CPU going to teardown
The driver needs to migrate the perf context if the current using CPU going
to teardown. By the time calling the cpuhp::teardown() callback the
cpu_online_mask() hasn't updated yet and still includes the CPU going to
teardown. In current driver's implementation we may migrate the context
to the teardown CPU and leads to the below calltrace:

...
[  368.104662][  T932] task:cpuhp/0         state:D stack:    0 pid:   15 ppid:     2 flags:0x00000008
[  368.113699][  T932] Call trace:
[  368.116834][  T932]  __switch_to+0x7c/0xbc
[  368.120924][  T932]  __schedule+0x338/0x6f0
[  368.125098][  T932]  schedule+0x50/0xe0
[  368.128926][  T932]  schedule_preempt_disabled+0x18/0x24
[  368.134229][  T932]  __mutex_lock.constprop.0+0x1d4/0x5dc
[  368.139617][  T932]  __mutex_lock_slowpath+0x1c/0x30
[  368.144573][  T932]  mutex_lock+0x50/0x60
[  368.148579][  T932]  perf_pmu_migrate_context+0x84/0x2b0
[  368.153884][  T932]  hisi_pcie_pmu_offline_cpu+0x90/0xe0 [hisi_pcie_pmu]
[  368.160579][  T932]  cpuhp_invoke_callback+0x2a0/0x650
[  368.165707][  T932]  cpuhp_thread_fun+0xe4/0x190
[  368.170316][  T932]  smpboot_thread_fn+0x15c/0x1a0
[  368.175099][  T932]  kthread+0x108/0x13c
[  368.179012][  T932]  ret_from_fork+0x10/0x18
...

Use function cpumask_any_but() to find one correct active cpu to fixes
this issue.

Fixes: 8404b0fbc7 ("drivers/perf: hisi: Add driver for HiSilicon PCIe PMU")
Signed-off-by: Junhao He <hejunhao3@huawei.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Yicong Yang <yangyicong@hisilicon.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20230608114326.27649-1-hejunhao3@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
2023-06-09 11:24:09 +01:00
Zhengchao Shao
be3618d965 net/sched: taprio: fix slab-out-of-bounds Read in taprio_dequeue_from_txq
As shown in [1], out-of-bounds access occurs in two cases:
1)when the qdisc of the taprio type is used to replace the previously
configured taprio, count and offset in tc_to_txq can be set to 0. In this
case, the value of *txq in taprio_next_tc_txq() will increases
continuously. When the number of accessed queues exceeds the number of
queues on the device, out-of-bounds access occurs.
2)When packets are dequeued, taprio can be deleted. In this case, the tc
rule of dev is cleared. The count and offset values are also set to 0. In
this case, out-of-bounds access is also caused.

Now the restriction on the queue number is added.

[1] https://groups.google.com/g/syzkaller-bugs/c/_lYOKgkBVMg
Fixes: 2f530df76c ("net/sched: taprio: give higher priority to higher TCs in software dequeue mode")
Reported-by: syzbot+04afcb3d2c840447559a@syzkaller.appspotmail.com
Signed-off-by: Zhengchao Shao <shaozhengchao@huawei.com>
Tested-by: Pedro Tammela <pctammela@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-06-09 10:48:14 +01:00
Ratheesh Kannoth
c0e489372a octeontx2-af: Fix promiscuous mode
CN10KB silicon introduced a new exact match feature,
which is used for DMAC filtering. The state of installed
DMAC filters in this exact match table is getting corrupted
when promiscuous mode is toggled. Fix this by not touching
Exact match related config when promiscuous mode is toggled.

Fixes: 2dba9459d2 ("octeontx2-af: Wrapper functions for MAC addr add/del/update/reset")
Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-06-09 10:47:59 +01:00
Marek Vasut
7077b1864c
ASoC: dt-bindings: audio-graph-card: Expand 'widgets' documentation
Document the encoding of 'widgets' property to avoid confusion.

Signed-off-by: Marek Vasut <marex@denx.de>
Link: https://lore.kernel.org/r/20230606175951.215740-1-marex@denx.de
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-06-09 10:44:42 +01:00