Commit graph

1,399,042 commits

Author SHA1 Message Date
Arnd Bergmann
14d773bb96 This pull request contains Broadcom ARM-based SoCs Device Tree updates
for 6.14, please pull the following:
 
 - Rob removes some unused and undocumented properties pertaining to the
   SPI flash controller on Broadcom boards
 
 - Linus adds a number of BCM6846 peripherals: HWRNG, watchdog, GPIO,
   MDIO, LED controller, DMA and then proceeds with adding support for
   the GEnexsis XG6846B PON router
 
 - Rosen sets the MAC address NVMEM reference on the Meraki MR26 platform
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmeAEy0ACgkQh9CWnEQH
 BwTFDA/8DJAJ6JdhxHEPYIztYUffxZ5lfoV1wQQ1k1IthQ++Y810CkMIIKqxuEb6
 O9zfKTvnONNZyX41MWj+veBHNRUzTDGgXDBug/DrPTwLMiTvIRtwmEeq3U+FSQlN
 99QYbNia8vuRAvsIEjiagofQwNpfop9A/6Jicu2sLOc29uz7GFOtnXRLaycJ/bM+
 tEqCicD8rn2pzCUu3rBYJFKi+YgaumESYiprKUTqIUHpVHTDmle7Je+swlCiyZVi
 RYuU5VuShvTst3Cuvzjbyn0QvY1+gaxwSTN/CC9/WMR86+Hx2HMT+ytZecewDN+/
 h2tJm//aLTJKpfeSCbSAOoDNgItQ1U3P8tJ38g/ZWKh0ToEShH+waFueJSI7nInU
 fTSIR/sC3dBvbPIEdlUt/WdVUAlgnYeUAjK+sIyB3C8CZEwuTT44LSRu7Lcb8Ml1
 0837YsW7ecMtTKNXINsZwH+sfTdtc0jOjYJXbzvFUS4Hq2yyRpEWqvCbA6d81EjW
 lHtwLC0BamZtLMKjzR9W4uYWE+7M9/yI1g4JS11fYZryHoXwI9Us5TEunAYgQtUL
 euVlcLr0PprW7mfNrecFgYMvgH2DYnHu5jjNxn8fs0aYD9RrS7a2b221cbeVQq+2
 qZMZTr6d6RGG1yZVPdRIkxuRDz8BmT7kJZlKSVqkrbqYgDAgjWk=
 =mywr
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJEm4ACgkQYKtH/8kJ
 UicftRAAlCMT06bzefH636+zgCY720Yd//YX1YrAqZKwzkaLqnKmWYtRdQf9QDCq
 +EuqHtqYV/vX6ET+zzGZiui7qcpGYEqKSotCnKTuWtjQ9TLEUlnRANv9DmOPIkds
 D7N9LeZwBex5iDQstDqc6d5UlIyi+eAefq0JyZZtZK7InmvO2CT0g5H6sVTb96UY
 OxGBRkc5tOYyVIgXbXyEQuRrX87HcVG9Lydae4ZNcn5CRn0lxSI8fFQ4Fkc6Xhnl
 94h7YjIiitJ08paHenDlZR+StoJp+MkiFJacUrPVtccRzKCclYP2H226Sp5vhwmR
 9raNXcHJ5yqZeJP7SZ2l+DBT1brwaHc8FAW+Ous3yaoYnJukQsEu7QwGOvMtpRsY
 HVFvZFUjm8FhE1rxfww3s7rcOTQwii2Q+5eDbigKaWT/LZt5Ba7LE6WwvPUTEWkN
 LqHokrK5gcs7R/8Y/0wKvHlOIcbi5iGL0wQ00mqcjHtVVRdchJTDuQlx7CraJeZl
 SibEdlisiZAJ4wrNAJlfEFmlKvbGoElrNcBxnZSdzdng0RjPUWmPEkbHB5kuzO1p
 buRo/ebjS4n5lf6VnL5K+vXhO5iVA/SPnqAyLEJ5lhwm1AMPXR4EY9iOsa9tdNKf
 CkZVa2EXY6JA/CafPVYBynBNe3aXgr/XsnZHQh+EvMUMkAS3JWs=
 =zz0Y
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-6.14/devicetree' of https://github.com/Broadcom/stblinux into soc/dt

This pull request contains Broadcom ARM-based SoCs Device Tree updates
for 6.14, please pull the following:

- Rob removes some unused and undocumented properties pertaining to the
  SPI flash controller on Broadcom boards

- Linus adds a number of BCM6846 peripherals: HWRNG, watchdog, GPIO,
  MDIO, LED controller, DMA and then proceeds with adding support for
  the GEnexsis XG6846B PON router

- Rosen sets the MAC address NVMEM reference on the Meraki MR26 platform

* tag 'arm-soc/for-6.14/devicetree' of https://github.com/Broadcom/stblinux:
  ARM: dts: meraki-mr26: set mac address for gmac0
  ARM: dts: broadcom: Add Genexis XG6846B DTS file
  dt-bindings: arm: bcmbca: Add Genexis XG6846B
  dt-bindings: vendor-prefixes: Add Genexis
  ARM: dts: bcm6846: Add ARM PL081 DMA block
  ARM: dts: bcm6846: Add LED controller
  ARM: dts: bcm6846: Add MDIO control block
  ARM: dts: bcm6846: Add GPIO blocks
  ARM: dts: bcm6846: Enable watchdog
  ARM: dts: bcm6846: Add iproc rng
  arm: dts: broadcom: Remove unused and undocumented properties

Link: https://lore.kernel.org/r/20250109224756.3632025-1-florian.fainelli@broadcom.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 15:06:38 +01:00
Arnd Bergmann
f1a2647664 Microchip AT91 device tree updates for v6.14 #2
This update includes:
 - device tree files for the SAMA7D65 SoC and its evaluation board
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCZ3+P3AAKCRCejrg/N2X7
 /ZHmAQCcc0VmuDvsDT8BaNLyY0BJpxj8vMy0TwmFbrRBMj1a9gEA55Ofbd2p42kS
 vcdkSQ8zVQvrIlSQpo0yxSIHJ+4Ofw4=
 =D07W
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJEX0ACgkQYKtH/8kJ
 UifmqRAAl/dndKwCh8mnsKbx1s7pie5dXBFQtANZSSp7aakxipUyxxpcMCn5N4yR
 eF8Eu4RvPpjN5QewCRXO/tc/O1jUTdfTa+bVGA1R0DxGvOZ27qMUscHxuf6Gu+VN
 GinBN/qCHl/bcFvy6HoJdCVYuy1848gPXVvwVKubiSAsXYzUOC39znPrkRUXs7SN
 JULHD2Mf8NY3exW9Su26hxnX06ZPhfIO9wNsUE5ykqs3e2l4PG1ZRCqgTWlBI1Zy
 07Meib4rC33/IyQSEDy8wUcUYav/Xa5hN4mMYblvn5QUXUM1exT1IkPRm6YhoC0b
 6fmBohe6elg1QabKQ7ZAeTO8MGXiepOeWMQAZuPmSAlpJJEXBOOnkgU+I8RwJVVk
 mhh+pWjZdMVsevsBLVkP1MP9U33ALaYyuuf1XeS2TtykinOz90H1M1DQsf8hT1jw
 SsR0GZarUTpnJiMDg4WvCjbBmGEJHwOYvj5lz2Wx72AlGxhvS7ahC02cqE/QojnU
 ODyR2OqOPCU09GDeWzcWnWdz5leR8wo1GMKb7mYpFpjVzv8WCeWl3NsgNlWtgypI
 qigjozUfZYy3NKBIcAbs4hdAMB1hGsGoGeljeo/TTrk77F9f5+de0/OwIICmyYn0
 bY3o4tTiLIGQbS1xrMMHHHx6AQUqYDsshbdw6LvGbqDv/xnverM=
 =VF2o
 -----END PGP SIGNATURE-----

Merge tag 'at91-dt-6.14-2' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/dt

Microchip AT91 device tree updates for v6.14 #2

This update includes:
- device tree files for the SAMA7D65 SoC and its evaluation board

* tag 'at91-dt-6.14-2' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: microchip: add support for sama7d65_curiosity board
  ARM: dts: microchip: add sama7d65 SoC DT

Link: https://lore.kernel.org/r/20250109164317.1154613-1-claudiu.beznea@tuxon.dev
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 15:02:37 +01:00
Arnd Bergmann
36ad66238e Allwinner Device Tree changes for 6.14
- Add support for DMA engine and audio codec on F1C100s
   and enable audio codec on Lichee Pi Nano
 - Add syscon and SRAM nodes for A100
 - Enable CPU DVFS for Tanix TX1
 - Explicitly configure TCON0 pixel clock parent according to display
   output used
 
 This includes one commit shared with the clock tree
 
     dt-bindings: clock: sunxi: Export PLL_VIDEO_2X and PLL_MIPI
 
 which adds the macros for the TCON0 pixel clock parents.
 -----BEGIN PGP SIGNATURE-----
 
 iQJCBAABCgAsFiEE2nN1m/hhnkhOWjtHOJpUIZwPJDAFAmd+iXwOHHdlbnNAY3Np
 ZS5vcmcACgkQOJpUIZwPJDBXjRAAtDe3dNrPw9vcsv1d0xVp2J3Q4gOGLhf/BzN+
 +1Bg1ETngDwkHF11KAD38t+3z/Kccg63tsy8F8GBzE9MxhDUka3IdIV9WZkeRcn0
 Cb97gtPAc3yawgGtOwNbzf/5YFU26z89X3m2yLl2JcXXp2KN+aHt4yccCNi1s+79
 lJBKzDNVlEVxsqRYAJtC13FLNfoG/oGKjAG7+qJu79WjjlXJu55eEGfLOHQFhpVX
 rUauQkY2uOxRJ8AqA/YjqY3zSSQW0N1dp6KGhxy2IjXcE9sBOG3G6CsRTfzXMYXb
 b78viKGSz/vahUs82Tnb9OI6kAOMS06rRrI6wmZzsb9hopC2LUKX2u9oJwUN31SI
 Oz5tCgGgt8Do63KW3Ds9BORvqg6MymMmjf8KCHieOm3WXuKElHY4lY5X2y/FK1jH
 JAYrtwbjxce0KMQFI61lUNHH3eJYnW3G1mN9Ii9CnRNKSoROSt/7bA2DsQkBD11Y
 5tSZag73T83p/v8+vXEosN+zf41dATNTP3E3pLzGWOjabtm01e5I25FhiT5BgWog
 WshcSKhIKESuek/zyg/6TfDCPHKFmFFnX+itUyzDP1tTT5o8Ij307QIaJqAQR/CC
 Jq+q1HL1u5SDOogWrd74cQG9RDGFIT0eLTu1SAnoRN3foj+IpE8DEF+4FjEI1Zk7
 qVHZzds=
 =+zy6
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJEVYACgkQYKtH/8kJ
 UidE9Q/9GDSLN1ZzsOa8z9xf33IpH9RAWZ2Ir//WnVlMgPpp04P1S87qA6CUNjIN
 c/j9jDSKQoullQa06C7ON6DkyZr8wYrxlOYQ8Dh5bq54vXB5JS7z0r/4+H759CnJ
 JtF5aUpcY2ubAsCtmbA86ex2Yu4TwSc24RmMUUMO3thh3JtQiUxkDFEmMLzhSKMU
 C6bl5pT9YlGPwnVo105zXK687x67YdT7S/Foi291lDGr2PlJeGpH7ZakDgn5/S1h
 J4g2LytSyUyrGLNFq30t8wTfBBgLyjuVQstBm5k7ff/GuY2wowMZvBVAS/4Mm07D
 YoeLY9vq4Rvx+CrrFRem0bptLSAp7IIfO1zLpJUnPoUl50vJi3BIq/VCEJeajTEg
 Pw2tFR5SlaC2uu3XH6jOXHVLVH7hrUElOr0usdklxhnKFogymz75da891ZPK56KC
 ZYJkNagqrFcZgPoSXXaijzZZ3q3uWKXL4olPqjUKAx7FHX8RLTrSWelAxSwYQ33B
 L3jDQ9v1LQCnxyAnZBPDjBxxnI8KdxyGRv9iC0lTaxVkyxgawIGM3mbpfl1PF8uN
 zmqB+42BEeAudupEAVZuKph2vDaSWPS9bG91yzuZxY+a31Myx87Wog7vQ/LU1PX0
 IS45Ji6Nv5+SNdi9NO9GY9h1pJYu/wzK4Fmq2CRn4YJtF7tABOQ=
 =zhiA
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/dt

Allwinner Device Tree changes for 6.14

- Add support for DMA engine and audio codec on F1C100s
  and enable audio codec on Lichee Pi Nano
- Add syscon and SRAM nodes for A100
- Enable CPU DVFS for Tanix TX1
- Explicitly configure TCON0 pixel clock parent according to display
  output used

This includes one commit shared with the clock tree

    dt-bindings: clock: sunxi: Export PLL_VIDEO_2X and PLL_MIPI

which adds the macros for the TCON0 pixel clock parents.

* tag 'sunxi-dt-for-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: dts: allwinner: a64: explicitly assign clock parent for TCON0
  dt-bindings: clock: sunxi: Export PLL_VIDEO_2X and PLL_MIPI
  arm64: dts: allwinner: h313: enable DVFS for Tanix TX1
  arm64: dts: allwinner: a100: Add syscon nodes
  dt-bindings: sram: sunxi-sram: Add A100 compatible
  ARM: dts: suniv: f1c100s: Activate Audio Codec for Lichee Pi Nano
  ARM: dts: suniv: f1c100s: Add support for Audio Codec
  ARM: dts: suniv: f1c100s: Add support for DMA

Link: https://lore.kernel.org/r/Z36h2FwUxro8rouO@wens.tw
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 15:01:58 +01:00
Arnd Bergmann
9f98a04da8 mt7623: fix validation error of ir-receiver
-----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAmd+a34XHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH5ZthAAgMvwkrc/mcSFf4hiDuVyt+3C
 LyP201jvEnig2FOlAw2BpECrjV75BXBbY4Kt/FOnnfjz0u+X4BcyA3XXtc4m59Zt
 ZGDXVT7EsfPgAY4XkA1+CyYSufCwtDOW6+fel6dpjDlAJ9J4i7t72gQq4f1UNHi2
 FLI2LO7meR65R7a8XyTV4+2If/taiUxRrXTmDvgFqu7qMeMwlU0LVLEOvPnMEdHR
 v2eofMMtHVitBuhvR0i58Rjdh2HjM4cB/pg7TH38LRBjdqpv7fxtlcJHm8hL6r1a
 qt0G/TyhYfqEbbfwPbeJDBBo3dqPK7/1+E/j0d/HBnm7JyPf+469Tj7Ibrd2bl2T
 xElO+Yc14J6gDx5z8bEgAyjcV//RiZZSIWET+rTxkk3MWBNX/z8vFhfgWj0A9WAd
 1tKefLoZLm1GZlsPRrrmX5P1tI9zNy7y705HU3KQwlnRn0/iMl2NJAP8OXPQ3FEB
 gt2olU81w+b4/1rjWjcHbJPkarzpWlNE/TF8WH7KJ+aBTMcDh4+YyNyzZkRePflL
 jmNag5MuXXbMs3Id4hRWQLyqUuIJ0xuhXBZGSzBx8jY1C3AP2muj8EB+i1ObQ8Fp
 e1eyKaR8biuPiQplHNvpHQOoUEu6mJhWYk4j0Qj+Jf22PVEVtmx3Ctzvy1objM+u
 GeHRw2mWqLE0FDdtrk0=
 =gaiT
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJEEMACgkQYKtH/8kJ
 UicGxxAAx7PpNIvsg8K8MyjJzGvD4PXyYPBiOcko/n8d3qohLutIO+eJracejMN7
 fqTwDT8lMIr90XikD2ZxSF6EHXdfhJ3+6MCRnhSSW2baAdKb1gZataDleO9WTKUU
 FgwefwVNfCrH6kT5Ni5o6ac6GbQThZa612CVDgoPdAISasuHgtd/QHpppNVev7cn
 fuVrqWoa1/R7BvdWXJZ3sFUNN+DKQTVzI2+cLNulxmbRGDar5wJU17dKVy/tRkxw
 PwgGFkBQm7Z5IqZgQuFEqKOgp9+5Jr8WfmpH8iO2EyyDo6iJ/gz3FzlVkWeMsmCt
 51irVcStCO0s3/wQG5g3fRNrwMiZDr+Px0zSN7pW5UCsy0v8pXUm55avIf7nw5cp
 cPmXlOPvNxRsz7m/bRcXTmJWshOjsfjjZZMYz4ydq1NVENY2vkel01oF4xGX0MF6
 qqZ6ZTcQyLtrBSOo3LCGkyfMHq8/ri5S4HpXuc7WS1TmPQbApfU85CBIhUfqixgc
 6uTNFKMreX8F5xivextXCr7x9FDCik3/phkjN91TpEQ8LprPNjShfCt6h7IOG0DJ
 xU/BlOleUhUk1K9A6FhWbfD+CnPUckKkl0VwkA9Hs6ADIRNmAI94cYXZjP2FISML
 MT82auYFHvjwiU9GAICtxoCy9Y9rHBIKmBRjhomb+Vw8rV+riOA=
 =AUkz
 -----END PGP SIGNATURE-----

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

mt7623: fix validation error of ir-receiver

* tag 'mtk-dts32-for-v6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux:
  ARM: dts: mediatek: mt7623: fix IR nodename

Link: https://lore.kernel.org/r/ea93d0ea-a1a0-4d36-8880-4f05c85f0c1b@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 14:57:23 +01:00
Arnd Bergmann
5c9e59a05b MediaTek ARM64 DeviceTree updates for v6.14
This adds a few cleanups, enhances support for upstreamed SoCs
 and machines, other than adding new ones.
 
 In particular, fixes and improvements:
  - MT8516 gets a few fixes for GICv2, Watchdog and I2C, and
    support for the Keypad controller;
  - MT8390 Genio 700 board gets basic audio support;
  - MT8365 gets an alias for its integrated ethernet controller;
  - MT8195 gets an important fix for system suspend: all of the
    machines based on this SoC and its IoT variant can now
    properly perform PM Suspend to RAM;
  - MT8188 gets support for its Mali GPU with DVFS and a fix for
    the OVL Hardware found in the Display Controller using the
    right compatible strings;
  - MT8186 Chromebooks can now suspend properly thanks to a fix
    moving the USB wakeups from XHCI to MTU3 (USB) controller;
  - MT8183 Chromebooks get a fix for their DMIC microphone and
    proper support for their second-source touchscreen;
  - MT7988 SoC and the BananaPi R4 board gets support for Pinctrl,
    eMMC/SD, Thermal, CPU DVFS, PCI-Express, and peripherals like
    the RT5190A PMIC, PCA9545 I2C mux, and others;
  - MT7986 BananaPi R3 board gets support for SATA power socket;
 
 And cleanups:
  - Dropped regulator-compatible property from MediaTek DTs;
  - Aligned thermal node names with bindings on MT8183 Kukui;
  - MT6397 PMIC get proper sub-node names, fixing dt validation;
  - The property enabling Wake-On-Lan feature changed in all of
    the boards and driver to match the actual meaning of it
    (mediatek,mac-wol now enables wol on mac instead of phy);
  - Compatibles for MediaTek PMIC Keypad are added to bindings
    and can now pass dts validation;
 
 ...and the newly added machines are:
  - MT8188 (Ciri) Lenovo Chromebook Duet
  - MT8186 (Starmie) ASUS Chromebook Enterprise CM30
  - MT8186 (Chinchou) ASUS Chromebook CZ12 and CZ12 Flip
 -----BEGIN PGP SIGNATURE-----
 
 iJ4EABYKAEYWIQQn3Xxr56ypAcSHzXSaNgTPrZeEeAUCZ35MmigcYW5nZWxvZ2lv
 YWNjaGluby5kZWxyZWdub0Bjb2xsYWJvcmEuY29tAAoJEJo2BM+tl4R4JE4A/3Bj
 3aajf1GuDl8oxKuTGmx4k8ih3QpfwkhFE/R6FOvzAQDzsZBOHqJtXSuaRCWxvpR9
 ezFHytWtk3w2NJuRjK8vDw==
 =HRtU
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJDlcACgkQYKtH/8kJ
 UidYdg//cFqLJg0al12zaXooEHyRjh5Xc12H2yf2OPDKXyk7pp95By7p+Db2Pct9
 2jAbOMoeZKJmSXwH0A+R5pdH3FJuXI7pLlGmsWd1BuGWqTbeEzihXyf1oK2uNhSU
 5i6PcfUjc10865LAKGuD+zCAz2nzjZq8F5hAm1sShE6zaY/2xQ24QCaFBc1ZrkN1
 xiGgGI8lBCGEXZRUiumCi/31AQbH/yGCgmCTxDSQVH8rDwCSZ3qWNuj4Oav6FC6Q
 pjf2IP6kUlPwg7H2sPlpQwbxmUn9Tijks8TnxS6YvjXo4jPiR9lzJLUQCWwjUhlt
 OCLMO2bfKumfEnopDpQStbYfwKFXZFq+ooU1NYrMhMv4ttR9neoQZF61gUCll5Q8
 NJZNinv/gbmH+8wzi7eu02aTnnuqiwMwc+6IQZXdjUcCc1qVQtRItuxt89eEguj/
 R+bluBJI2pKXRWt0HqniolajBePHq+YV7OYiZpCG+E3HbkjgMxqGanWkv2OgoEvH
 6fzPDHVNF4Gjb40bkWr/+2bxlAJcGdWOmfMVKNdIZ1yUdP8JfFTwKtWwBdHXwOMO
 89sdX69yJIWnES0Hl4bLMCWa2UIOwUKtrCGDzAVnPGkTwVzjpPNWM0EYtC8QwNl6
 28GowrgUD2qB/Pj0Pp4HnDI+iC4NihFxBPEbJPojWSLWhUXc2N0=
 =YYJ2
 -----END PGP SIGNATURE-----

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

MediaTek ARM64 DeviceTree updates for v6.14

This adds a few cleanups, enhances support for upstreamed SoCs
and machines, other than adding new ones.

In particular, fixes and improvements:
 - MT8516 gets a few fixes for GICv2, Watchdog and I2C, and
   support for the Keypad controller;
 - MT8390 Genio 700 board gets basic audio support;
 - MT8365 gets an alias for its integrated ethernet controller;
 - MT8195 gets an important fix for system suspend: all of the
   machines based on this SoC and its IoT variant can now
   properly perform PM Suspend to RAM;
 - MT8188 gets support for its Mali GPU with DVFS and a fix for
   the OVL Hardware found in the Display Controller using the
   right compatible strings;
 - MT8186 Chromebooks can now suspend properly thanks to a fix
   moving the USB wakeups from XHCI to MTU3 (USB) controller;
 - MT8183 Chromebooks get a fix for their DMIC microphone and
   proper support for their second-source touchscreen;
 - MT7988 SoC and the BananaPi R4 board gets support for Pinctrl,
   eMMC/SD, Thermal, CPU DVFS, PCI-Express, and peripherals like
   the RT5190A PMIC, PCA9545 I2C mux, and others;
 - MT7986 BananaPi R3 board gets support for SATA power socket;

And cleanups:
 - Dropped regulator-compatible property from MediaTek DTs;
 - Aligned thermal node names with bindings on MT8183 Kukui;
 - MT6397 PMIC get proper sub-node names, fixing dt validation;
 - The property enabling Wake-On-Lan feature changed in all of
   the boards and driver to match the actual meaning of it
   (mediatek,mac-wol now enables wol on mac instead of phy);
 - Compatibles for MediaTek PMIC Keypad are added to bindings
   and can now pass dts validation;

...and the newly added machines are:
 - MT8188 (Ciri) Lenovo Chromebook Duet
 - MT8186 (Starmie) ASUS Chromebook Enterprise CM30
 - MT8186 (Chinchou) ASUS Chromebook CZ12 and CZ12 Flip

* tag 'mtk-dts64-for-v6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux: (71 commits)
  arm64: dts: mediatek: mt8516: add keypad node
  arm64: dts: mediatek: add per-SoC compatibles for keypad nodes
  dt-bindings: mediatek,mt6779-keypad: add more compatibles
  arm64: dts: mediatek: mt8365-evk: Set ethernet alias
  dts: arm64: mediatek: mt8195: Remove MT8183 compatible for OVL
  dts: arm64: mediatek: mt8188: Update OVL compatible from MT8183 to MT8195
  dt-bindings: display: mediatek: ovl: Modify rules for MT8195/MT8188
  dt-bindings: display: mediatek: ovl: Add compatible strings for MT8188 MDP3
  dt-bindings: arm: mediatek: Drop MT8192 Chromebook variants that never shipped
  arm64: dts: mediatek: mt8192: Drop Chromebook variants that never shipped
  arm64: dts: mediatek: mt7988a-bpi-r4: Add proc-supply for cpus
  arm64: dts: mediatek: mt7988a-bpi-r4: Add MediaTek MT6682A/RT5190A PMIC
  arm64: dts: mediatek: mt7988a-bpi-r4: Enable pcie
  arm64: dts: mediatek: mt7988a-bpi-r4: Enable pwm
  arm64: dts: mediatek: mt7988a-bpi-r4: Enable ssusb1 on bpi-r4
  arm64: dts: mediatek: mt7988a-bpi-r4: Enable t-phy for ssusb1
  arm64: dts: mediatek: mt7988a-bpi-r4: Add PCA9545 I2C Mux
  arm64: dts: mediatek: mt7988a-bpi-r4: Enable I2C controllers
  arm64: dts: mediatek: mt7988a-bpi-r4: Add default UART stdout
  arm64: dts: mediatek: mt7988a-bpi-r4: Enable serial0 debug uart
  ...

Link: https://lore.kernel.org/r/20250108100826.32458-1-angelogioacchino.delregno@collabora.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 14:49:11 +01:00
Arnd Bergmann
865f5be3de ARM: dts: ti/omap/dra7: minor updates for v6.14
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAmd9srQACgkQWTcYmtP7
 xmW34g//W3RVpZOdtgiMu1TSSlq8pu8xB/LnVnuWIEnEtC/SOg4zvgi+XrVyRLGo
 QBqOblYd/aVdvrpuG55kVpFuheTqHOk4zZbJALwqWyUMylGOFua94w/ghmUkCeum
 ErQfctuWkTEj5OiDAxS+yF1bmdcqKF3gXl3tiu+o1wrnLPyDZugdWymX04ed+ZeK
 pL0u5HAHNst0UkOtG0GTUSP8s5E90AwyFlIhbSRXUJeJ4RMexK+ND5Uc4KTbVgfc
 LRVN3l5N6kDLwoq/YeFN76fdipij9D3YP6Ueim9tYPttGwjLzyEIkLWr/cY3AXKf
 024nl2XOeNT1nAt6nwOejpoEFpFlKbW8H+FZei8dJ8Yy/YniAMAG2TDPYaLtXwq9
 EcnmnU35QYGQ+ZV4mJ4eJ5vxS5cF05UHuWl+mLLA9nACi+Ef28OIUtImIOcNoEpy
 6GF3guJ1Un4J1myEs5t8bx0jwj2RazUt5knXqGbJMbu3Wzx1smI04JQlCKZNJJhc
 cB8w7ZkbY/y2YIKWP462TcF25bSnF2hGPwYc2gPHH4A7jKIib+nL0C+AYCftI/oi
 qB/uhtffvUtmdlqh7xV8tpXBwuKlTo65jgS02SchCpM0/d2d13L3sBx7Xp6nnUYF
 VMHQdTrcKMGholh6sbhkiiJNpheWOsp8TOF/3Sjxma7GE+coSw8=
 =wfU4
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJDiAACgkQYKtH/8kJ
 Uic7rQ//d3Kz89Vcr4QcRx6JxsKwG8Pj6ZzQMqSca22nRvvFRY3tqUwKw/l0t++n
 YW+N8gNIrNFn0kdNFgu01Vm1vDEbhTgwWH5FddlePF1ZbFnBwfA4JmbsK6beW4fR
 d974T6s9znh4q32H9v11zeQiXwmxDy5cS1tdS7U/P7SlnYYP/Z5Vsmmug58fJ0qO
 Bj2Rpvq8lH5+UlObsuEYxwEklX0zaObXXSY5JqP8pcZupwF44ZoaJz8RpZuQ2Z2i
 9s1pXqkpFLJmAYvGsQ9okXEzWTDb2k+7K0b4bQeGANPqyUnxW/FHtaSIcFHmzLO2
 ySexIL3XeFbn4cHnQO/Ub188K0pnySl9j+DGV59LDNKws8wum7aE//YZml9LhIyY
 Yx0xbOvip+DAKf5gL4vxikhXo7KKhzDoMKBAw1V20hXNX1jv9nI0bzQSkoW4SNaM
 O1LW0Yarfa8n83ePeZbWWvgDFHRknysCOzr5sVmctS90Eeh+rAPdQmG8dVIB6rtB
 C5CLpX8EJwGWvjMZfmY72IZ2a7OhkutwUV0iG1N14giqsJwKdshhTP2d16lTMlKF
 GgCO5wrwKN4eF3Y++nSa4ePEudN8o4tmqo0jXxu1uoPq2HqFsBcmZUjiRrJRVrcx
 VQ9QkrRcA76QnlwFGD1a86ivd9gwnMzMLpm/5nNK46bTmcQTyKc=
 =TYA0
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v6.14/dt-signed' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap into soc/dt

ARM: dts: ti/omap/dra7: minor updates for v6.14

* tag 'omap-for-v6.14/dt-signed' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap:
  ARM: dts: ti/omap: omap3-gta04: use proper touchscreen properties
  ARM: dts: ti: am437x-l4: remove autoidle for UART
  ARM: dts: ti/omap: gta04: fix pm issues caused by spi module
  ARM: dts: dra7: Add bus_dma_limit for l4 cfg bus

Link: https://lore.kernel.org/r/7hmsg2b42q.fsf@baylibre.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 14:48:16 +01:00
Arnd Bergmann
6253c6357a Microchip AT91 device tree updates for v6.14
This update includes:
 - power monitor support for the SAM9X75 Curiosity board (using the PAC1934
   device)
 - fix the VDDSDMMC rail to 3.3V to avoid breaking USB (for SAMA5D27 WLSOM1
   EK and SAMA5D29 Curiosity boards)
 - partial support for the SAMA7D65 SoC
 - cleanups
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCZ3qRtwAKCRCejrg/N2X7
 /QaMAQCTOEeY9AZ7WZ5fPawhHiRWi/uGmxVGPFoUhaRg8Npu1AEA45yPIoJiIUHu
 0XdWX02XZyKBwvWVppsKlbwF6fASiw8=
 =REnr
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJDdAACgkQYKtH/8kJ
 UicG/Q/8D9e7gK6BOtvZZkDG7H792dW0QAP+21zY84k84lbZhkczttfmYtEdtsA9
 mjsx7ARJ4LXQ/hHmymM/ULbC1pHEz50gQhaJcsACVQB9ZZb7VZrJLWgehIXWR/8l
 8Lk+c8kbzMBZLyZEsVvJCL8phJThGEO11+e4etDdNAPLcYifKiOgW6RfIOLMfuRC
 be9+c+hjYqlmVzfZdpECwNHMnBzTd2SWzcssNmuRcBdQdSe8gOHZkHKAWCK6y62i
 6nDKaBETiB5AeIo5Zb1bdR4mN4rcCMVYpkfHmyr7gm6XLz0yLc+dNyKnupptVBb+
 0+5LmevlokEzWuq1eSJbE2eke6Z2smK0/i67lJQJdLzFQWQl25SRK9ij/NhqMDxT
 MUBosW78MgKgWHAF+WoQRtLxfsf17LWRv0tGTmA3HPLU6M3slil3D0QEcpsuMPSn
 /qXsFbmum1wdJSWY+ReHfmKmYzHXDKxtH0Q7+ZzmxwZs6+tizIa00XZnIUWaDr4T
 kMNLviRRvGMkYN6dUOjzOPyF8WoisYnzIAjyZ6Bgf4sKsDkxGc+4aUCSQe15bOTU
 73TLt0ymK+TAh06q1bxqLzFH7GFAKQyAt24533HZ6kE385xlKkUGCrRLHKoiq00F
 2UnWCikzfrSp+qE6r7Lo2ckxjYZTRMjfARpY4L31ElwhZ9DVz7I=
 =r64K
 -----END PGP SIGNATURE-----

Merge tag 'at91-dt-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/dt

Microchip AT91 device tree updates for v6.14

This update includes:
- power monitor support for the SAM9X75 Curiosity board (using the PAC1934
  device)
- fix the VDDSDMMC rail to 3.3V to avoid breaking USB (for SAMA5D27 WLSOM1
  EK and SAMA5D29 Curiosity boards)
- partial support for the SAMA7D65 SoC
- cleanups

* tag 'at91-dt-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: microchip: sam9x7: Add address/size to spi-controller nodes
  ARM: dts: microchip: sam9x60: Add address/size to spi-controller nodes
  ARM: dts: microchip: sama5d27_wlsom1_ek: Add no-1-8-v property to sdmmc0 node
  ARM: dts: microchip: sama5d29_curiosity: Add no-1-8-v property to sdmmc0 node
  ARM: dts: at91: Add sama7d65 pinmux
  dt-bindings: atmel-sysreg: add sama7d65 RAM and PIT
  dt-bindings: ARM: at91: Document Microchip SAMA7D65 Curiosity
  ARM: dts: microchip: sam9x75_curiosity: Add power monitor support
  ARM: dts: microchip: sam9x7: Move i2c address/size to dtsi

Link: https://lore.kernel.org/r/20250107081424.758980-2-claudiu.beznea@tuxon.dev
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 14:46:56 +01:00
Arnd Bergmann
c50a335571 Renesas DTS updates for v6.14 (take two)
- Add pin control support for the RZ/G3E SoC and the RZ/G3E SMARC
     Carrier-II EVK development board,
   - Add Image Signal Processor helper block (FCPVX and VSPX) support for
     the R-Car V4H SoC,
   - Describe odd C-PHY wiring on the White Hawk CSI/DSI sub-board,
   - Miscellaneous fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZ3wB8AAKCRCKwlD9ZEnx
 cIvMAQCrRApne6xtA5WnNe5GCDkg/AddJgTImIJ7VvYJdNRi1gEA+2wlAtzO/s+S
 UB1i0B7ApeY+SeL/gO7+ntK4if3R1g4=
 =/DFi
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJDYgACgkQYKtH/8kJ
 UicyQQ/9GUImOiz3shTIGMCR0vvPfwDOYXeBbPXC13OrsVqPRQMs1bXhFyJ9xqER
 9nUPdECbqSujaEY72W/3KEpqCMIU2vgIyyRMrGI1UArOsbQNImH5sOIek6GkC91A
 BnT8Nit50iue7lZEfrasFr+n6yx3xkIjmdnzDOrcDZIR0xF68/YMZX2P5mO8WMqI
 uASVTVkjYX46M81CPRW4JYW7mvhvH20ri+Ih2sb6ZNsjCHahZr3HlvC2/m3epyJ3
 5dOb3FjUVmDIitMeplWv9uzHYlRaYv8lkBaN13lI0UkkBaLlKf6NDq7RqraDkzZq
 lSdjCZLGDIay4+v35k85PYs7R5Yxhn87oID3gtANl1h6DePUjONX6jCDpW4m4N99
 56iuj/P1KlrtYfifr7VMREuunhpOSm2L6SxPYQFdD1d6TzqwfhBXkaP+qt87Yvnd
 9HiQueI2FjMsL58+rSc9l1iDrfny1XovLbU1IHR+vOpAXw+htOed5Vy4Jhz2hZ6y
 LfY/L8X2queHfDVFmw2q43C8nD2BVMlHCD3jnx4XnT0HxtyujoeitmiCJEARGzw7
 LrFLNXsxNgSbf5Axix6PW97KAdcr33s0rel5TrJPWbZbo3PLXjGuEferL+zEbRln
 hZ805br9ka8LVmPISnMZXqkkUy1iaU7l4nf79Yma+69TAfY1zRo=
 =wfr/
 -----END PGP SIGNATURE-----

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

Renesas DTS updates for v6.14 (take two)

  - Add pin control support for the RZ/G3E SoC and the RZ/G3E SMARC
    Carrier-II EVK development board,
  - Add Image Signal Processor helper block (FCPVX and VSPX) support for
    the R-Car V4H SoC,
  - Describe odd C-PHY wiring on the White Hawk CSI/DSI sub-board,
  - Miscellaneous fixes and improvements.

* tag 'renesas-dts-for-v6.14-tag2' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: dts: renesas: white-hawk-csi-dsi: Define CSI-2 data line orders
  arm64: dts: renesas: r8a779g0: Add VSPX instances
  arm64: dts: renesas: r8a779g0: Add FCPVX instances
  arm64: dts: renesas: r9a09g047e57-smarc: Add SCIF pincontrol
  arm64: dts: renesas: r9a09g047: Add pincontrol node
  arm64: dts: renesas: r9a09g057h44-rzv2h-evk: Replace RZG2L macros
  dt-bindings: pinctrl: renesas: Document RZ/G3E SoC
  dt-bindings: pinctrl: renesas: Add alpha-numerical port support for RZ/V2H

Link: https://lore.kernel.org/r/cover.1736180859.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 14:45:44 +01:00
Arnd Bergmann
608e9fe27f Amlogic ARM64 DT changes for v6.13:
- remove broadcom wifi compatible from GX reference boards
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmd7n2sACgkQd9zb2sjI
 SdHBbBAAriQE522XRvvxktiIcHZOqqoh7DCWaN8bPw93M+atcVYx62mEpT8eNE73
 13QT7P8/Kxpvbc906cT+myAt/yqB0eJmi4UlPpJa+q8AH8DIt1khezaXm5/8aPiX
 GLoq1RJaVOAAHAxT26U86ohqDC/3m6xfb/yHBvzKO9TNlOXzMMznBH0F/olTfGVF
 F9QanoKfTzdVzevR2QcTOLXeWMLUyaAqIT3sQmbxrF+LMd9oa2jhGOe1rzi45F7Q
 wQ75OdjoRZKEuPIc6LI+KBKhB36nDX2WNvlxNdnyeMvlp6TYqFZ6daeHL6UmtLTL
 FYgC++6vH8IPr3d9uQSY2Q0Obn25y5e0D1n3bSRclrReWOtXw5a5/LF8OB5dSUQs
 OqCyPnJf+Q9xaJULWJE1xZdq9xNf+71tnrvCT3IEocYM0Wl0SZxcCLFLv0XT1bF5
 VUYKGBPpCxvO+FmKehiZF6lSbMZHMvY1/hiopByk0fj7Bi1TG5Z3ajUFzpWrU1Uy
 2ufUfnQgB3Tb8muyenUNO5Np27EWpYxPPlfjcs0We/d1lw+owXTJhYH1T5vMItgW
 7hxPZXhYu+knMbO5OZq8qKT+D9J7jHQhOMMKqI+MK+G0JhxCR5LpdgXsuhDhkQWx
 QYjz8BWwfTvsOhiwZKVFlERXNihA48tAVTm5Pd4d1K3qNBKvhi0=
 =e2+6
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJDTsACgkQYKtH/8kJ
 Uic9UQ/+PyW7bWcDD0CBCtRloNS5C5iT4ccRKN4zA/KMjwMYRzu7+6Uljf8TIMwP
 09eOpc3XuXx9gHpc3Ae4ME3lodx45r+joqEbAVBhXcFvvjD9WnGtUxMnxG89h902
 R2YuxnEdveUiURk0TGcSfWF3ItvT5FULUq0SlgGwZILgNzMcuLYfCdcA9EsP1tbW
 j0OF1IBZ51hsSvsXV6e25hq9nAy8POBakq88OYxzpPtThyasE9smpeF5SFnk2BJO
 VNYJa4jqRY7hMvyqbheneDWEvgPMNkJVQSMtX36vT83vDoWeQPc82VfwUyhTqUeY
 Xh3eyVZlz4AbuXLmaNtDZgyT2zwrglcA7N0jxHKUvxY3UK7LnQgqrH0I1rKsSE4O
 tXVFqm3sn1HOQQgxKM0PedJ3UWjxlgqMFka+Pe3Vk2bvPGAG6HdoWOBd2ulHyR/+
 vVhJ8If8SS8LvxKTTtZNKDzqEMtkRIaPoEadMkYH3fnCC//mdQOmsyB7XixiSjj/
 LWFSqy4cgGZVtVVzPHiU5hEBWv1O09VkjF/Nr8+3MBuTWzRapXILuFF8h4+8WEjw
 lTc7yMhiuE2DA5FWIcEiVi9LagCN6DnzjACEMxCp8qPt7MT1RZ2H7qe3Gs7UHuSm
 yBUF+k/eVUf6xLt+kZZYG7HDs3G3LZ9yLRXdmcHyC1f3jpopZ04=
 =CWlx
 -----END PGP SIGNATURE-----

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

Amlogic ARM64 DT changes for v6.13:
- remove broadcom wifi compatible from GX reference boards

* tag 'amlogic-arm64-dt-for-v6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  arm64: dts: meson: remove broadcom wifi compatible from GX reference boards

Link: https://lore.kernel.org/r/72d71d3f-99c3-4767-8c80-8fa7a865c846@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 14:44:27 +01:00
Arnd Bergmann
fa716fe87c Amlogic ARM DT changes for v6.14:
- remove size and address cells from USB nodes
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmd7nz8ACgkQd9zb2sjI
 SdE0HBAAl6ER+qMSAfn4rnEJuVDNAMg/0sa12I8fWj/fwHp3cqt9Kn038VrZB7cD
 9Uq6xj0JBC8IOAxM46tl94NswdtIPO6ZXd8rnZuRPZY1gNg4LUIbS8pwkYDmuZE4
 sFIGv4OF3Kqa2n2DNybTR8nAzWdoKGBNss2FzaV4q0O/orsT1PsjqucGvZSlBpJH
 6kaSEFvc6Y/3UijvBKawdbVDF5yNzR5NgCFoSq0fRDPrhSfccgUka8rr9+c8LtOP
 g0FHns212BSY65mzzoIUcwHywrnkklAarMViKn5LQLP/ckA69vnCeHGRowZ+LTm7
 a0MDLR1m55JhUahogX82AiugaeudCIbvuM5fqhSfNqOEEbb6quZEffsPVFd3Apem
 XLQmbrbjnpHBxoY0gr08hMjr3iXKZH5OSn0oTQfIg3vEXPxhWvgMQfHiEHCn0WM9
 39nlCpZ+i2RoMzeVYDPAkpHCd/6TKoMqEQZOMOgLJ9xpytczm5SvJzcXDx5jwUB1
 rRTSzEcViqsTJivGcRCJ/odOJBv5LsHJuyUFIIroPT0tkuTKZ5Qn39975xLgwCa2
 gRRLTo+VXTMkE1kS2yiH4ulFrBKXJJmIjWB9OcfWtpS36Fa2qn8/+El97ZRkhJLp
 R8+95KVqAeBaODjGn8aw18XTSSHt8ERpvywVAGEgPAC9PoXMkiE=
 =/HcR
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJDSIACgkQYKtH/8kJ
 UicyMxAAgTxrll8brGQUAWDc/k51/xm7WwmTaMo8aHE+A5iWAGpNEr5VLLJG4bhC
 r4IXDT9FxzZkIZAkQEp5pKklsq/mXPaW7pRhW5BOvI21GpYnBtH/xMCNHiA6+kc+
 ut17CJus6gn3qzwLjvS/qaw6ZPvZ1qFAdRQGGPH1Jf6nnxNdMmdjbL2F+at8qTGV
 Fjrz3qKMh1Ytg3ziSOyP//iJU+BQWOBYJfKftkQOgQq7QruQBhapTqITCN2bGNHS
 j71PbLikKT7SwdaV1tJw7WrNOwNsLUOSmHQqDm+/I2b9GSLyY6lo3m8DSdRLHiLc
 WLvBhWPTVCeddOIkKLNfR35rJLDjFgGDudjVA68XbIy3ExBwttCKMI/9TJ/JwPFK
 MsRd1DKy6ENL3Nhi6V4lTxla+9J2IIFMTwMFo9vfS7q+/yv4XP86NreiBkpXwHcx
 DuQ5jdX+wW6hC+Mj/n5vWzAabZglleUnK58wRBAmKAFwPjGLgITHfSM/vjxNxK6q
 XWvqpkDvHTnCndcUZVhh47UyHYdcJRD7bTcm92I30NGTcamZbsFw+3Y9XoKHJkrs
 2eZvnqTE805RBzLZa6YyYgbuJEOIW/N6LTh1Gt+50wcXR7CYFirQUuiCNMe5cr9I
 RwhJge44mbk6ruGiumigATLEp5FYco91z/Vu7GjdzLGf17xD1ys=
 =q90z
 -----END PGP SIGNATURE-----

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

Amlogic ARM DT changes for v6.14:
- remove size and address cells from USB nodes

* tag 'amlogic-arm-dt-for-v6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  ARM: dts: amlogic: meson: remove size and address cells from USB nodes

Link: https://lore.kernel.org/r/77c645b3-0cdf-49f4-84e9-11c74074b9a8@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 14:44:02 +01:00
Arnd Bergmann
192375416f Add and enable MALI400 support for STiH410-b2260
-----BEGIN PGP SIGNATURE-----
 
 iQJQBAABCgA6FiEEXyrViUccKBz9c35Jysd4L3sz/6YFAmd7uh8cHHBhdHJpY2Uu
 Y2hvdGFyZEBmb3NzLnN0LmNvbQAKCRDKx3gvezP/po8jD/9QOQoUQSW2g1xJSoYE
 DNHnuCwhgvtzzSVaA3dBEGD2gOuwx+Wqh/nlB+8CQs5RB3ehDYM0Fn5teDFzKSdd
 Hg5kM7vPHnILELw6t2+TxNe+nr0KpXlXAtMvZE1fO0mtdRiCJ25c6PoLE4hpkaX/
 ID6tM7Dgb2wFQEWHn3uh5oZXGEWLQO5CYDXfD14q4gmc0ndoUxPUfXyNkZLAlJxB
 mYR60LODSftXWDynObcFnw1pm1WPiKJH5mBxuTaGYo2JoEi9Y0gTcrv/kQsK0gGn
 sdCyuCYTAhW8CvMwC99vBp4AfwFmSH3OhRmREZIf3sJYAwkYUOSS13lJS9b9ONh8
 XHj7dcl7R3cg/JOq87dKWKpDCBtAD1l5tvkcO1HXb9hIccSmOdpPv/BM2xzu3vlJ
 s8A6qxcsTAT4WER9HBMOpkWaBlHTkf6dLQjdlxlGrHlWQ5tx2dFi0TJ6nn9cQCm6
 A9bEyap6uVuZyB1OunhKPijRh/Tyl3MuELL6LDctUDFZ06STSVfG8SOFw0fj6KkS
 IND1d6k5KHByXczz0mzLV3CTYRULOecC9wapQVxgbec+3WC2+KJ17FbizT3T7yMC
 krdGV58kzIpf/33naaBeHKX3fOmHf8hooHX+vj5/foaFWwir8o9lIaKW2tFiEO3G
 HSlZ2gAUa22sKgyz+IyqlhPKOg==
 =ZfYp
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJDP4ACgkQYKtH/8kJ
 UicoNA//TSNBC9kWzFMPEuU1wEDiyKxabE6i6q5U38t5LC9yTot3pqVJ9rPObFc5
 96FBg2wfkOCLlS4UeEPzyJRHbXKdfLzoGWxoO7c1hzt8GvgsW5OeLBF94QoAOi3f
 +WKzFrk3gYBY8Nj/IQ+L791ZI1CVC/6tMtb87X1VIOp0Hl60+aFo6XoLdHjuhA+Y
 dxoeqbZXOcBNK6PR6wthLZp3nQXj8WA16GRd7xycHanOa+fw9xUeSTW8QMtZUKHP
 tfbzUWZNwmkdSSt0UNAWWUOeaSuZqzDQH40Njqx1Vwse+XsHoTIzIiJXrcpcD+w3
 ETOfuEKwe3knF2eZJTBtCzdmsLPph6cXTD6x835e04USEGhXrI6F+hpwZOdv5qOe
 H76ccagTopDCMfk9RJpEZfDfn0dRZhE0fY7DHIdBoUYm8WXh0JKTKkj+00XYAI0g
 A/GY2AQ3OD6S10wVs4gcSK82nbd5M4ssiX8Fi6Zz0xk3hn8y+Gmk06Jj4x+2fyw4
 ifUcyfAaDCbNGwsjwXC8MBNIBy/d0KnVVYoPCaU/GYdc1H1a4szO/g3y4TNgUOr8
 Nys1kDqCVMfzK9lT4g4G51UT31FZNTpLZ8K2EXo9X6eRWxq3XFjSjSNkDq6LD+xy
 E8mmMKjvTt5EU8LUIptvTQmop6XdxJiKNfSeEJXvvSTnr+9An04=
 =dDzN
 -----END PGP SIGNATURE-----

Merge tag 'sti-dt-for-v6.14-round1' of https://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti into soc/dt

Add and enable MALI400 support for STiH410-b2260

* tag 'sti-dt-for-v6.14-round1' of https://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti:
  ARM: dts: st: enable the MALI gpu on the stih410-b2260
  ARM: dts: st: add node for the MALI gpu on stih410.dtsi
  dt-bindings: gpu: mali-utgard: Add st,stih410-mali compatible

Link: https://lore.kernel.org/r/f44cb1f0-4d91-4e25-8b1f-3dd9a7bed62b@foss.st.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 14:43:26 +01:00
Arnd Bergmann
50e859f99d i.MX arm64 device tree change for 6.14:
- Add simple-framebuffer support for imx8mn-bsh-smm-s2/pro board
   (Dario Binacchi)
 - Add LVDS compatible string for imx8mm-phg board (Fabio Estevam)
 - Add P3T1085 temperature sensor support for imx93-9x9-qsb board (Frank Li)
 - Add support for i.MX8MP based aristainetos3 boards from ABB
   (Heiko Schocher)
 - Add PCA9452 system PMIC support for imx93-14x14-evk board (Joy Zou)
 - Support NXP LVDS to HDMI adapter cards for imx8mp-evk board with DT
   overlays (Liu Ying)
 - A couple of changes from Markus Niebel to enable Open Drain for MDIO
   on imx93-tqma9352 boards
 - A series from Peng Fan to enable wdog3 fsl,ext-reset-output support
   for NXP i.MX93 boards
 - A couple changes from Wei Fang to add NETC support for i.MX95
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmd6U+AUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM6d1wf+Ka0EO5GsrNy8TLs5NBMfSRpGiZmK
 v42FL/z4Hz74lwYRhQpEOQbQQPYYNgVQXOcPPgqmLj8+vUygDk9gHANmrw28S3i6
 Cg9nqFTO8BpLD0HNwjSmZqvksy48mnO4dDg/0Ci9k1yWRggiQpRU8N5wQAzWDng2
 GoExAWd00hpc7oFPMhthNO9MSE/fFPfRymifxyJ4La4GprCmTALG7F4ubGNOVBmf
 D1ZWcRicgTazJMpZKTZiuzle9x+V/JrEf3iIS6qykd0SSYJZjxpz6bA5hcYyqkYH
 eUg+SrTidS942uvnkhM8YD7vD46av0gLH6gpG7btVrSBoojzpvHdTEoC5w==
 =ophk
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJDIoACgkQYKtH/8kJ
 Uif/sg//afaJQEf3j64t1zQKwlxXptx9tczjN2HmnofCEwzmfx8oxLt9yCGB/pWI
 CKppqHMkz25VIVs2rlZxINssS0GLxVFl66VYo6Yl9IYKdr40dCFDi+s84ktBChBu
 o8hBX6AgczKEhrgpGNn9CA6VU4LSUX49hUp8uTLT3iwYlZCF8pRFMxGXWsZzNzmD
 d1EPUBZhW3DR7VleZxG9HwuC/CxHD/6LSu/WPKCFWPTe973c6CBbBfvNy51jZ4Ho
 f7Izh/TfNQEEdkRE1G1JCSMtk7VJ3zs76lOd6IXsNdkrGopXP74YQm2JxP9ZYJkR
 N4ZQ4A/6t7NsU/yaylue9H4t/G0gGleZDF4wjes4kV1RUe+wIpZDW6P5lXv3/JdG
 9e4LkUYk7t6RJyu9Gw7nFqQiRLQAmyG7JnllG9WJryk5LuqmLPGq2NSSB5DESXyn
 V5ZO0hIiRwb4i6ohtxxqJV8Sc9xWYWqubM5hcl6EHxJiSP41bJPSeS8tPTAY7EGC
 EDnfvgpUsf5oB5P2isuCkXrhrqm58FzvrMLvXZA5NfHEnxaJE5PidF4ivnYSZeyb
 UVvTayWFwNvhRlwndNrt91MH9NhRPh/jPGH+qSboGAp8bWny8dJ1q8ad5K7S5RCy
 4WDTEa2YyRXUE8OvM5IqwzIUAhrFNZr/sxmuh4UewogaZ6bGzbc=
 =50jj
 -----END PGP SIGNATURE-----

Merge tag 'imx-dt64-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt

i.MX arm64 device tree change for 6.14:

- Add simple-framebuffer support for imx8mn-bsh-smm-s2/pro board
  (Dario Binacchi)
- Add LVDS compatible string for imx8mm-phg board (Fabio Estevam)
- Add P3T1085 temperature sensor support for imx93-9x9-qsb board (Frank Li)
- Add support for i.MX8MP based aristainetos3 boards from ABB
  (Heiko Schocher)
- Add PCA9452 system PMIC support for imx93-14x14-evk board (Joy Zou)
- Support NXP LVDS to HDMI adapter cards for imx8mp-evk board with DT
  overlays (Liu Ying)
- A couple of changes from Markus Niebel to enable Open Drain for MDIO
  on imx93-tqma9352 boards
- A series from Peng Fan to enable wdog3 fsl,ext-reset-output support
  for NXP i.MX93 boards
- A couple changes from Wei Fang to add NETC support for i.MX95

* tag 'imx-dt64-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: dts: freescale: imx93-9x9-qsb: enable fsl,ext-reset-output for wdog3
  arm64: dts: freescale: imx93-14x14-evk: enable fsl,ext-reset-output for wdog3
  arm64: dts: freescale: imx93-11x11-evk: enable fsl,ext-reset-output for wdog3
  arm64: dts: imx95-19x19-evk: add ENETC 0 support
  arm64: dts: imx95: add NETC related nodes
  arm64: dts: imx8mm-phg: Add LVDS compatible string
  arm64: dts: imx93: add pca9452 support
  arm64: dts: imx8mn-bsh-smm-s2/pro: add simple-framebuffer
  arm64: dts: imx93-tqma9352-mba93xxla: enable Open Drain for MDIO
  arm64: dts: imx93-tqma9352-mba93xxca: enable Open Drain for MDIO
  arm64: dts: imx93-9x9-qsb: add temp-sensor nxp,p3t1085
  arm64: dts: imx8mp-evk: Add NXP LVDS to HDMI adapter cards
  arm64: dts: imx8mp-skov-revb-mi1010ait-1cp1: Set "media_disp2_pix" clock rate to 70MHz
  arm64: dts: imx8mp: add aristainetos3 board support
  arm64: dts: imx8mq-zii-ultra: remove #address-cells of eeprom@a4
  arm64: dts: imx: Switch to simple-audio-card,hp-det-gpios

Link: https://lore.kernel.org/r/20250105095139.714590-4-shawnguo2@yeah.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 14:41:30 +01:00
Arnd Bergmann
baba9e1db2 i.MX ARM device tree change for 6.14:
- Clean up TQMa7x device trees (Alexander Stein)
 - Correct node name pattern for mdio-gpio devices (Fabio Estevam)
 - Update deprecated GPIO properties for Generic ASoC Sound Card device
   (Geert Uytterhoeven)
 - Set USB dr_mode property to OTG explicitly for imx6qdl-sabresd based
   boards (Hui Wang)
 - Update MAINTAINERS entry for DH electronics DHSOM boards (Marek Vasut)
 - A series from Stefan Kerkmann to add phy-3p0-supply for usb phys
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmd6UIIUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM4j6AgAk1FMLUFE/xk502BEqOUXvQVaFfqv
 IYo2ZDZrCsijdvfSoNAmgeCbT7MUgk6bBTM74K8xLvQPUi4OAOmuIloWyQXnMeiU
 BL0BQt2t6a4HdufpicrMpcVeot4TqkuZ3BGJ1I8v9eYbjA8VikNbOx77kJLmK/l0
 hXvis1S7TOMkZaiV3yhWpgdQvxfHiLoRPjwyNd5SAh/K69fy1pe3cUKAR7toTpx7
 eG5Tk/mzLVY/rRX8/HuJ0Da3dyGUD45i11i94TVTkHbSTiiX6N8lqjwdVsuXHwYS
 ANi/F+2kBnRO0kFk7l5o/dE1+ITMEK7nCg4lDSKHESSeNzjBx+SFXCUV3Q==
 =yXWY
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJDE0ACgkQYKtH/8kJ
 UieFRw/+KCoIkdIaejroQs4KWN7VzzBod7+HzqNe4ZPHDh97M0qMQ8dKOvbTUlNf
 RMoHt1JnLAzpArZrgWN5lB7pqoBPQYfdft4gEmpEt85CIzuXn4EVXCS7FTxtxKmS
 eOiipfqyX8UVOQTokEYWOHTy6sSY09c4pCuHT0Ld56ev7fc+x5OFCxJi2lfXRzGt
 /S//fQUjttEBasWk50voUSUFswRdAKNJ0cn6rT3eEs8r06Y2Sz35qMaJ7G3+YD/E
 yrIcq3Jp2PrksJASbyzAXkLSoVw9FGds/avHK5yXk0A0uxnkmADH9MfMgZOb/1N5
 sAZkhplmcKwGX8WrjPIpcAsGHRqFC9E++4kYP9qA5K3OGAjemuzrNOdHX218o2t+
 M2lrlNEhxszEYZbn/i8kss3tIjRx0NoyHw6D7wAr7Or5vf9K4WKSnbt4M5+HP8bT
 ef7u+/3vZP1t7bXeWD8fi+fclxk3lDEsCsioPLd2S09J6ZRFy17o2zyvCv5w6Bo9
 LrnHzyYHiWl3yk9AiAqt1C11NtuVAvkgdFhgTl7bmxe689nGGLjKBccc/YBGk80E
 Ivhvj99+7O8pVrC9oCT4d3pBI7c67OY2a1Vw40Ls8ktGtWLwag7CEjJwltlF/GkD
 m95oKyzZU4N27+r67Mf2nU/O/TFcxQspjht/IdNADddW5NFvAXQ=
 =cQmc
 -----END PGP SIGNATURE-----

Merge tag 'imx-dt-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt

i.MX ARM device tree change for 6.14:

- Clean up TQMa7x device trees (Alexander Stein)
- Correct node name pattern for mdio-gpio devices (Fabio Estevam)
- Update deprecated GPIO properties for Generic ASoC Sound Card device
  (Geert Uytterhoeven)
- Set USB dr_mode property to OTG explicitly for imx6qdl-sabresd based
  boards (Hui Wang)
- Update MAINTAINERS entry for DH electronics DHSOM boards (Marek Vasut)
- A series from Stefan Kerkmann to add phy-3p0-supply for usb phys

* tag 'imx-dt-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: dts: imx: Use the correct mdio pattern
  ARM: dts: imx6qdl-sabresd: add dr_mode to usbotg
  ARM: dts: imx6qdl-apalis: Change to "adi,force-bt656-4"
  ARM: dts: imx6sx: add phy-3p0-supply to usb phys
  ARM: dts: imx6sl: add phy-3p0-supply to usb phys
  ARM: dts: imx6qdl: add phy-3p0-supply to usb phys
  MAINTAINERS: Update entry for DH electronics DHSOM SoMs and boards
  ARM: dts: imx7[d]-mba7: add Ethernet PHY IRQ support
  ARM: dts: imx7-mba7: Remove duplicated power supply
  ARM: dts: imx7-mba7: Fix SD card vmmc-supply
  ARM: dts: imx7-mba7: Add 3.3V and 5.0V regulators
  ARM: dts: imx7-tqma7: add missing vs-supply for LM75A (rev. 01xxx)
  ARM: dts: imx7-tqma7: Remove superfluous status="okay" property
  ARM: dts: imx7-mba7: remove LVDS transmitter regulator
  ARM: dts: imx: Switch to {hp,mic}-det-gpios

Link: https://lore.kernel.org/r/20250105095139.714590-3-shawnguo2@yeah.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 14:40:29 +01:00
Arnd Bergmann
e2287e9328 i.MX dt-bindings change for 6.14:
- Add compatibles for i.MX8MP based SoM and carrier from ABB
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmd6TFoUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM7JmAgApQZmi/iEzyy+WcUxDXyKoeP/jL5r
 WQrWHDvAIeIrEvqR+eb34MSy1gDrThk0XceegHF3w0wxnutz1isueIV7GwT4RBYs
 VDc3tcw3H+A3B86UdRgJ4k75ZavOYcMqy6KMQrdE4nUMcI0tegXFodpvDDiO8fSd
 b8kb6hux38zxLrFIljUdfALH3FV8uEZtUIh1iYlBmuLvI8N+uQTpinYnwKXmKrAs
 7gwgqIFVOmXyKjTCxdmvYqc8qjA+mOaR9wr0Bm49ceUS2hvptCR3KOPl5tnbc4qu
 H8EDrao5axaaACKZn7D8jIBXkpYS9HBoVupOnowkDj8GeqQ6kNIMzkGNEQ==
 =O9l8
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJDDUACgkQYKtH/8kJ
 UifU9A/9G7DpY1mb7S6vdt1TeBbzq2oMA8kqDSh8tXskrVPl9VZ4ERnhdONVT0JN
 WysTmjGGZQO5ZINo83Cgh+EBbRatFRL0gVMf1U7zBmbcenUqOn1Nx8T7/icKRHY5
 N4hjVgYJ9iVOkBwwOBxk7mAsEpfmRno/mjlR1G7Tp4PXKiVWbhQCbU8Qz/IKiJzS
 aXLnKpPLBSOtEiNnTd5c6kfMnW+R8AQv2tPfSkqeNz2T4P+SRGsKnmitWf7xtjOv
 T7qiFTHHB0yxlaoalRVhyveVDc4CnIQN0ikFrSxFCeXDQ7B6W4XM/88aLAbPJo5r
 sXuUc27kLOA4ncooBx97S/ZGT34eY2AKDT+yV6BeZoibn8qaIwaCuVJnlPyZmbXK
 P9WQ6Q3ZU9ShuOpMmZ8lBxMjqxRXc7l8p31MCZs+TTSUkNOXRAinISQNN/MdGr7A
 Bfu8mguRVvlM2zEEOQd98MPdP5hVAmruXEocSj+iAsQJWk7fQ7b2lIbCzWzmpyMZ
 laTnkVmp+G8CDJaK/qG7MO20KLGyknoboWFXSki64X/e+4q46EX7Lm0L+t8igQU7
 oKqqkBvELpwz30jcJwprFiWrdAo//0EkCTpkht/ai6yVOYgUilApMDqJZwcc3WAX
 08PG3ZJ/+BfCQY6NMV4bCoGLK7CiZ0cDdWbbJbqmUUV33h2ccRY=
 =xX5g
 -----END PGP SIGNATURE-----

Merge tag 'imx-bindings-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt

i.MX dt-bindings change for 6.14:

- Add compatibles for i.MX8MP based SoM and carrier from ABB

* tag 'imx-bindings-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  dt-bindings: arm: fsl: Add ABB SoM and carrier

Link: https://lore.kernel.org/r/20250105095139.714590-2-shawnguo2@yeah.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 14:40:05 +01:00
Arnd Bergmann
e736f2ad32 SoCFPGA DTS updates for v6.14
- Remove unused and undocumented property "snps,max-mtu"
 - Add gpio and spi node for Agilex5
 - Add VGIC maintenance interrupt for Agilex
 - Use correct reset name of "stmmaceth-ocp" instead of "ahb"
 - Drop unused #address-cells/#size-cells in the cyclone5-mcvevk
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEoHhMeiyk5VmwVMwNGZQEC4GjKPQFAmd3SrUACgkQGZQEC4Gj
 KPTCNBAAkwUbqeJvGjdZip5XD0f7bQYRoDB98cB0RiWoh53n71x5sVps41zXIZOW
 /8cvMD9G+qpnCox9hRq2PpJdz26wuiQPCs3Nh9yeOLvvVOBH0L8bf80CgKi8N8d/
 rosiAQdg63S2QNKMBvClwKyee9TX2JD8y6u3NyO/mqmMU8JbUj06VPAVldP4pOFF
 wiU7diEehD5KWFW6o2V3T/7sL2R9MIBKE9MuSO2u9OoaDvaKc4BsNOA6u4j7FuXA
 VSbfZDj9Q5fZEH1uM4YNSgsB2fcZjQGHHkmnx/YT0uJoxl7p2wHyX/wSvU67lf90
 eXDhkp1pWrxFxcQS03LoFMHTKQGFdeDa5l3JcyAE4fWM9LjQhIOHOuYUuDUrqoVt
 MvuI5YJvfdhP1U2gGHNH/K2MYtdKk3tsxe3h7OuSPsIF4sUSmDZ6C1WjEs7yZaVk
 PRj0NpxBF1fw8unhKVlQXowvgWlfwfmv5puAFc5g0ZsVGaAyf0BTqlud2okAlcr2
 xoZMOOMajwr89MKLmgnENimAyhvwhDCF4+a/QtdO2RDuLGSorLwLUIWxbLlLMKta
 M6D+yH45sTlyS4xOJeNu9KqV1YNDzSdVYMyU4NK2NZYEmAAWMdaCOSHzw7H7nXJS
 Y+DdqIW/HXF7YKye4Gg9Tu990G7RkLhiT3yk53AunUkC3t6E8Y8=
 =fpq7
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJC/8ACgkQYKtH/8kJ
 UidHXxAAwEGQGdEznZ9BtOSpK4o7FXj24P84losdB3UYLDc8VKSp9HaNgcdL5mXD
 152Z8fVxNXRVJmb1eb4oFRSGJErsDQLZRNXbHQwN8+7kFYdQxOL01XpfkneCcdPp
 8+Jjm5rPtNA//d2vXypWYyfre3qvojvHENZnFvtXhPzTGREGE8yzNjMB60vtdUaB
 tZd3h6oA1lGDFQdNTFZKhUrBlYPd/TyJMfs2DtMy7s+h65d260PB0WhZ6JSZTp3U
 78zIxNDwKXRNP6twQB+7uE1nfDISNUc8lldaNw7ifKMgTvymbasU4Ty9XZwFpwuw
 7RCQ7ub/5CGk2O+MarY9uuklLRGxqlqIBwjeE/dWe2kHosGJN1Fa2QoQqz0/d0VR
 NZXsB+WR0ZKiFLNXVrSgY0GLk5DmmosAk1WPnBDi9RD6P60eW57zivc4tGVWLKvK
 OHaNHY31lXXIbie8qFeW18dP2E6VPfxeywcMrZAMdHmvZB0dKFf62wFiL1K3fTUA
 blwqStUmhi+eynKt81FUPVj5f0CLRhLoH20yCUVUsJac3kh9BFZwEht5TeNrSPPp
 WBCi04Bkq4w+mXWCv24u4tWcdHZw+eetTzVcRAKQTi7Jj3NzCS4cAy5cdPTF219S
 87NqR/O6zC/OWNJc3qN+/1zbOTIXQsFOWX+9ZlTJG7sta+r52VQ=
 =WUez
 -----END PGP SIGNATURE-----

Merge tag 'socfpga_dts_updates_v6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into soc/dt

SoCFPGA DTS updates for v6.14
- Remove unused and undocumented property "snps,max-mtu"
- Add gpio and spi node for Agilex5
- Add VGIC maintenance interrupt for Agilex
- Use correct reset name of "stmmaceth-ocp" instead of "ahb"
- Drop unused #address-cells/#size-cells in the cyclone5-mcvevk

* tag 'socfpga_dts_updates_v6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  arm64: dts: altera: Remove unused and undocumented "snps,max-mtu" property
  arm64: dts: socfpga: agilex5: Add gpio0 node and spi dma handshake id
  arm64: dts: socfpga: agilex: Add VGIC maintenance interrupt
  arm: dts: socfpga: use reset-name "stmmaceth-ocp" instead of "ahb"
  ARM: dts: socfpga_cyclone5_mcvevk: Drop unused #address-cells/#size-cells

Link: https://lore.kernel.org/r/20250103023012.1268627-1-dinguyen@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 14:39:11 +01:00
Arnd Bergmann
596f35f9d3 ARM64: DT: HiSilicon ARM64 DT updates for v6.14
- Remove "enable-dma" and "bus-id" properties from the spi node on hi6220
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCgAzFiEEQeMYD8qOQTc1R/snC8hXbtmJZlwFAmdhcs4VHHh1d2VpNUBo
 aXNpbGljb24uY29tAAoJEAvIV27ZiWZcF7sP/RJZ75cGNyiW+qOi73r6RmnzKnPq
 9RSLlsieimjVxw7H3ljIpDCAsuodFmYrWXpX8ft0FUnqlDsFLfKxS6v/e8gauEnG
 ZNbWHtdsglOxjuC6YLMa2KPiR8BWrSVg/tp6iAPk8I+n6AlQ3qNOQ8WhWnqWKJX0
 IHpWolgEU2PzFH5O7S9nYpfpjsEXWaslkRkeT2gYFGuPOKyp65VlwvNOZMrtWNAE
 mtLbtxF/1QYN1NLaHZMFsoU+qmoHz+WnnQuRZkmdPBg157Dxuk5c4dr0VYu0wy7p
 +9YBzehYNqVOaFou1dXSHzUB3Py4OVQ9uVUwz01edr0lUh6nK+7O6CkLHUfnYeAt
 gcbfhB40952apxnutzUa9j/OZhYYdyeuRGDX4qB6ErQsmCtEy2xi54kRwxI7wnfJ
 UwywlSM5nVpleXKK2F8jHBfACmZi2Mcibw0kIkev68TLmhW2UA4QGcmLOIjLV1Ru
 jsqoyAuWXBK26TpmnlYfiElGySbNJ6FiAvX/L5LyhA4EHcTVNWncqR+GmEmqMAqY
 gxpvTn45TOg8uo/D0H6JBekDRz1NtRSXIYdTp7crLRCDR/efwI2YiKePBo8F7Ed4
 KdA3JOruKGf0sKaSGaMFGMDUVgXU+ngFX5auF+H6y4JX8fR7/lJx+nu94JW/gjvP
 RljhN0epWuOaYDGN
 =4Fvb
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJC88ACgkQYKtH/8kJ
 UifhshAAg3h2ur5yxASXJqZ19kOKpjvvOvpWYQHBgqnywqMeKHih0VgGOjddYnCA
 8tKYs+kOOH4Y+dXaYG7rTJ56j/k1u3152JhqTP73dsr7LcP+ZTBtuN2kxdSnbrnK
 TwhdBi6StM7bNA+14lF35xEioG4/lqc9ptUaTA+jCtSfKlUi06zauJQakElcc2v/
 bloK7+YNaCVf2YliQSjEJzEpl3LGxvuI1kH6gk8O3NV6eeCnm0Z/Rl14Xkyo9EZk
 N0DDY6mKFHWEhCGWKaqSGNreRuycPiECKnKAuSRZjc8KcS7rfppfy5tK2eAT3cpx
 da8zHOMRo+CD6oF/hbxaXaGRmik6QMvUOmOazDjr1QIlZh+WTXNBqQHYTIaqnflL
 rqcP6BtTv7flxH9suV01h0PS1KOBVE98A4ZhofruZqRYewmNghMKTvJcUKAjqOJq
 UmYCKsuSrUdOtvGZjVlGC9IGqCILrMIXibbwT0kC7BqdxuIdCud4kUoz+hGRArQD
 RgjcaXmmZbyee1EYITtgtcYkIRO3Ou/eUmA89AkA+umcpVqcfs3SCfH4Bimigi35
 moEDEsp8DmJH/h0JrbGf2LfHHKNlWlKcbuvpVyxlDflECAc3qiM8kP7/wI3Zs7R6
 ES4yGgEA+NiTSYIOayXg++IEDY3pCazCbF0RA7qBwQafyzAEgaQ=
 =kcbz
 -----END PGP SIGNATURE-----

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

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

- Remove "enable-dma" and "bus-id" properties from the spi node on hi6220

* tag 'hisi-arm64-dt-for-6.14' of https://github.com/hisilicon/linux-hisi:
  arm64: dts: hisilicon: Remove unused and undocumented "enable-dma" and "bus-id" properties

Link: https://lore.kernel.org/r/67767DCA.8060902@hisilicon.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 14:38:23 +01:00
Arnd Bergmann
d527a65d13 Minor improvements in ARM DTS for v6.14
1. Marvell: Use un-deprecated hp-det-gpios (no ABI impact expected).
 2. SoCFPGA: Drop spidev devices which are not properly described in DTS,
    but are using some other compatibles.  This was part of wider tree
    effort to fix such incorrect hardware descriptions.
 
    Important: Dropping this device node will have user-visible impact:
    spidev device will not register.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmdz8LAQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD17zLD/9GhkPb2L2UKbNqnIBse11jfmjmXNCEMB8K
 SihvQB+YSsRL6Y0Bmt6QsGYeeB3Rp93FL/XfuomWudulT+vn6aszY4HjUSLgXpQV
 3PK9Y3lSgjuEpWCxb6g/1PqukzOf2NSLdlSCvbiIJm2ciyFcR2VZMZ5kc29qDXct
 Lc6JFPWlI+JrH9JbOqoWkr21E4no9SYx/7XNJ4mWIMbpVtbGB1/W2YHbnMuT44vz
 PMLe8amfSC1S5uSQWhvcICORJujVLpCxAm9GUbVi6Bv8o3ccmCq6Ow57/BBUx2wz
 V5+8kZ9Yb3jglPvBYDocMPJPY1W8KzJXymYf23uCTiuVmhSrzGz38kzRcNjvBcLo
 biO6Q2+/n/p/Uoiun8jMK7wuVyNjg6ZLqOlQS3M2iOB6OFUZX1iR00JcRUefEdNc
 TZNShHstqV99Q2uEk6DMIhTu7TXn0VeelGzl324DImezyOKc8VXb3HrwQ1f3w+P6
 W9G0w90hPjw8FkycwoyrHfXqrMXU8DFQUPZPvKJeu5wEUJppzTDUAHCxYypTCgPR
 bj9s5zkARE9xFTVlBGPkiPfuFRngLhSvAnX7BGWQA2+jEfb3nkmqWLJJYyB4yMqC
 WOj58fJv8mJYeKGm2RniwkRnJdoQ1a99F4/LpRH/e75Aby0Nbig4Rd3FZgVHeRNB
 CvlXQDLpEw==
 =9jUW
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJC5oACgkQYKtH/8kJ
 UidI8A/9EXciZNAoJV4sgbQxFG5rs3sdj9f/8oaZ6bIUYqijZynijtxs3oUxvOSG
 NikjDut8mTapewuE413wbp9pk3r9Jpg5Fr01X/Cqwsb0hAzI00AJKAbDJqDPPa7w
 YNUTL+VSo6c8wkgujgwD3JH3k6gKz6AuR1OXpn3KZZPLdQJNCZeTMvSZmNkIFdBc
 IxU337/w4QuHB6f90QOoUyD2fCBwxWcmS1Jhj7FTLeDNSE5XPCx0o9woRcYdSehy
 jEVFp6CIGGgYJSLIMhosm5+FpSQdqvFU5mf0t1n6qNNV7VzMjIxjg9wOxF+GYU0e
 YsJ+HS04gjC2H1rB4DAu7RHnuugJZnctH4ZiYgELIPUMJCma2uIw2ERyoUpfp0Iz
 uaRZyMuQnSNd4e2g2mN7UAe5gGIH0n165fVPzcE5wqwGnkUWPRMunGALPviUZfNC
 HcheaeLdrNKCQEN2eL2kMtOJ8tKdeP8VwIJUx6t/2waGmI+1sMUBZiW4eT1lhGa+
 oberAyj3lxoBmOXyX/KFa9IQC2UyYakj8fC7sBx72OcybqSUOOpdbnInNIlNx2xf
 CDJjJ6NH7EkBM+7H+ImJ5lhKrAJgY/zI+u3hUcD/KJbDXdd5P1wLcEYfNh5M2NyE
 D/hRv/ElhfGhNKk01woGtCUmGS/CO46rgPwQzGRPLpz3qPKZa/I=
 =63gY
 -----END PGP SIGNATURE-----

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

Minor improvements in ARM DTS for v6.14

1. Marvell: Use un-deprecated hp-det-gpios (no ABI impact expected).
2. SoCFPGA: Drop spidev devices which are not properly described in DTS,
   but are using some other compatibles.  This was part of wider tree
   effort to fix such incorrect hardware descriptions.

   Important: Dropping this device node will have user-visible impact:
   spidev device will not register.

* tag 'dt-cleanup-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt:
  ARM: dts: socfpga: remove non-existent DAC from CycloneV devkit
  ARM: dts: marvell: mmp2-olpc-xo-1-75: Switch to {hp,mic}-det-gpios

Link: https://lore.kernel.org/r/20241231132847.135814-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 14:37:30 +01:00
Al Viro
0e7d523b5f ntsync: fix a file reference leak in drivers/misc/ntsync.c
struct ntsync_obj contains a reference to struct file
and that reference contributes to refcount - ntsync_alloc_obj()
grabs it.  Normally the object is destroyed (and reference
to obj->file dropped) in ntsync_obj_release().  However, in
case of ntsync_obj_get_fd() failure the object is destroyed
directly by its creator.

	That case should also drop obj->file; plain kfree(obj)
is not enough there - it ends up leaking struct file * reference.

	Take that logics into a helper (ntsync_free_obj()) and
use it in both codepaths that destroy ntsync_obj instances.

Fixes: b46271ec40 "ntsync: Introduce NTSYNC_IOC_CREATE_SEM"
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Reviewed-by: Elizabeth Figura <zfigura@codeweavers.com>
Link: https://lore.kernel.org/r/20250115025002.GA1977892@ZenIV
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-01-16 14:03:10 +01:00
Costa Shulyupin
2217573f4c scripts/tags.sh: Don't tag usages of DECLARE_BITMAP
For all bitmap declarations like
  DECLARE_BITMAP(x, y);
ctags generates multiple DECLARE_BITMAP tags for each usage
because it doesn't expand the DECLARE_BITMAP macro.

Configure ctags to skip generating tags for DECLARE_BITMAP in such cases.

The #define DECLARE_BITMAP itself and declared bitmaps are
tagged correctly.

Signed-off-by: Costa Shulyupin <costa.shul@redhat.com>
Link: https://lore.kernel.org/r/20250113085554.649141-1-costa.shul@redhat.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-01-16 14:03:10 +01:00
Greg Kroah-Hartman
797212a81c interconnect changes for 6.14
This pull request contains the interconnect changes for the 6.14-rc1 merge
 window. It contains one new driver and DT documentation updates for L3
 and bandwidth monitors.
 
 Driver changes:
 - New driver for the SM8750 platform
 - Add DT compatibles for QCS615 BWMON and SM8650 OSM
 
 Signed-off-by: Georgi Djakov <djakov@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJniPt0AAoJEIDQzArG2BZjuhAP/R+Ru2DtgMQX5EBCkAKKORWc
 FSOzWUjgL0kwP3lc9GMHTomyHDpP7ftiYjcodjg0dmt7Vbdo959YDwkzysWp9kb0
 uzQfE+ZVO8SSQ+JuGvzrL+nP5CB/ImTybpVRtsZY5GmLif4E9Wz9ZwDMKXy1F0/r
 oUhy8G3LwHUPmRvCZL3ASBOE05Yg43huLXCi6Lm4HTfC4dTZGyJYasgLnMMF90KH
 XZKy3oq9z1dUHzJS4tP4104mL9qkgeKaT2mM+NTM6RK1P39KcGmrq2YjiMLjwzvk
 0sbF53f4S9rDaPSOw2OuBUXqf8iYWglS9VXXgNTWovOYSahbQpJUaRks/kacUDIz
 6viqeqj78wwvQ9qYsKPbBScdQ0KuHbb4zzy5o6VE+m6oMDDFKIoyQGUY3o9ydNVl
 kwveT3hwQYpefIX7mddHsTfqMi54W5/Nwo4h3jH3vLuXDHnik3pjuppwyhEjD2aM
 ZB+Y/Q1+EmkWA173FjMyU15aQ8qmPZKEc+2CdBhWz+FsGPNzJBx5Rip+08Vu78CI
 O3Gnuki+GzVazatBVGRGlzGd29CinGl55zyz6rVlQHaP2cr5cafpZMPg4NJvUXvG
 krgbiuIe7akB+Z6f922RJzGmIvT9IIY1vwj0BjPGl/svjTk1lW0qE4MMDd/lnT3D
 8yo3cUinoos9S0MMQegA
 =eGKk
 -----END PGP SIGNATURE-----

Merge tag 'icc-6.14-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/djakov/icc into char-misc-next

Pull interconnect changes from Georgi:

interconnect changes for 6.14

This pull request contains the interconnect changes for the 6.14-rc1 merge
window. It contains one new driver and DT documentation updates for L3
and bandwidth monitors.

Driver changes:
- New driver for the SM8750 platform
- Add DT compatibles for QCS615 BWMON and SM8650 OSM

Signed-off-by: Georgi Djakov <djakov@kernel.org>

* tag 'icc-6.14-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/djakov/icc:
  dt-bindings: interconnect: qcom,msm8998-bwmon: Add SM8750 CPU BWMONs
  dt-bindings: interconnect: OSM L3: Document sm8650 OSM L3 compatible
  dt-bindings: interconnect: qcom-bwmon: Document QCS615 bwmon compatibles
  interconnect: sm8750: Add missing const to static qcom_icc_desc
  interconnect: qcom: Add interconnect provider driver for SM8750
  dt-bindings: interconnect: add interconnect bindings for SM8750
2025-01-16 14:01:40 +01:00
Frederic Weisbecker
dcf6230555 timers/migration: Simplify top level detection on group setup
Having a single group on a given level is enough to know this is the
top level, because a root has to have at least two children, unless that
root is the only group and the children are actual CPUs.

Simplify the test in tmigr_setup_groups() accordingly.

Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250114231507.21672-5-frederic@kernel.org
2025-01-16 14:01:09 +01:00
Greg Kroah-Hartman
3fb06981ce IIO: 2nd set of fixes for the 6.13 cycle.
Given timing so late in cycle and that they are all confined to
 specific drivers, it is fine for these to go upstream early in the
 6.14 cycle.
 
 hid-sensors
 - Handle processed attention channel rather than just returning
   an error.
 adi,ad3552r
 - Fix output ranges for ad3541r and ad3542r.
 - Clear the reset status flag so that we can pick up any resets
   during operation.
 adi,ad5791
 - Fix a misleading dt binding example where the sense of the
   interrupt was reversed.
 adi,ad7606
 - Fix some hard coded offsets that should be taking the number of
   channels on a particular part into account. These were missed
   due to some racing changes.
 ams,as73211
 - Fix an off by one in optimized path for just reading the colour
   channels.
 bosch,bme680
 - Fix type of variable passed as pointer, ensuring it works on
   big endian systems and doesn't expose uninitialized data.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEbilms4eEBlKRJoGxVIU0mcT0FogFAmeICcARHGppYzIzQGtl
 cm5lbC5vcmcACgkQVIU0mcT0Foj+phAAg2nQIkFUP1pWaLWNnPYDPZAT6T4N9J8O
 CYkVysYeO3iDotG875eEOKaG4UCXM9QfuNs/nZF8HYL3Hluq3OiKlDOYJEo2mAoD
 qUeQNfkWfzLE5OwqVQjcSpdOmQjbOyQNx4BNf52SV3VtcBHv+rl4M/x+ZLB8hRRc
 /9L57niQtqk0x7ARLLvx3XjBe+bWEGA8b/lV26c112XkJcsIlWxXTPQubafxUiur
 +IAEomDSMEfBnhc4I0oDnTxLsa/H1hKAVSPIe5xCDCUrk5pQoqiHweZS7QOz3pPV
 C3If+fxZA0uFNksrVFUGtwwJuWj5+ITueBrD72G9KQXQvyBr8tWQ0HHwD8jR9V19
 USeQ3w+H4AyNuvJ2GEvDGCZsBlH5AFuFByiGdoJFAXxdiu96MKumVb1bdTmrwGxq
 XCJZXPYRJAmS3qIePqJYw/9oUjVGPhWLPH+4VaToVi/TqTULmtLlVwsJ4HaYpVGx
 em3OJBHHl9fCafpu0Q6QDZ0tW1BFINltKTZ3kDndkPB/wgZoem1j8jnOOB6TWvjh
 aEQ0ygnIRwI5cPLVVPDNub5gi+XnKlCNwS171CTTIccOlxQwLeFu1Yq8pqc6a+Dq
 YNHzn2Q9vICTcdjpIVA0pOKvbhV+vx0apvdVBWd6cDhlO8YQ864/Wg2r+meGUC0R
 Dt2jKx/bMUY=
 =J9mF
 -----END PGP SIGNATURE-----

Merge tag 'iio-fixes-for-6.13b' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jic23/iio into char-misc-next

Merge from Jonathan:

IIO: 2nd set of fixes for the 6.13 cycle.

Given timing so late in cycle and that they are all confined to
specific drivers, it is fine for these to go upstream early in the
6.14 cycle.

hid-sensors
- Handle processed attention channel rather than just returning
  an error.
adi,ad3552r
- Fix output ranges for ad3541r and ad3542r.
- Clear the reset status flag so that we can pick up any resets
  during operation.
adi,ad5791
- Fix a misleading dt binding example where the sense of the
  interrupt was reversed.
adi,ad7606
- Fix some hard coded offsets that should be taking the number of
  channels on a particular part into account. These were missed
  due to some racing changes.
ams,as73211
- Fix an off by one in optimized path for just reading the colour
  channels.
bosch,bme680
- Fix type of variable passed as pointer, ensuring it works on
  big endian systems and doesn't expose uninitialized data.

* tag 'iio-fixes-for-6.13b' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jic23/iio:
  iio: dac: ad3552r-hs: clear reset status flag
  iio: dac: ad3552r-common: fix ad3541/2r ranges
  iio: chemical: bme680: Fix uninitialized variable in __bme680_read_raw()
  iio: light: as73211: fix channel handling in only-color triggered buffer
  dt-bindings: iio: dac: ad5791: ldac gpio is active low
  iio: hid-sensor-prox: Fix invalid read_raw for attention
  iio: adc: ad7606: Fix hardcoded offset in the ADC channels
2025-01-16 13:46:08 +01:00
Arnd Bergmann
925477396d Minor improvements in ARM64 DTS for v6.14
1. Spreadtrum:
    - Correct few issues pointed out by DT schema around properties and
      node names.
    - Move fuel-gauge from DTSI to DTS, because it belongs to the board.
    - Use undeprecated properties, like battery-detect-gpios, already
      supported by Linux.
 
 2. Uniphier: Use un-deprecated hp-det-gpios (no ABI impact expected).
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmdz8DcQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1x2OD/wKTRgxeiVafNc2rCXuAMskPYL64SXwzLFi
 x+0hSHCFIuzyVdwDONFL6SlT82umqr2ngMZbY6718di6vnkTV06yrJAQIiMS0H7R
 RM1giaZDhHaz+nySmZ6oPCmFjEApYxVed7RmuCyB4bvKsMf7zjqdLAohS7RIY08W
 djCm4Ffhk7uFywioeGjjt1sdRP4jWputNAhfq4PZ/Q6ByuWs3gNTfDQ7WU7cjaKg
 d/gP/+S6vGWdusXE2QmAADI+XMQ/ke4ktirq1uKE2jUAHYeBpob3DgM22WcQDebk
 8DifY18zKbHx1ugnbw5PkNc0josXbM01x/TaBkSq2MFcM70KW2z63mJmFWiJnitF
 U+jiylb1dR+VeAVgFLOBODlDk43aqTPEUOSbbdpVeA7OKNh8m+kC+U8PuSaZv7yU
 KP6RN0JuGArn7plXbeyZII4KAFLjAX8OdsmpwM5pbgBK5aWporMolqcLXT8vuKBF
 khWXIo06bmqn8jpaTzFOqWAoUuqkkSJE2717R/rJch4MSO6VX2Y/Cz+zMKdriQec
 f+1gOLUwcDz0AyVTNpLTcMZN6e9Ctqnl3iMLavkQeGVQ4PHdOpUFw8UTV8OBpaPx
 qzrbBY2MjuPEu8VdUOAWxloLlUencvyyhO1++X2OUihqZ74fXi0vlZ8WBh4rzaSd
 1EYKq0FoeA==
 =4hXT
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeI/hcACgkQYKtH/8kJ
 Uic4Ew//V1cj23JElcoQ3lDwqwRlO1NLsfsIDXGohwM9Vl0QkwJZN7B3g5wsthcz
 pBOXiS0M5luiS+o9W44tweJ0R68zkwFP4gGYZsuXH+so1mqx8CVfVF99RtbrLMmB
 aamCwp+9PgmMYLhIVpJ5Gi8q2CZ/wgl9Xx446jpMActptvXaTJPxkGz7cKxlflqa
 71/lnqzEYJ6neXRRUKSU7nntBZTHJCjbQXw1weCCX3FpbVYhsSGpE5l/OQQfkiA6
 w0rsqA3b4aW179I3AawQh/o7Kv6fWCXK51qbBB2qu/70xOe7ud4IRFOJbQgpYRyj
 h+Zgbae9T4F4CulHu/BtbNBWex3T250Dx/jhQy7Ic+TD0BHgDaDSYEe6/zOpy0vp
 cSmOVR5//oROVHvPHosc7pz6h99IcgcyC2HzUEIVehZ//73Xc1eC21snn/FzyP80
 N47sqwLmJBg3T1szB2iZ+qJJ5Q+nIOoICprQF7CzvpvJ5DBaclrWzhlBni/rhD0Y
 XgMeWzBoCVWynv3PGbBxXYmeOhjYhJbV7b0YnAPtFWwVPS/dSVP8qmlLDkAq0htO
 SglUgeZw3At7bSwkNOBqA+qC+smOQ+QVa960yyn3yld5sOYxvUAmls0eKmnsRRT1
 kNcGrEffEIt1PMRmZ0iUANrrcaish6Bk4PTUk84Ink0BO9tLHew=
 =Q7BZ
 -----END PGP SIGNATURE-----

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

Minor improvements in ARM64 DTS for v6.14

1. Spreadtrum:
   - Correct few issues pointed out by DT schema around properties and
     node names.
   - Move fuel-gauge from DTSI to DTS, because it belongs to the board.
   - Use undeprecated properties, like battery-detect-gpios, already
     supported by Linux.

2. Uniphier: Use un-deprecated hp-det-gpios (no ABI impact expected).

* tag 'dt64-cleanup-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt:
  arm64: dts: sprd: Fix battery-detect-gpios property
  arm64: dts: uniphier: Switch to hp-det-gpios
  arm64: dts: sprd: sc9863a: reorder clocks, clock-names per bindings
  arm64: dts: sprd: sc9863a: fix in-ports property
  arm64: dts: sprd: sc2731: move fuel-gauge monitored-battery to device DTS
  arm64: dts: sprd: sp9860g-1h10: fix factory-internal-resistance-micro-ohms property
  arm64: dts: sprd: sp9860g-1h10: fix constant-charge-voltage-max-microvolt property

Link: https://lore.kernel.org/r/20241231132847.135814-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 13:39:51 +01:00
Dave Penkler
9ed145e64f staging: gpib: Fix inadvertent negative shift
During the initial checkpatch cleanup, when removing blanks
after open parentheses, a minus sign in the argument of a shift
operation was deleted by mistake. This transformed a pre-decrement
operation into a negation.

The result of a negative shift is undefined and a warning was
signalled by sparse.

Restore the pre-decrement operation.

Fixes: 6c52d5e3cd ("staging: gpib: Add common include files for GPIB drivers")
Signed-off-by: Dave Penkler <dpenkler@gmail.com>
Link: https://lore.kernel.org/r/20250116110014.15577-1-dpenkler@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-01-16 13:23:35 +01:00
Jakub Kicinski
a50da36562 netdev: avoid CFI problems with sock priv helpers
Li Li reports that casting away callback type may cause issues
for CFI. Let's generate a small wrapper for each callback,
to make sure compiler sees the anticipated types.

Reported-by: Li Li <dualli@chromium.org>
Link: https://lore.kernel.org/CANBPYPjQVqmzZ4J=rVQX87a9iuwmaetULwbK_5_3YWk2eGzkaA@mail.gmail.com
Fixes: 170aafe35c ("netdev: support binding dma-buf to netdevice")
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Reviewed-by: Mina Almasry <almasrymina@google.com>
Link: https://patch.msgid.link/20250115161436.648646-1-kuba@kernel.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-01-16 13:15:40 +01:00
Koichiro Den
2f8dea1692 hrtimers: Handle CPU state correctly on hotplug
Consider a scenario where a CPU transitions from CPUHP_ONLINE to halfway
through a CPU hotunplug down to CPUHP_HRTIMERS_PREPARE, and then back to
CPUHP_ONLINE:

Since hrtimers_prepare_cpu() does not run, cpu_base.hres_active remains set
to 1 throughout. However, during a CPU unplug operation, the tick and the
clockevents are shut down at CPUHP_AP_TICK_DYING. On return to the online
state, for instance CFS incorrectly assumes that the hrtick is already
active, and the chance of the clockevent device to transition to oneshot
mode is also lost forever for the CPU, unless it goes back to a lower state
than CPUHP_HRTIMERS_PREPARE once.

This round-trip reveals another issue; cpu_base.online is not set to 1
after the transition, which appears as a WARN_ON_ONCE in enqueue_hrtimer().

Aside of that, the bulk of the per CPU state is not reset either, which
means there are dangling pointers in the worst case.

Address this by adding a corresponding startup() callback, which resets the
stale per CPU state and sets the online flag.

[ tglx: Make the new callback unconditionally available, remove the online
  	modification in the prepare() callback and clear the remaining
  	state in the starting callback instead of the prepare callback ]

Fixes: 5c0930ccaa ("hrtimers: Push pending hrtimers away from outgoing CPU earlier")
Signed-off-by: Koichiro Den <koichiro.den@canonical.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/all/20241220134421.3809834-1-koichiro.den@canonical.com
2025-01-16 13:06:14 +01:00
Tejas Upadhyay
75d37750a7 drm/xe/mmap: Add mmap support for PCI memory barrier
In order to avoid having userspace to use MI_MEM_FENCE,
we are adding a mechanism for userspace to generate a
PCI memory barrier with low overhead (avoiding IOCTL call
as well as writing to VRAM will adds some overhead).

This is implemented by memory-mapping a page as uncached
that is backed by MMIO on the dGPU and thus allowing userspace
to do memory write to the page without invoking an IOCTL.
We are selecting the MMIO so that it is not accessible from
the PCI bus so that the MMIO writes themselves are ignored,
but the PCI memory barrier will still take action as the MMIO
filtering will happen after the memory barrier effect.

When we detect special defined offset in mmap(), We are mapping
4K page which contains the last of page of doorbell MMIO range
to userspace for same purpose.

For user to query special offset we are adding special flag in
mmap_offset ioctl which needs to be passed as follows,
struct drm_xe_gem_mmap_offset mmo = {
        .handle = 0, /* this must be 0 */
        .flags = DRM_XE_MMAP_OFFSET_FLAG_PCI_BARRIER,
};
igt_ioctl(fd, DRM_IOCTL_XE_GEM_MMAP_OFFSET, &mmo);
map = mmap(NULL, size, PROT_WRITE, MAP_SHARED, fd, mmo);

IGT : b2dbc6f228
UMD : https://github.com/intel/compute-runtime/pull/772

V7:
  - Dgpu filter added
V6(MAuld)
  - Move physical mmap to fault handler
  - Modify kernel-doc and attach UMD PR when ready
V5(MAuld)
  - Return invalid early in case of non 4K PAGE_SIZE
  - Format kernel-doc and add note for 4K PAGE_SIZE HW limit
V4(MAuld)
  - Add kernel-doc for uapi change
  - Restrict page size to 4K
V3(MAuld)
  - Remove offset defination from UAPI to be able to change later
  - Edit commit message for special flag addition
V2(MAuld)
  - Add fault handler with dummy page to handle unplug device
  - Add Build check for special offset to be below normal start page
  - Test d3hot, mapping seems to be valid in d3hot as well
  - Add more info to commit message

Cc: Matthew Auld <matthew.auld@intel.com>
Acked-by: Michal Mrozek <michal.mrozek@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Signed-off-by: Tejas Upadhyay <tejas.upadhyay@intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250113114201.3178806-1-tejas.upadhyay@intel.com
2025-01-16 11:50:00 +00:00
Frederic Weisbecker
922efd298b timers/migration: Annotate accesses to ignore flag
The group's ignore flag is:

_ read under the group's lock (idle entry, remote expiry)
_ turned on/off under the group's lock (idle entry, remote expiry)
_ turned on locklessly on idle exit

When idle entry or remote expiry clear the "ignore" flag of a group, the
operation must be synchronized against other concurrent idle entry or
remote expiry to make sure the related group timer is never missed. To
enforce this synchronization, both "ignore" clear and read are
performed under the group lock.

On the contrary, whether idle entry or remote expiry manage to observe
the "ignore" flag turned on by a CPU exiting idle is a matter of
optimization. If that flag set is missed or cleared concurrently, the
worst outcome is a migrator wasting time remotely handling a "ghost"
timer. This is why the ignore flag can be set locklessly.

Unfortunately, the related lockless accesses are bare and miss
appropriate annotations. KCSAN rightfully complains:

		 BUG: KCSAN: data-race in __tmigr_cpu_activate / print_report

		 write to 0xffff88842fc28004 of 1 bytes by task 0 on cpu 0:
		 __tmigr_cpu_activate
		 tmigr_cpu_activate
		 timer_clear_idle
		 tick_nohz_restart_sched_tick
		 tick_nohz_idle_exit
		 do_idle
		 cpu_startup_entry
		 kernel_init
		 do_initcalls
		 clear_bss
		 reserve_bios_regions
		 common_startup_64

		 read to 0xffff88842fc28004 of 1 bytes by task 0 on cpu 1:
		 print_report
		 kcsan_report_known_origin
		 kcsan_setup_watchpoint
		 tmigr_next_groupevt
		 tmigr_update_events
		 tmigr_inactive_up
		 __walk_groups+0x50/0x77
		 walk_groups
		 __tmigr_cpu_deactivate
		 tmigr_cpu_deactivate
		 __get_next_timer_interrupt
		 timer_base_try_to_set_idle
		 tick_nohz_stop_tick
		 tick_nohz_idle_stop_tick
		 cpuidle_idle_call
		 do_idle

Although the relevant accesses could be marked as data_race(), the
"ignore" flag being read several times within the same
tmigr_update_events() function is confusing and error prone. Prefer
reading it once in that function and make use of similar/paired accesses
elsewhere with appropriate comments when necessary.

Reported-by: kernel test robot <oliver.sang@intel.com>
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250114231507.21672-4-frederic@kernel.org
Closes: https://lore.kernel.org/oe-lkp/202501031612.62e0c498-lkp@intel.com
2025-01-16 12:47:11 +01:00
Frederic Weisbecker
de3ced72a7 timers/migration: Enforce group initialization visibility to tree walkers
Commit 2522c84db513 ("timers/migration: Fix another race between hotplug
and idle entry/exit") fixed yet another race between idle exit and CPU
hotplug up leading to a wrong "0" value migrator assigned to the top
level. However there is yet another situation that remains unhandled:

         [GRP0:0]
      migrator  = TMIGR_NONE
      active    = NONE
      groupmask = 1
      /     \      \
     0       1     2..7
   idle      idle   idle

0) The system is fully idle.

         [GRP0:0]
      migrator  = CPU 0
      active    = CPU 0
      groupmask = 1
      /     \      \
     0       1     2..7
   active   idle   idle

1) CPU 0 is activating. It has done the cmpxchg on the top's ->migr_state
but it hasn't yet returned to __walk_groups().

         [GRP0:0]
      migrator  = CPU 0
      active    = CPU 0, CPU 1
      groupmask = 1
      /     \      \
     0       1     2..7
   active  active  idle

2) CPU 1 is activating. CPU 0 stays the migrator (still stuck in
__walk_groups(), delayed by #VMEXIT for example).

                    [GRP1:0]
                migrator = TMIGR_NONE
                active   = NONE
                groupmask = 1
             /                   \
         [GRP0:0]                  [GRP0:1]
      migrator  = CPU 0           migrator = TMIGR_NONE
      active    = CPU 0, CPU1     active   = NONE
      groupmask = 1               groupmask = 2
      /     \      \
     0       1     2..7                   8
   active  active  idle                !online

3) CPU 8 is preparing to boot. CPUHP_TMIGR_PREPARE is being ran by CPU 1
which has created the GRP0:1 and the new top GRP1:0 connected to GRP0:1
and GRP0:0. CPU 1 hasn't yet propagated its activation up to GRP1:0.

                    [GRP1:0]
               migrator = GRP0:0
               active   = GRP0:0
               groupmask = 1
             /                   \
         [GRP0:0]                  [GRP0:1]
     migrator  = CPU 0           migrator = TMIGR_NONE
     active    = CPU 0, CPU1     active   = NONE
     groupmask = 1               groupmask = 2
     /     \      \
    0       1     2..7                   8
  active  active  idle                !online

4) CPU 0 finally resumed after its #VMEXIT. It's in __walk_groups()
returning from tmigr_cpu_active(). The new top GRP1:0 is visible and
fetched and the pre-initialized groupmask of GRP0:0 is also visible.
As a result tmigr_active_up() is called to GRP1:0 with GRP0:0 as active
and migrator. CPU 0 is returning to __walk_groups() but suffers again
a #VMEXIT.

                    [GRP1:0]
               migrator = GRP0:0
               active   = GRP0:0
               groupmask = 1
             /                   \
         [GRP0:0]                  [GRP0:1]
     migrator  = CPU 0           migrator = TMIGR_NONE
     active    = CPU 0, CPU1     active   = NONE
     groupmask = 1               groupmask = 2
     /     \      \
    0       1     2..7                   8
  active  active  idle                 !online

5) CPU 1 propagates its activation of GRP0:0 to GRP1:0. This has no
   effect since CPU 0 did it already.

                    [GRP1:0]
               migrator = GRP0:0
               active   = GRP0:0, GRP0:1
               groupmask = 1
             /                   \
         [GRP0:0]                  [GRP0:1]
     migrator  = CPU 0           migrator = CPU 8
     active    = CPU 0, CPU1     active   = CPU 8
     groupmask = 1               groupmask = 2
     /     \      \                     \
    0       1     2..7                   8
  active  active  idle                 active

6) CPU 1 links CPU 8 to its group. CPU 8 boots and goes through
   CPUHP_AP_TMIGR_ONLINE which propagates activation.

                                   [GRP2:0]
                              migrator = TMIGR_NONE
                              active   = NONE
                              groupmask = 1
                             /                \
                    [GRP1:0]                    [GRP1:1]
               migrator = GRP0:0              migrator = TMIGR_NONE
               active   = GRP0:0, GRP0:1      active   = NONE
               groupmask = 1                  groupmask = 2
             /                   \
         [GRP0:0]                  [GRP0:1]                [GRP0:2]
     migrator  = CPU 0           migrator = CPU 8        migrator = TMIGR_NONE
     active    = CPU 0, CPU1     active   = CPU 8        active   = NONE
     groupmask = 1               groupmask = 2           groupmask = 0
     /     \      \                     \
    0       1     2..7                   8                  64
  active  active  idle                 active             !online

7) CPU 64 is booting. CPUHP_TMIGR_PREPARE is being ran by CPU 1
which has created the GRP1:1, GRP0:2 and the new top GRP2:0 connected to
GRP1:1 and GRP1:0. CPU 1 hasn't yet propagated its activation up to
GRP2:0.

                                   [GRP2:0]
                              migrator = 0 (!!!)
                              active   = NONE
                              groupmask = 1
                             /                \
                    [GRP1:0]                    [GRP1:1]
               migrator = GRP0:0              migrator = TMIGR_NONE
               active   = GRP0:0, GRP0:1      active   = NONE
               groupmask = 1                  groupmask = 2
             /                   \
         [GRP0:0]                  [GRP0:1]                [GRP0:2]
     migrator  = CPU 0           migrator = CPU 8        migrator = TMIGR_NONE
     active    = CPU 0, CPU1     active   = CPU 8        active   = NONE
     groupmask = 1               groupmask = 2           groupmask = 0
     /     \      \                     \
    0       1     2..7                   8                  64
  active  active  idle                 active             !online

8) CPU 0 finally resumed after its #VMEXIT. It's in __walk_groups()
returning from tmigr_cpu_active(). The new top GRP2:0 is visible and
fetched but the pre-initialized groupmask of GRP1:0 is not because no
ordering made its initialization visible. As a result tmigr_active_up()
may be called to GRP2:0 with a "0" child's groumask. Leaving the timers
ignored for ever when the system is fully idle.

The race is highly theoretical and perhaps impossible in practice but
the groupmask of the child is not the only concern here as the whole
initialization of the child is not guaranteed to be visible to any
tree walker racing against hotplug (idle entry/exit, remote handling,
etc...). Although the current code layout seem to be resilient to such
hazards, this doesn't tell much about the future.

Fix this with enforcing address dependency between group initialization
and the write/read to the group's parent's pointer. Fortunately that
doesn't involve any barrier addition in the fast paths.

Fixes: 10a0e6f3d3 ("timers/migration: Move hierarchy setup into cpuhotplug prepare callback")
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/all/20250114231507.21672-3-frederic@kernel.org
2025-01-16 12:47:11 +01:00
Frederic Weisbecker
b729cc1ec2 timers/migration: Fix another race between hotplug and idle entry/exit
Commit 10a0e6f3d3 ("timers/migration: Move hierarchy setup into
cpuhotplug prepare callback") fixed a race between idle exit and CPU
hotplug up leading to a wrong "0" value migrator assigned to the top
level. However there is still a situation that remains unhandled:

         [GRP0:0]
        migrator  = TMIGR_NONE
        active    = NONE
        groupmask = 0
        /     \      \
       0       1     2..7
     idle      idle   idle

0) The system is fully idle.

         [GRP0:0]
        migrator  = CPU 0
        active    = CPU 0
        groupmask = 0
        /     \      \
       0       1     2..7
     active   idle   idle

1) CPU 0 is activating. It has done the cmpxchg on the top's ->migr_state
but it hasn't yet returned to __walk_groups().

         [GRP0:0]
        migrator  = CPU 0
        active    = CPU 0, CPU 1
        groupmask = 0
        /     \      \
       0       1     2..7
     active  active  idle

2) CPU 1 is activating. CPU 0 stays the migrator (still stuck in
__walk_groups(), delayed by #VMEXIT for example).

                 [GRP1:0]
              migrator = TMIGR_NONE
              active   = NONE
              groupmask = 0
              /                  \
        [GRP0:0]                      [GRP0:1]
       migrator  = CPU 0           migrator = TMIGR_NONE
       active    = CPU 0, CPU1     active   = NONE
       groupmask = 2               groupmask = 1
       /     \      \
      0       1     2..7                   8
    active  active  idle              !online

3) CPU 8 is preparing to boot. CPUHP_TMIGR_PREPARE is being ran by CPU 1
which has created the GRP0:1 and the new top GRP1:0 connected to GRP0:1
and GRP0:0. The groupmask of GRP0:0 is now 2. CPU 1 hasn't yet
propagated its activation up to GRP1:0.

                 [GRP1:0]
              migrator = 0 (!!!)
              active   = NONE
              groupmask = 0
              /                  \
        [GRP0:0]                  [GRP0:1]
       migrator  = CPU 0           migrator = TMIGR_NONE
       active    = CPU 0, CPU1     active   = NONE
       groupmask = 2               groupmask = 1
       /     \      \
      0       1     2..7                   8
    active  active  idle                !online

4) CPU 0 finally resumed after its #VMEXIT. It's in __walk_groups()
returning from tmigr_cpu_active(). The new top GRP1:0 is visible and
fetched but the freshly updated groupmask of GRP0:0 may not be visible
due to lack of ordering! As a result tmigr_active_up() is called to
GRP0:0 with a child's groupmask of "0". This buggy "0" groupmask then
becomes the migrator for GRP1:0 forever. As a result, timers on a fully
idle system get ignored.

One possible fix would be to define TMIGR_NONE as "0" so that such a
race would have no effect. And after all TMIGR_NONE doesn't need to be
anything else. However this would leave an uncomfortable state machine
where gears happen not to break by chance but are vulnerable to future
modifications.

Keep TMIGR_NONE as is instead and pre-initialize to "1" the groupmask of
any newly created top level. This groupmask is guaranteed to be visible
upon fetching the corresponding group for the 1st time:

_ By the upcoming CPU thanks to CPU hotplug synchronization between the
  control CPU (BP) and the booting one (AP).

_ By the control CPU since the groupmask and parent pointers are
  initialized locally.

_ By all CPUs belonging to the same group than the control CPU because
  they must wait for it to ever become idle before needing to walk to
  the new top. The cmpcxhg() on ->migr_state then makes sure its
  groupmask is visible.

With this pre-initialization, it is guaranteed that if a future top level
is linked to an old one, it is walked through with a valid groupmask.

Fixes: 10a0e6f3d3 ("timers/migration: Move hierarchy setup into cpuhotplug prepare callback")
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/all/20250114231507.21672-2-frederic@kernel.org
2025-01-16 12:47:11 +01:00
Paolo Abeni
676d53a480 Merge branch 'mlx5-misc-fixes-2025-01-15'
Tariq Toukan says:

====================
mlx5 misc fixes 2025-01-15

This patchset provides misc bug fixes from the team to the mlx5 core and
Eth drivers.
====================

Link: https://patch.msgid.link/20250115113910.1990174-1-tariqt@nvidia.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-01-16 12:45:51 +01:00
Leon Romanovsky
7f95b02477 net/mlx5e: Always start IPsec sequence number from 1
According to RFC4303, section "3.3.3. Sequence Number Generation",
the first packet sent using a given SA will contain a sequence
number of 1.

This is applicable to both ESN and non-ESN mode, which was not covered
in commit mentioned in Fixes line.

Fixes: 3d42c8cc67 ("net/mlx5e: Ensure that IPsec sequence packet number starts from 1")
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-01-16 12:45:47 +01:00
Leon Romanovsky
25f23524df net/mlx5e: Rely on reqid in IPsec tunnel mode
All packet offloads SAs have reqid in it to make sure they have
corresponding policy. While it is not strictly needed for transparent
mode, it is extremely important in tunnel mode. In that mode, policy and
SAs have different match criteria.

Policy catches the whole subnet addresses, and SA catches the tunnel gateways
addresses. The source address of such tunnel is not known during egress packet
traversal in flow steering as it is added only after successful encryption.

As reqid is required for packet offload and it is unique for every SA,
we can safely rely on it only.

The output below shows the configured egress policy and SA by strongswan:

[leonro@vm ~]$ sudo ip x s
src 192.169.101.2 dst 192.169.101.1
        proto esp spi 0xc88b7652 reqid 1 mode tunnel
        replay-window 0 flag af-unspec esn
        aead rfc4106(gcm(aes)) 0xe406a01083986e14d116488549094710e9c57bc6 128
        anti-replay esn context:
         seq-hi 0x0, seq 0x0, oseq-hi 0x0, oseq 0x0
         replay_window 1, bitmap-length 1
         00000000
        crypto offload parameters: dev eth2 dir out mode packet

[leonro@064 ~]$ sudo ip x p
src 192.170.0.0/16 dst 192.170.0.0/16
        dir out priority 383615 ptype main
        tmpl src 192.169.101.2 dst 192.169.101.1
                proto esp spi 0xc88b7652 reqid 1 mode tunnel
        crypto offload parameters: dev eth2 mode packet

Fixes: b3beba1fb4 ("net/mlx5e: Allow policies with reqid 0, to support IKE policy holes")
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-01-16 12:45:47 +01:00
Leon Romanovsky
2c3688090f net/mlx5e: Fix inversion dependency warning while enabling IPsec tunnel
Attempt to enable IPsec packet offload in tunnel mode in debug kernel
generates the following kernel panic, which is happening due to two
issues:
1. In SA add section, the should be _bh() variant when marking SA mode.
2. There is not needed flush_workqueue in SA delete routine. It is not
needed as at this stage as it is removed from SADB and the running work
will be canceled later in SA free.

 =====================================================
 WARNING: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected
 6.12.0+ #4 Not tainted
 -----------------------------------------------------
 charon/1337 [HC0[0]:SC0[4]:HE1:SE0] is trying to acquire:
 ffff88810f365020 (&xa->xa_lock#24){+.+.}-{3:3}, at: mlx5e_xfrm_del_state+0xca/0x1e0 [mlx5_core]

 and this task is already holding:
 ffff88813e0f0d48 (&x->lock){+.-.}-{3:3}, at: xfrm_state_delete+0x16/0x30
 which would create a new lock dependency:
  (&x->lock){+.-.}-{3:3} -> (&xa->xa_lock#24){+.+.}-{3:3}

 but this new dependency connects a SOFTIRQ-irq-safe lock:
  (&x->lock){+.-.}-{3:3}

 ... which became SOFTIRQ-irq-safe at:
   lock_acquire+0x1be/0x520
   _raw_spin_lock_bh+0x34/0x40
   xfrm_timer_handler+0x91/0xd70
   __hrtimer_run_queues+0x1dd/0xa60
   hrtimer_run_softirq+0x146/0x2e0
   handle_softirqs+0x266/0x860
   irq_exit_rcu+0x115/0x1a0
   sysvec_apic_timer_interrupt+0x6e/0x90
   asm_sysvec_apic_timer_interrupt+0x16/0x20
   default_idle+0x13/0x20
   default_idle_call+0x67/0xa0
   do_idle+0x2da/0x320
   cpu_startup_entry+0x50/0x60
   start_secondary+0x213/0x2a0
   common_startup_64+0x129/0x138

 to a SOFTIRQ-irq-unsafe lock:
  (&xa->xa_lock#24){+.+.}-{3:3}

 ... which became SOFTIRQ-irq-unsafe at:
 ...
   lock_acquire+0x1be/0x520
   _raw_spin_lock+0x2c/0x40
   xa_set_mark+0x70/0x110
   mlx5e_xfrm_add_state+0xe48/0x2290 [mlx5_core]
   xfrm_dev_state_add+0x3bb/0xd70
   xfrm_add_sa+0x2451/0x4a90
   xfrm_user_rcv_msg+0x493/0x880
   netlink_rcv_skb+0x12e/0x380
   xfrm_netlink_rcv+0x6d/0x90
   netlink_unicast+0x42f/0x740
   netlink_sendmsg+0x745/0xbe0
   __sock_sendmsg+0xc5/0x190
   __sys_sendto+0x1fe/0x2c0
   __x64_sys_sendto+0xdc/0x1b0
   do_syscall_64+0x6d/0x140
   entry_SYSCALL_64_after_hwframe+0x4b/0x53

 other info that might help us debug this:

  Possible interrupt unsafe locking scenario:

        CPU0                    CPU1
        ----                    ----
   lock(&xa->xa_lock#24);
                                local_irq_disable();
                                lock(&x->lock);
                                lock(&xa->xa_lock#24);
   <Interrupt>
     lock(&x->lock);

  *** DEADLOCK ***

 2 locks held by charon/1337:
  #0: ffffffff87f8f858 (&net->xfrm.xfrm_cfg_mutex){+.+.}-{4:4}, at: xfrm_netlink_rcv+0x5e/0x90
  #1: ffff88813e0f0d48 (&x->lock){+.-.}-{3:3}, at: xfrm_state_delete+0x16/0x30

 the dependencies between SOFTIRQ-irq-safe lock and the holding lock:
 -> (&x->lock){+.-.}-{3:3} ops: 29 {
    HARDIRQ-ON-W at:
                     lock_acquire+0x1be/0x520
                     _raw_spin_lock_bh+0x34/0x40
                     xfrm_alloc_spi+0xc0/0xe60
                     xfrm_alloc_userspi+0x5f6/0xbc0
                     xfrm_user_rcv_msg+0x493/0x880
                     netlink_rcv_skb+0x12e/0x380
                     xfrm_netlink_rcv+0x6d/0x90
                     netlink_unicast+0x42f/0x740
                     netlink_sendmsg+0x745/0xbe0
                     __sock_sendmsg+0xc5/0x190
                     __sys_sendto+0x1fe/0x2c0
                     __x64_sys_sendto+0xdc/0x1b0
                     do_syscall_64+0x6d/0x140
                     entry_SYSCALL_64_after_hwframe+0x4b/0x53
    IN-SOFTIRQ-W at:
                     lock_acquire+0x1be/0x520
                     _raw_spin_lock_bh+0x34/0x40
                     xfrm_timer_handler+0x91/0xd70
                     __hrtimer_run_queues+0x1dd/0xa60
                     hrtimer_run_softirq+0x146/0x2e0
                     handle_softirqs+0x266/0x860
                     irq_exit_rcu+0x115/0x1a0
                     sysvec_apic_timer_interrupt+0x6e/0x90
                     asm_sysvec_apic_timer_interrupt+0x16/0x20
                     default_idle+0x13/0x20
                     default_idle_call+0x67/0xa0
                     do_idle+0x2da/0x320
                     cpu_startup_entry+0x50/0x60
                     start_secondary+0x213/0x2a0
                     common_startup_64+0x129/0x138
    INITIAL USE at:
                    lock_acquire+0x1be/0x520
                    _raw_spin_lock_bh+0x34/0x40
                    xfrm_alloc_spi+0xc0/0xe60
                    xfrm_alloc_userspi+0x5f6/0xbc0
                    xfrm_user_rcv_msg+0x493/0x880
                    netlink_rcv_skb+0x12e/0x380
                    xfrm_netlink_rcv+0x6d/0x90
                    netlink_unicast+0x42f/0x740
                    netlink_sendmsg+0x745/0xbe0
                    __sock_sendmsg+0xc5/0x190
                    __sys_sendto+0x1fe/0x2c0
                    __x64_sys_sendto+0xdc/0x1b0
                    do_syscall_64+0x6d/0x140
                    entry_SYSCALL_64_after_hwframe+0x4b/0x53
  }
  ... key      at: [<ffffffff87f9cd20>] __key.18+0x0/0x40

 the dependencies between the lock to be acquired
  and SOFTIRQ-irq-unsafe lock:
 -> (&xa->xa_lock#24){+.+.}-{3:3} ops: 9 {
    HARDIRQ-ON-W at:
                     lock_acquire+0x1be/0x520
                     _raw_spin_lock_bh+0x34/0x40
                     mlx5e_xfrm_add_state+0xc5b/0x2290 [mlx5_core]
                     xfrm_dev_state_add+0x3bb/0xd70
                     xfrm_add_sa+0x2451/0x4a90
                     xfrm_user_rcv_msg+0x493/0x880
                     netlink_rcv_skb+0x12e/0x380
                     xfrm_netlink_rcv+0x6d/0x90
                     netlink_unicast+0x42f/0x740
                     netlink_sendmsg+0x745/0xbe0
                     __sock_sendmsg+0xc5/0x190
                     __sys_sendto+0x1fe/0x2c0
                     __x64_sys_sendto+0xdc/0x1b0
                     do_syscall_64+0x6d/0x140
                     entry_SYSCALL_64_after_hwframe+0x4b/0x53
    SOFTIRQ-ON-W at:
                     lock_acquire+0x1be/0x520
                     _raw_spin_lock+0x2c/0x40
                     xa_set_mark+0x70/0x110
                     mlx5e_xfrm_add_state+0xe48/0x2290 [mlx5_core]
                     xfrm_dev_state_add+0x3bb/0xd70
                     xfrm_add_sa+0x2451/0x4a90
                     xfrm_user_rcv_msg+0x493/0x880
                     netlink_rcv_skb+0x12e/0x380
                     xfrm_netlink_rcv+0x6d/0x90
                     netlink_unicast+0x42f/0x740
                     netlink_sendmsg+0x745/0xbe0
                     __sock_sendmsg+0xc5/0x190
                     __sys_sendto+0x1fe/0x2c0
                     __x64_sys_sendto+0xdc/0x1b0
                     do_syscall_64+0x6d/0x140
                     entry_SYSCALL_64_after_hwframe+0x4b/0x53
    INITIAL USE at:
                    lock_acquire+0x1be/0x520
                    _raw_spin_lock_bh+0x34/0x40
                    mlx5e_xfrm_add_state+0xc5b/0x2290 [mlx5_core]
                    xfrm_dev_state_add+0x3bb/0xd70
                    xfrm_add_sa+0x2451/0x4a90
                    xfrm_user_rcv_msg+0x493/0x880
                    netlink_rcv_skb+0x12e/0x380
                    xfrm_netlink_rcv+0x6d/0x90
                    netlink_unicast+0x42f/0x740
                    netlink_sendmsg+0x745/0xbe0
                    __sock_sendmsg+0xc5/0x190
                    __sys_sendto+0x1fe/0x2c0
                    __x64_sys_sendto+0xdc/0x1b0
                    do_syscall_64+0x6d/0x140
                    entry_SYSCALL_64_after_hwframe+0x4b/0x53
  }
  ... key      at: [<ffffffffa078ff60>] __key.48+0x0/0xfffffffffff210a0 [mlx5_core]
  ... acquired at:
    __lock_acquire+0x30a0/0x5040
    lock_acquire+0x1be/0x520
    _raw_spin_lock_bh+0x34/0x40
    mlx5e_xfrm_del_state+0xca/0x1e0 [mlx5_core]
    xfrm_dev_state_delete+0x90/0x160
    __xfrm_state_delete+0x662/0xae0
    xfrm_state_delete+0x1e/0x30
    xfrm_del_sa+0x1c2/0x340
    xfrm_user_rcv_msg+0x493/0x880
    netlink_rcv_skb+0x12e/0x380
    xfrm_netlink_rcv+0x6d/0x90
    netlink_unicast+0x42f/0x740
    netlink_sendmsg+0x745/0xbe0
    __sock_sendmsg+0xc5/0x190
    __sys_sendto+0x1fe/0x2c0
    __x64_sys_sendto+0xdc/0x1b0
    do_syscall_64+0x6d/0x140
    entry_SYSCALL_64_after_hwframe+0x4b/0x53

 stack backtrace:
 CPU: 7 UID: 0 PID: 1337 Comm: charon Not tainted 6.12.0+ #4
 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
 Call Trace:
  <TASK>
  dump_stack_lvl+0x74/0xd0
  check_irq_usage+0x12e8/0x1d90
  ? print_shortest_lock_dependencies_backwards+0x1b0/0x1b0
  ? check_chain_key+0x1bb/0x4c0
  ? __lockdep_reset_lock+0x180/0x180
  ? check_path.constprop.0+0x24/0x50
  ? mark_lock+0x108/0x2fb0
  ? print_circular_bug+0x9b0/0x9b0
  ? mark_lock+0x108/0x2fb0
  ? print_usage_bug.part.0+0x670/0x670
  ? check_prev_add+0x1c4/0x2310
  check_prev_add+0x1c4/0x2310
  __lock_acquire+0x30a0/0x5040
  ? lockdep_set_lock_cmp_fn+0x190/0x190
  ? lockdep_set_lock_cmp_fn+0x190/0x190
  lock_acquire+0x1be/0x520
  ? mlx5e_xfrm_del_state+0xca/0x1e0 [mlx5_core]
  ? lockdep_hardirqs_on_prepare+0x400/0x400
  ? __xfrm_state_delete+0x5f0/0xae0
  ? lock_downgrade+0x6b0/0x6b0
  _raw_spin_lock_bh+0x34/0x40
  ? mlx5e_xfrm_del_state+0xca/0x1e0 [mlx5_core]
  mlx5e_xfrm_del_state+0xca/0x1e0 [mlx5_core]
  xfrm_dev_state_delete+0x90/0x160
  __xfrm_state_delete+0x662/0xae0
  xfrm_state_delete+0x1e/0x30
  xfrm_del_sa+0x1c2/0x340
  ? xfrm_get_sa+0x250/0x250
  ? check_chain_key+0x1bb/0x4c0
  xfrm_user_rcv_msg+0x493/0x880
  ? copy_sec_ctx+0x270/0x270
  ? check_chain_key+0x1bb/0x4c0
  ? lockdep_set_lock_cmp_fn+0x190/0x190
  ? lockdep_set_lock_cmp_fn+0x190/0x190
  netlink_rcv_skb+0x12e/0x380
  ? copy_sec_ctx+0x270/0x270
  ? netlink_ack+0xd90/0xd90
  ? netlink_deliver_tap+0xcd/0xb60
  xfrm_netlink_rcv+0x6d/0x90
  netlink_unicast+0x42f/0x740
  ? netlink_attachskb+0x730/0x730
  ? lock_acquire+0x1be/0x520
  netlink_sendmsg+0x745/0xbe0
  ? netlink_unicast+0x740/0x740
  ? __might_fault+0xbb/0x170
  ? netlink_unicast+0x740/0x740
  __sock_sendmsg+0xc5/0x190
  ? fdget+0x163/0x1d0
  __sys_sendto+0x1fe/0x2c0
  ? __x64_sys_getpeername+0xb0/0xb0
  ? do_user_addr_fault+0x856/0xe30
  ? lock_acquire+0x1be/0x520
  ? __task_pid_nr_ns+0x117/0x410
  ? lock_downgrade+0x6b0/0x6b0
  __x64_sys_sendto+0xdc/0x1b0
  ? lockdep_hardirqs_on_prepare+0x284/0x400
  do_syscall_64+0x6d/0x140
  entry_SYSCALL_64_after_hwframe+0x4b/0x53
 RIP: 0033:0x7f7d31291ba4
 Code: 7d e8 89 4d d4 e8 4c 42 f7 ff 44 8b 4d d0 4c 8b 45 c8 89 c3 44 8b 55 d4 8b 7d e8 b8 2c 00 00 00 48 8b 55 d8 48 8b 75 e0 0f 05 <48> 3d 00 f0 ff ff 77 34 89 df 48 89 45 e8 e8 99 42 f7 ff 48 8b 45
 RSP: 002b:00007f7d2ccd94f0 EFLAGS: 00000297 ORIG_RAX: 000000000000002c
 RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007f7d31291ba4
 RDX: 0000000000000028 RSI: 00007f7d2ccd96a0 RDI: 000000000000000a
 RBP: 00007f7d2ccd9530 R08: 00007f7d2ccd9598 R09: 000000000000000c
 R10: 0000000000000000 R11: 0000000000000297 R12: 0000000000000028
 R13: 00007f7d2ccd9598 R14: 00007f7d2ccd96a0 R15: 00000000000000e1
  </TASK>

Fixes: 4c24272b4e ("net/mlx5e: Listen to ARP events to update IPsec L2 headers in tunnel mode")
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-01-16 12:45:47 +01:00
Mark Zhang
5641e82cb5 net/mlx5: Clear port select structure when fail to create
Clear the port select structure on error so no stale values left after
definers are destroyed. That's because the mlx5_lag_destroy_definers()
always try to destroy all lag definers in the tt_map, so in the flow
below lag definers get double-destroyed and cause kernel crash:

  mlx5_lag_port_sel_create()
    mlx5_lag_create_definers()
      mlx5_lag_create_definer()     <- Failed on tt 1
        mlx5_lag_destroy_definers() <- definers[tt=0] gets destroyed
  mlx5_lag_port_sel_create()
    mlx5_lag_create_definers()
      mlx5_lag_create_definer()     <- Failed on tt 0
        mlx5_lag_destroy_definers() <- definers[tt=0] gets double-destroyed

 Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008
 Mem abort info:
   ESR = 0x0000000096000005
   EC = 0x25: DABT (current EL), IL = 32 bits
   SET = 0, FnV = 0
   EA = 0, S1PTW = 0
   FSC = 0x05: level 1 translation fault
 Data abort info:
   ISV = 0, ISS = 0x00000005, ISS2 = 0x00000000
   CM = 0, WnR = 0, TnD = 0, TagAccess = 0
   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
 user pgtable: 64k pages, 48-bit VAs, pgdp=0000000112ce2e00
 [0000000000000008] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000
 Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP
 Modules linked in: iptable_raw bonding ip_gre ip6_gre gre ip6_tunnel tunnel6 geneve ip6_udp_tunnel udp_tunnel ipip tunnel4 ip_tunnel rdma_ucm(OE) rdma_cm(OE) iw_cm(OE) ib_ipoib(OE) ib_cm(OE) ib_umad(OE) mlx5_ib(OE) ib_uverbs(OE) mlx5_fwctl(OE) fwctl(OE) mlx5_core(OE) mlxdevm(OE) ib_core(OE) mlxfw(OE) memtrack(OE) mlx_compat(OE) openvswitch nsh nf_conncount psample xt_conntrack xt_MASQUERADE nf_conntrack_netlink nfnetlink xfrm_user xfrm_algo xt_addrtype iptable_filter iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 br_netfilter bridge stp llc netconsole overlay efi_pstore sch_fq_codel zram ip_tables crct10dif_ce qemu_fw_cfg fuse ipv6 crc_ccitt [last unloaded: mlx_compat(OE)]
  CPU: 3 UID: 0 PID: 217 Comm: kworker/u53:2 Tainted: G           OE      6.11.0+ #2
  Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE
  Hardware name: QEMU KVM Virtual Machine, BIOS 0.0.0 02/06/2015
  Workqueue: mlx5_lag mlx5_do_bond_work [mlx5_core]
  pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
  pc : mlx5_del_flow_rules+0x24/0x2c0 [mlx5_core]
  lr : mlx5_lag_destroy_definer+0x54/0x100 [mlx5_core]
  sp : ffff800085fafb00
  x29: ffff800085fafb00 x28: ffff0000da0c8000 x27: 0000000000000000
  x26: ffff0000da0c8000 x25: ffff0000da0c8000 x24: ffff0000da0c8000
  x23: ffff0000c31f81a0 x22: 0400000000000000 x21: ffff0000da0c8000
  x20: 0000000000000000 x19: 0000000000000001 x18: 0000000000000000
  x17: 0000000000000000 x16: 0000000000000000 x15: 0000ffff8b0c9350
  x14: 0000000000000000 x13: ffff800081390d18 x12: ffff800081dc3cc0
  x11: 0000000000000001 x10: 0000000000000b10 x9 : ffff80007ab7304c
  x8 : ffff0000d00711f0 x7 : 0000000000000004 x6 : 0000000000000190
  x5 : ffff00027edb3010 x4 : 0000000000000000 x3 : 0000000000000000
  x2 : ffff0000d39b8000 x1 : ffff0000d39b8000 x0 : 0400000000000000
  Call trace:
   mlx5_del_flow_rules+0x24/0x2c0 [mlx5_core]
   mlx5_lag_destroy_definer+0x54/0x100 [mlx5_core]
   mlx5_lag_destroy_definers+0xa0/0x108 [mlx5_core]
   mlx5_lag_port_sel_create+0x2d4/0x6f8 [mlx5_core]
   mlx5_activate_lag+0x60c/0x6f8 [mlx5_core]
   mlx5_do_bond_work+0x284/0x5c8 [mlx5_core]
   process_one_work+0x170/0x3e0
   worker_thread+0x2d8/0x3e0
   kthread+0x11c/0x128
   ret_from_fork+0x10/0x20
  Code: a9025bf5 aa0003f6 a90363f7 f90023f9 (f9400400)
  ---[ end trace 0000000000000000 ]---

Fixes: dc48516ec7 ("net/mlx5: Lag, add support to create definers for LAG")
Signed-off-by: Mark Zhang <markzhang@nvidia.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-01-16 12:45:47 +01:00
Chris Mi
2011a2a18e net/mlx5: SF, Fix add port error handling
If failed to add SF, error handling doesn't delete the SF from the
SF table. But the hw resources are deleted. So when unload driver,
hw resources will be deleted again. Firmware will report syndrome
0x68def3 which means "SF is not allocated can not deallocate".

Fix it by delete SF from SF table if failed to add SF.

Fixes: 2597ee190b ("net/mlx5: Call mlx5_sf_id_erase() once in mlx5_sf_dealloc()")
Signed-off-by: Chris Mi <cmi@nvidia.com>
Reviewed-by: Shay Drori <shayd@nvidia.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-01-16 12:45:47 +01:00
Yishai Hadas
1b10a519a4 net/mlx5: Fix a lockdep warning as part of the write combining test
Fix a lockdep warning [1] observed during the write combining test.

The warning indicates a potential nested lock scenario that could lead
to a deadlock.

However, this is a false positive alarm because the SF lock and its
parent lock are distinct ones.

The lockdep confusion arises because the locks belong to the same object
class (i.e., struct mlx5_core_dev).

To resolve this, the code has been refactored to avoid taking both
locks. Instead, only the parent lock is acquired.

[1]
raw_ethernet_bw/2118 is trying to acquire lock:
[  213.619032] ffff88811dd75e08 (&dev->wc_state_lock){+.+.}-{3:3}, at:
               mlx5_wc_support_get+0x18c/0x210 [mlx5_core]
[  213.620270]
[  213.620270] but task is already holding lock:
[  213.620943] ffff88810b585e08 (&dev->wc_state_lock){+.+.}-{3:3}, at:
               mlx5_wc_support_get+0x10c/0x210 [mlx5_core]
[  213.622045]
[  213.622045] other info that might help us debug this:
[  213.622778]  Possible unsafe locking scenario:
[  213.622778]
[  213.623465]        CPU0
[  213.623815]        ----
[  213.624148]   lock(&dev->wc_state_lock);
[  213.624615]   lock(&dev->wc_state_lock);
[  213.625071]
[  213.625071]  *** DEADLOCK ***
[  213.625071]
[  213.625805]  May be due to missing lock nesting notation
[  213.625805]
[  213.626522] 4 locks held by raw_ethernet_bw/2118:
[  213.627019]  #0: ffff88813f80d578 (&uverbs_dev->disassociate_srcu){.+.+}-{0:0},
                at: ib_uverbs_ioctl+0xc4/0x170 [ib_uverbs]
[  213.628088]  #1: ffff88810fb23930 (&file->hw_destroy_rwsem){.+.+}-{3:3},
                at: ib_init_ucontext+0x2d/0xf0 [ib_uverbs]
[  213.629094]  #2: ffff88810fb23878 (&file->ucontext_lock){+.+.}-{3:3},
                at: ib_init_ucontext+0x49/0xf0 [ib_uverbs]
[  213.630106]  #3: ffff88810b585e08 (&dev->wc_state_lock){+.+.}-{3:3},
                at: mlx5_wc_support_get+0x10c/0x210 [mlx5_core]
[  213.631185]
[  213.631185] stack backtrace:
[  213.631718] CPU: 1 UID: 0 PID: 2118 Comm: raw_ethernet_bw Not tainted
               6.12.0-rc7_internal_net_next_mlx5_89a0ad0 #1
[  213.632722] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS
               rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
[  213.633785] Call Trace:
[  213.634099]
[  213.634393]  dump_stack_lvl+0x7e/0xc0
[  213.634806]  print_deadlock_bug+0x278/0x3c0
[  213.635265]  __lock_acquire+0x15f4/0x2c40
[  213.635712]  lock_acquire+0xcd/0x2d0
[  213.636120]  ? mlx5_wc_support_get+0x18c/0x210 [mlx5_core]
[  213.636722]  ? mlx5_ib_enable_lb+0x24/0xa0 [mlx5_ib]
[  213.637277]  __mutex_lock+0x81/0xda0
[  213.637697]  ? mlx5_wc_support_get+0x18c/0x210 [mlx5_core]
[  213.638305]  ? mlx5_wc_support_get+0x18c/0x210 [mlx5_core]
[  213.638902]  ? rcu_read_lock_sched_held+0x3f/0x70
[  213.639400]  ? mlx5_wc_support_get+0x18c/0x210 [mlx5_core]
[  213.640016]  mlx5_wc_support_get+0x18c/0x210 [mlx5_core]
[  213.640615]  set_ucontext_resp+0x68/0x2b0 [mlx5_ib]
[  213.641144]  ? debug_mutex_init+0x33/0x40
[  213.641586]  mlx5_ib_alloc_ucontext+0x18e/0x7b0 [mlx5_ib]
[  213.642145]  ib_init_ucontext+0xa0/0xf0 [ib_uverbs]
[  213.642679]  ib_uverbs_handler_UVERBS_METHOD_GET_CONTEXT+0x95/0xc0
                [ib_uverbs]
[  213.643426]  ? _copy_from_user+0x46/0x80
[  213.643878]  ib_uverbs_cmd_verbs+0xa6b/0xc80 [ib_uverbs]
[  213.644426]  ? ib_uverbs_handler_UVERBS_METHOD_INVOKE_WRITE+0x130/0x130
               [ib_uverbs]
[  213.645213]  ? __lock_acquire+0xa99/0x2c40
[  213.645675]  ? lock_acquire+0xcd/0x2d0
[  213.646101]  ? ib_uverbs_ioctl+0xc4/0x170 [ib_uverbs]
[  213.646625]  ? reacquire_held_locks+0xcf/0x1f0
[  213.647102]  ? do_user_addr_fault+0x45d/0x770
[  213.647586]  ib_uverbs_ioctl+0xe0/0x170 [ib_uverbs]
[  213.648102]  ? ib_uverbs_ioctl+0xc4/0x170 [ib_uverbs]
[  213.648632]  __x64_sys_ioctl+0x4d3/0xaa0
[  213.649060]  ? do_user_addr_fault+0x4a8/0x770
[  213.649528]  do_syscall_64+0x6d/0x140
[  213.649947]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
[  213.650478] RIP: 0033:0x7fa179b0737b
[  213.650893] Code: ff ff ff 85 c0 79 9b 49 c7 c4 ff ff ff ff 5b 5d 4c
               89 e0 41 5c c3 66 0f 1f 84 00 00 00 00 00 f3 0f 1e fa b8
               10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d
               7d 2a 0f 00 f7 d8 64 89 01 48
[  213.652619] RSP: 002b:00007ffd2e6d46e8 EFLAGS: 00000246 ORIG_RAX:
               0000000000000010
[  213.653390] RAX: ffffffffffffffda RBX: 00007ffd2e6d47f8 RCX:
               00007fa179b0737b
[  213.654084] RDX: 00007ffd2e6d47e0 RSI: 00000000c0181b01 RDI:
               0000000000000003
[  213.654767] RBP: 00007ffd2e6d47c0 R08: 00007fa1799be010 R09:
               0000000000000002
[  213.655453] R10: 00007ffd2e6d4960 R11: 0000000000000246 R12:
               00007ffd2e6d487c
[  213.656170] R13: 0000000000000027 R14: 0000000000000001 R15:
               00007ffd2e6d4f70

Fixes: d98995b4bf ("net/mlx5: Reimplement write combining test")
Signed-off-by: Yishai Hadas <yishaih@nvidia.com>
Reviewed-by: Michael Guralnik <michaelgur@nvidia.com>
Reviewed-by: Larysa Zaremba <larysa.zaremba@intel.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-01-16 12:45:47 +01:00
Patrisious Haddad
c08d3e62b2 net/mlx5: Fix RDMA TX steering prio
User added steering rules at RDMA_TX were being added to the first prio,
which is the counters prio.
Fix that so that they are correctly added to the BYPASS_PRIO instead.

Fixes: 24670b1a31 ("net/mlx5: Add support for RDMA TX steering")
Signed-off-by: Patrisious Haddad <phaddad@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-01-16 12:45:47 +01:00
Tomi Valkeinen
1ee1bb64f7
drm: xlnx: zynqmp_dpsub: Fix kernel doc
Fix two kernel doc warnings introduced by the recent DP audio patch:

- Add a doc line for the new "audio" field
- Remove a reference to zynqmp_dpsub.c from zynqmp.rst, as the .c file
  no longer has structured comments

Fixes: 3ec5c15793 ("drm: xlnx: zynqmp_dpsub: Add DP audio support")
Closes: https://lore.kernel.org/all/20241220154208.720d990b@canb.auug.org.au/
Reviewed-by: Vishal Sagar <vishal.sagar@amd.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241220-xilinx-dp-audio-doc-fix-v1-1-cc488996e463@ideasonboard.com
(cherry picked from commit 96b5d2e807)
Signed-off-by: Maxime Ripard <mripard@kernel.org>
2025-01-16 12:45:16 +01:00
Paolo Abeni
b44e27b4df Merge branch 'net-stmmac-rx-performance-improvement'
Furong Xu says:

====================
net: stmmac: RX performance improvement

This series improves RX performance a lot, ~40% TCP RX throughput boost
has been observed with DWXGMAC CORE 3.20a running on Cortex-A65 CPUs:
from 2.18 Gbits/sec increased to 3.06 Gbits/sec.
====================

Link: https://patch.msgid.link/cover.1736910454.git.0x1207@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-01-16 12:14:24 +01:00
Furong Xu
204182edb3 net: stmmac: Convert prefetch() to net_prefetch() for received frames
The size of DMA descriptors is 32 bytes at most.
net_prefetch() for received frames, and keep prefetch() for descriptors.

This patch brings ~4.8% driver performance improvement in a TCP RX
throughput test with iPerf tool on a single isolated Cortex-A65 CPU
core, 2.92 Gbits/sec increased to 3.06 Gbits/sec.

Suggested-by: Joe Damato <jdamato@fastly.com>
Signed-off-by: Furong Xu <0x1207@gmail.com>
Reviewed-by: Yanteng Si <si.yanteng@linux.dev>
Reviewed-by: Larysa Zaremba <larysa.zaremba@intel.com>
Reviewed-by: Joe Damato <jdamato@fastly.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-01-16 12:14:23 +01:00
Furong Xu
2a2931517c net: stmmac: Optimize cache prefetch in RX path
Current code prefetches cache lines for the received frame first, and
then dma_sync_single_for_cpu() against this frame, this is wrong.
Cache prefetch should be triggered after dma_sync_single_for_cpu().

This patch brings ~2.8% driver performance improvement in a TCP RX
throughput test with iPerf tool on a single isolated Cortex-A65 CPU
core, 2.84 Gbits/sec increased to 2.92 Gbits/sec.

Signed-off-by: Furong Xu <0x1207@gmail.com>
Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com>
Reviewed-by: Yanteng Si <si.yanteng@linux.dev>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-01-16 12:14:23 +01:00
Furong Xu
2324c78a75 net: stmmac: Set page_pool_params.max_len to a precise size
DMA engine will always write no more than dma_buf_sz bytes of a received
frame into a page buffer, the remaining spaces are unused or used by CPU
exclusively.
Setting page_pool_params.max_len to almost the full size of page(s) helps
nothing more, but wastes more CPU cycles on cache maintenance.

For a standard MTU of 1500, then dma_buf_sz is assigned to 1536, and this
patch brings ~16.9% driver performance improvement in a TCP RX
throughput test with iPerf tool on a single isolated Cortex-A65 CPU
core, from 2.43 Gbits/sec increased to 2.84 Gbits/sec.

Signed-off-by: Furong Xu <0x1207@gmail.com>
Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com>
Reviewed-by: Yanteng Si <si.yanteng@linux.dev>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-01-16 12:14:22 +01:00
Furong Xu
df542f6693 net: stmmac: Switch to zero-copy in non-XDP RX path
Avoid memcpy in non-XDP RX path by marking all allocated SKBs to
be recycled in the upper network stack.

This patch brings ~11.5% driver performance improvement in a TCP RX
throughput test with iPerf tool on a single isolated Cortex-A65 CPU
core, from 2.18 Gbits/sec increased to 2.43 Gbits/sec.

Signed-off-by: Furong Xu <0x1207@gmail.com>
Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com>
Reviewed-by: Larysa Zaremba <larysa.zaremba@intel.com>
Reviewed-by: Yanteng Si <si.yanteng@linux.dev>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-01-16 12:14:22 +01:00
Christian Brauner
c859df526b
Merge patch series "lockref cleanups"
Christoph Hellwig <hch@lst.de> says:

This series has a bunch of cosmetic cleanups for the lockref code I came up
with when reading the code in preparation of adding a new user of it.

* patches from https://lore.kernel.org/r/20250115094702.504610-1-hch@lst.de:
  gfs2: use lockref_init for qd_lockref
  erofs: use lockref_init for pcl->lockref
  dcache: use lockref_init for d_lockref
  lockref: add a lockref_init helper
  lockref: drop superfluous externs
  lockref: use bool for false/true returns
  lockref: improve the lockref_get_not_zero description
  lockref: remove lockref_put_not_zero

Link: https://lore.kernel.org/r/20250115094702.504610-1-hch@lst.de
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-01-16 11:48:12 +01:00
Christoph Hellwig
3e652eba24
gfs2: use lockref_init for qd_lockref
Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20250115094702.504610-9-hch@lst.de
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-01-16 11:48:12 +01:00
Christoph Hellwig
6f86f1465b
erofs: use lockref_init for pcl->lockref
Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20250115094702.504610-8-hch@lst.de
Reviewed-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-01-16 11:48:12 +01:00
Christoph Hellwig
8c32b87c4f
dcache: use lockref_init for d_lockref
Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20250115094702.504610-7-hch@lst.de
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-01-16 11:48:11 +01:00
Christoph Hellwig
63440d1c6d
lockref: add a lockref_init helper
Add a helper to initialize the lockdep, that is initialize the spinlock
and set a value.  Having to open code them isn't a big deal, but having
an initializer feels right for a proper primitive.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20250115094702.504610-6-hch@lst.de
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-01-16 11:48:11 +01:00
Christoph Hellwig
25d8060418
lockref: drop superfluous externs
Drop the superfluous externs from the remaining prototypes in lockref.h.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20250115094702.504610-5-hch@lst.de
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-01-16 11:48:11 +01:00