Commit graph

1,309,163 commits

Author SHA1 Message Date
Arnd Bergmann
d32d0c26ed i.MX defconfig changes for 6.12:
- Enable ADP5585 GPIO and PWM drivers in arm64 defconfig, which are
   needed by i.MX93 11x11 EVK board.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmbYbXIUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM7mpQgAvNtDGFpddY5F/DnDgmebNBo981Xc
 sX9v+8hjimuxdlVhuFh2CeQT737SCMzOtE0MMtg/VYh0Lu3cLISOuFxEZ3TCuUa6
 zkmNKJTp5DjNYo0/QLwbuqiKgRIux6eaFMx5AXXBLUREXhgZrxUBeb57yI8K+hog
 M40vDZ2Nm0rZrvN/Qh2lMdk9yV79ll1K9zukBnedqq7T62Ipyl0IYlFbj8suqlE6
 tgHDCvOY3qZngO7aXowhW3LHjrInXNLdyLycFJtVKPfayF17pXGQJD04a7q2pkJi
 nuCTGKcsfbyzZJTNS85DcedAw4pJMRG9+71zQfY71EOW9usY0Zc1utHWNw==
 =oSYa
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZhBEACgkQYKtH/8kJ
 Uic/ixAAmzk3MSKuxn8aSE7BZn/qcIATLlhRPnfuZRZdbne0CWxkkAI0lRUjuwxL
 a1Epj3BwvLbwX+3/wyhFFoSaXdCs+O08zQaauuN80SGf3C2ezLym4PZ4DumrL5zR
 EdbXnbqvMp6YVK8+uBaYnbIEUw6KFbnwoXGYLNvn+ndfvoR739efQOeampml+1nw
 L4quOuWBLD3VxbP0hh8YME2Wfeu7W1iR5KrHN5ykSIMq8h5xsBdyS+v5B/hifG1m
 penmV4jxLOHIz9IuaSi3r4LEuow3oRQdnaMHAgdL0NXRg1uFB9yK8PbwtUWMvNVR
 6/kEXSmYLwA6t44s+pMhfyk+qLgdx8ZFUxMkdmiQ+i4mVeYXOG1un41DoB9DE3EX
 4pEf7rDMsc+buryRbZl9O4w1ky9u674QingaDkKAT8DMo79N0I6qmGc2jsbkYsMy
 MUDejKoGzHysMs+6JatwQEh5S4ufzL2aJbfRtW1nD80Kii8qUkgc40XcwPanq5/s
 BPu8RXsngycarpNoe8aU8LxnnxVm3UaMvaFBJaCdGUEqr/d3AdJTzvm/nHw4arrN
 zWYNLZiTss1rmlnazm86ucpnhdgeoQz9hSwCzYnGgY92+cCW6NyAK6kGbMJFyW3t
 jNy80McjfCcAgKBgBc+SSkY+knfWuSB9HHYFOGPJmwvB5Gmn0uc=
 =6iSo
 -----END PGP SIGNATURE-----

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

i.MX defconfig changes for 6.12:

- Enable ADP5585 GPIO and PWM drivers in arm64 defconfig, which are
  needed by i.MX93 11x11 EVK board.

* tag 'imx-defconfig-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: defconfig: Enable ADP5585 GPIO and PWM drivers

Link: https://lore.kernel.org/r/20240904143439.211552-6-shawnguo2@yeah.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 10:12:33 +00:00
Arnd Bergmann
714dfb9556 TI K3 defconfig updates for v6.12
- Enable E5010 JPEG Encoder as kernel module
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmbXKdQACgkQ3bWEnRc2
 JJ2tkQ/8C+ldmH7wmyjWQCJlz3JSMgf/2T0ji5NWs+2L5U7JXEUuKXwmZEDZPq6Y
 d9EA2wzVuHLCEX76oeb0QFdBf2XSpjhf6bzhog9zcjpHGiJYuY4f7ewsDCm08xKU
 81pWaWODYYcAideNehzwI7VCDZuXFdoXIfq3nQ/bJOreOlYO2Hf+jJI42Rea1AfO
 k72W5L/Mrdhg74xSE48fbU14yTlVa3GBb18tec/iEEUdcQNpm138Z0rOfr6Knfgu
 j5NpAorp1O8ciyfdth2sIc+8rFicTEocH08xMsn3xJCvsiiTjYQyEnr99Bm466o0
 mQfNaScsdzPpE5TiwWql6PQWu8wK8HREzUL6BzbGxkXRa7pzcdD3CXnfJap7uxFj
 wUJaSzsDSFyHcQd8SAzLQBapQGhbb2kZ9UTFeeEAUCZQNSqT/vtfwOm6fNAln4wR
 hLiPIwljBDWXvlxMv35MNIPcotNjsMuB4NW8RhaOzyP6njDTCktf8xoNCHUEoqgn
 kKXTtRt4CWs1qfdMcfQWO6Sz4CDDGndun8MXJozUGrR8M68TvzONbU+yvmHag5zL
 70NIi9SSzoCudy4OW7ECLEAFMJ1TSm4K74nfu3UwHKO1mrCmSxOxMctYo2E7JAx3
 /gQIIB1Vx6lrrA7QQaW9EYQdb0dnzR2alnjJeX1Zr3WLTtNhHqk=
 =vxmn
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZg/YACgkQYKtH/8kJ
 Uic6bQ//ZnOsB5C9iLX/c9ml6Rxn7cySC1GbD8iiRMUL2icgzfotfAQlKG8J9agG
 Tu+koOn1dn2jwiZt+P1/dlXcd5Yi6PdsMuC94utxHoT3uJVM1q9JdqyxQXpvOSHl
 iBScmq+8jZryqiP3NR2WkEAxJwdsb15xT6EpDByOskr3ir214uI7Wh+4TAfaDwuj
 evse5Wb83+Q7BhIMQWQ/PYCa/elbKWVOrp7A19ZJGVeU/JGsaM22SaVIuX16+l2y
 B8NeXxMTlSzI1xUcJjcxfbB6dsnPU0/I7RtvP23KFeElAUNexgfrHFAX6dR++IIW
 ptBUoO45qpbTwyW/aqwQGHfzIjdqaxia9EY43wjTmzeC+VRiI5Jl0fYteaFYrQ5u
 AkbFt+lmXGvupci3RsSt7RK+qexG4IbS73NUHNb55PsYo0SVo3moPDdZSzLZdirE
 4m6puDEEtJiXjUSMzA6dQiIktotfKyBWOWLmkGrUKplZ1DNlOIm5hvn02KFLqWi5
 eTxiiHCqPGnkTNMVW6cMsLbaHC34hJe67DeBmtJdqmVXQ29JccrDc9yKo+6/oJZO
 +akl41T9SDgpn2TyFaDv9CT66PPRptoUKYmVBVrH6RGHrN4cjJVkrmwi8vpCIHjz
 1JC2qXUk4VDD+vk/GlEfcW/EwC7db3QuKskMgHraba+q83cLwaI=
 =6ZCp
 -----END PGP SIGNATURE-----

Merge tag 'ti-k3-config-for-v6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/defconfig

TI K3 defconfig updates for v6.12

- Enable E5010 JPEG Encoder as kernel module

* tag 'ti-k3-config-for-v6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  arm64: defconfig: Enable E5010 JPEG Encoder

Link: https://lore.kernel.org/r/20240903155647.jy2uparewobeekrd@dreamless
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 10:12:05 +00:00
Arnd Bergmann
35e834e812 i.MX SoC changes for 6.12:
- One cleanup from Fabio Estevam to remove Ethernet refclock setting
   from i.MX6SX machine code
 - One change from Nathan Chancellor that annotates imx7d_enet_init() as
   __init to clears up a section mismatch seen with the recent LLVM
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmbYRz0UHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM4JzQgAt5DItWMG+lOgAdxkuVpydzgJ4i3i
 x1cxOWxzV+8//JVZoFVNFYtZJlaJ4lnA0zjI/in+rz5r/vz6GOVlsSIUzVn+ayxg
 MBjqvMuPcggZR+dC7ckUHdEXUB1DIbcBTtP/8IqkjXFXz6euej6gDcheU+QX/4PY
 yTGiCj6dXC2AzSYo0SUwVGbkgKOqqyFP2dkgAQ+SgmhbXX3FyMOc1OgoQjVXj+Y0
 FSRe6xjj6Xn7BmUPLbebws0jG8jy7tVKaVcquPnvF1NUZLFT1UzdwDENu9raKobQ
 LbkM0XxuU66pNYPDvH3HhOESzt5l6Yt+t8v1oNRJQ6H6EQkVA3cui9uRbw==
 =8UNt
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZgpsACgkQYKtH/8kJ
 UifA+hAA2mc+Z8meCTMHCSoM8v9Va5kp3RJuIPKWVz99yoN7+k8N54l1TISilHEm
 o8TDQU5ySXQjLo9eaa8tgoV9mzyIV2JkTKpYzSgFEy0Q1RKsttNaHI3PYKJ3as8M
 CPy2mcupDW9Cwh6lLJ1rzLS/G9fB5vsber0rg0x1DIvXVr3MofkU1OxwOOUa5qTg
 fV/2b1I9B5JjSIzWRR0EY6ws+4l5XE33KD9Q/Ak//bWzTWI25D9w5jkZ7iPiaBtd
 Q+jEwh2eGiG5QNc8AsvMGs9/GBzj8eZfDbbHYBfHnhOV2w+tPgmqzzJEtNd7u/tc
 KhEFEiiXygUIk2uHLHJmMsMUF6/63btXkm6INMVLeKuzgmxkAIqxpub2ich+m/Gm
 gfqBmS5bu6mO7WxTrlxdBOxL1XG/hzN9PUR6tRHgbaIrCn/2vPfmEInlpw3SDWtD
 0Vxpz9dwnZQRCH7/SGH4dRu7xOwjo2ANPG6NnaUo1uP3piqZxaIAAWuz7T6EGfBq
 ny0BOliakXgZ1OmWmcKj/fjxutqk7T+Nr+yKybGyzc1/R7wpkL9jS/eC1w6ijIoU
 jZVRcfZ91HdRUfYK5BECQiA1/kZnM3RZwVffKOp1gjmM+ygvpwGdDYFOWo7R8tPr
 iY3CVRjSVd96EUgtCBsyGuY/XtW9oDww0hM6G9t4S/IvGNsuHVQ=
 =09E6
 -----END PGP SIGNATURE-----

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

i.MX SoC changes for 6.12:

- One cleanup from Fabio Estevam to remove Ethernet refclock setting
  from i.MX6SX machine code
- One change from Nathan Chancellor that annotates imx7d_enet_init() as
  __init to clears up a section mismatch seen with the recent LLVM

* tag 'imx-soc-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: imx: Annotate imx7d_enet_init() as __init
  ARM: mach-imx: imx6sx: Remove Ethernet refclock setting

Link: https://lore.kernel.org/r/20240904143439.211552-2-shawnguo2@yeah.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 10:06:18 +00:00
Arnd Bergmann
350d0f012c Texas Instruments DaVinci updates for v6.12-rc1
- remove unused cpuidle code
 - remove unused function prototypes and stubs
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEFp3rbAvDxGAT0sefEacuoBRx13IFAmbVtMAACgkQEacuoBRx
 13ISbhAAufsanJ/4LpEiBpZflqVG47yv0m7t0syYsq3ezebQlgzlAOi4K13mj/vL
 vnyFjSSuBWG40ETU1sjpb3kVXj62MfF6FXXxtAM0rwHUu/e/mZHEEZPDt/sYkDhH
 GwatEdGTzrmE37Ua54pBRETtllGtt4Q6AIaMsI1YEKy2kTwOtzZXArg1jKr6w4ZN
 4tJjhpCq+iGrEreZXu/FqNdh7DT9VEewsMjWWuXCKNLIuyGtFtiz9l9N7TOixSxS
 9VeRa8yPbOV9GEhp6rrBBSOwySwb7oeJQ4HNAuTXgWZ8CYR28OgSGGDt8azaexzD
 RFj6xeYOnO1/Qq4pEfyjJh1izufLHlvYvBp6dy2GWIYVKmM9c2uY3z5fJn4wJNEk
 Ltn/xyp7NF5qnvlBiQhomqdYimHvFTyikro0cKe+BXKIZ7b0+vU+vaeeCntDhywD
 fABe6Cn3nsT5Bwk2P9qSA5dcuweK1vu/j/8+SIaJ44j1lD0BjjlwTwcwNEepCvwz
 R86tSCMhZlWZhn1wY9+rS/qafmfz6x6ZK3yqgIQ3tunfeGFCRwUmS31JyJ/y/vuI
 QM3ULt8XfHpOifedIcjychyaBaCFxrg/GoV3seFgWpbya8xxOZxpTg9IxbhYRXz/
 JRb8RQbF33sFmVMZwJi4b/Hd3gqOsFb5k3Fy97m/atc8//+bD14=
 =G3QV
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZgnoACgkQYKtH/8kJ
 UideUhAAyFzWzEMOAUgexXDWEFaKSNW+bebPvGcRnNgcYi1uPSdFXFabnxPHpwR9
 B2PjBcgoC2c85BNc8xIrn+qrSszSuvPFNygdB9HUvRtChPHrJaJFLdsMHZtcb9j7
 tyTd9uPYQy3xcEE6TQfQzrDdx69+fU0TD68umdtjSOcgMfTv9UeJstr68tgobAjB
 HpdEMQ1xS9YrXpMorgs1SRcfSXMwmtDkkHmAmYl1UqKFnVG00dSrKrr2Oh3fXjuE
 TUbZgig1MIuVPVhVnDnhE1B9wMkqk2tNxR1RwO4q1yKLtcc20al4C0JE03N9Wj/w
 HPafDG4foh91ue7RFsjjjzabUT5csLyMljBsHvgwogRl4dAg+IrambqKlIzDPwvB
 KgP8vzX8PGti9Wr9/FE8QSTVhORst3IScyiphtPctIvc2qo1Z28DyujDqyljazM+
 bpB0lxoeRTUZx0BtaV22NSkP4sQM/MKD1XhctHspnAH4T47BEBCSrxOLgwOocJ2v
 3A1RLf+e3YvYO180ltRtYjvuFJCvUMgvndBS17PQjPTBQ9MhgVPlTS6IrPEytYtB
 amq6emB9Tnz9htR9TisuWjSkDOvhchvhzkfwu11f+Cr5i+nuRWyZBkpYhuYCow76
 y/K7Wf/v4HtIgstp+VzqymB74uJbjhSyDZItPvP4aE+TmXLEA6I=
 =4q2m
 -----END PGP SIGNATURE-----

Merge tag 'davinci-updates-for-v6.12-rc1' of https://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into soc/arm

Texas Instruments DaVinci updates for v6.12-rc1

- remove unused cpuidle code
- remove unused function prototypes and stubs

* tag 'davinci-updates-for-v6.12-rc1' of https://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
  ARM: davinci: remove unused cpuidle code
  ARM: davinci: remove unused davinci_init_ide() declaration
  ARM: davinci: remove unused davinci_cfg_reg_list() declaration

Link: https://lore.kernel.org/r/20240904200530.80386-1-brgl@bgdev.pl
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 10:05:46 +00:00
Arnd Bergmann
d4c3179671 ARM: OMAP1/2: misc SoC updates for v6.12
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAmbY9nMACgkQWTcYmtP7
 xmWwDQ/9HP7y444tT7u3BRfVitZRs8axEZzyCMnkxkDYqYI7ROLPDfLqmNvq6PCM
 Rk3+JE55WerR5yNqb4RPYy+nEJ+yB9cBokMH+fA7IAIz8LNw/M7efh7bd4Kr/iQn
 PxsdUQyYd5KOj3X+Ge13YMqkw0FJin5O0w1pNy8JU1Uo383BAjcuX/977utjCcqn
 xeArSGxvZ5v/LLmcAOXF+OtI6Yf/XxMtYUc4f6S0/qE9kAV6pN4MxfaIaspB2d6j
 oZrWr2vpHrPa8sRjz3TUgjS6aQneVjGW7kr8PEPdvFZ69eTI5N6Bo0HC6s3IjFT+
 BkBULF7v3D7QK8DXtBrLrCJG+63ZGD1yexcaB3Hd07mRsc8tsJuPad2PF6yQLhRV
 GMfbf80Ny3Ld2PMCofDzv+BN34LHru0sag3lN9F7kTD2JDCPouXGTebhTuwQy7op
 jRo4uaHSo6pHeHLVQb/jrk2Z1jBU4noAQVHCWsjy5ouGdvDux9NNCtn0rpVbW3NM
 iDXbv02DwDcj3UXvSUtPNO5KSXDf9D9iN4edt+4EVq3udGBtxnBxw4i+qigZcrxj
 1BMbByK6Z/rhWYtDOthBV6m7aBQSZuP0nNqYnXjkE8Znr1SZGEoPfxfORkLrjqyl
 fSbhqknwxmisWavdOLs3fCHjIMtWsBK0bO9u+KX026/S6gBAX58=
 =UfU/
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZgmgACgkQYKtH/8kJ
 UicDihAA36vNrq7yUvIwx9W8K9rCIDJOcJ1K0sRp+csefIHe1ZDN0Y009ZWU5FNP
 bbEk3FBY2xH8FWgEhs/VUSUKk2nyGDa2sMuym3Yk2hN0i/u+7fql0ePAIYgMQzn3
 l1t8wGr2Muey6QnSNymZ+t0qTDO43nCz9qFM37KFsc2RYUpJVcnhCi+3CCMHbSy2
 ibdAQ6xMHCkfZfgXskCXIvPbg8TCOM1qX6yptj6O/Klc8517whlnbibBLLqoMVJr
 Gr2TWht9LLKP6ZY+qQ6GXEJMDtEcJsO8NNapdQZcc8DY+gDtAvqNWS8tWHZ/ijpJ
 Y6iTfqMwyhDTnPKGRiOl+OYoy534rDZPu0nsWrKc78OOeLWgUDwkLsnU6eR3bVvr
 swLDOmY3fHR8dyuuQszyO1sKbun6vfxPwRrUaHpR6QPIClHzVCOtuCd5ckfTyFUI
 DOeDt6fck0pn9Au6gxRhS5zN9ffzhbNomXeMmX/NDPWNVNYPs4QfnwKfnv47wv64
 k2XhtK8ky+UNJslFRMxDdtFMlf0OpLPW4sBZkQ6ZrLSpbZ9n7byghSMa15d+Joyt
 JTaQ+NnhB3f7hhgTnnUkpQG9ixWfE7qw0Yudns2Roqvr2sEzFazDl55CkqSX3FHA
 HAExCBzLJv9ggc5cqNtQkym7sJuq7MsTFsk2iljPJXUxBBHp1xA=
 =sItP
 -----END PGP SIGNATURE-----

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

ARM: OMAP1/2: misc SoC updates for v6.12

* tag 'omap-for-v6.12/soc-signed' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap:
  ARM: OMAP1: Remove unused declarations in arch/arm/mach-omap1/pm.h
  ARM: omap2: Switch to use kmemdup_array()
  ARM: omap1: Remove unused struct 'dma_link_info'

Link: https://lore.kernel.org/r/7h8qw7arhe.fsf@baylibre.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 10:05:28 +00:00
Dhananjay Ugwekar
8d72eba1cf perf/x86/rapl: Fix the energy-pkg event for AMD CPUs
After commit:

  63edbaa48a ("x86/cpu/topology: Add support for the AMD 0x80000026 leaf")

... on AMD processors that support extended CPUID leaf 0x80000026, the
topology_die_cpumask() and topology_logical_die_id() macros no longer
return the package cpumask and package ID, instead they return the CCD
(Core Complex Die) mask and ID respectively.

This leads to the energy-pkg event scope to be modified to CCD instead of package.

So, change the PMU scope for AMD and Hygon back to package.

On a 12 CCD 1 Package AMD Zen4 Genoa machine:

  Before:

  $ cat /sys/devices/power/cpumask
  0,8,16,24,32,40,48,56,64,72,80,88.

The expected cpumask here is supposed to be just "0", as it is a package
scope event, only one CPU will be collecting the event for all the CPUs in
the package.

  After:

  $ cat /sys/devices/power/cpumask
  0

[ mingo: Cleaned up the changelog ]

Signed-off-by: Dhananjay Ugwekar <Dhananjay.Ugwekar@amd.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Kan Liang <kan.liang@linux.intel.com>
Link: https://lore.kernel.org/r/20240904100934.3260-1-Dhananjay.Ugwekar@amd.com
2024-09-05 12:02:14 +02:00
Toke Høiland-Jørgensen
546ea84d07 sched: sch_cake: fix bulk flow accounting logic for host fairness
In sch_cake, we keep track of the count of active bulk flows per host,
when running in dst/src host fairness mode, which is used as the
round-robin weight when iterating through flows. The count of active
bulk flows is updated whenever a flow changes state.

This has a peculiar interaction with the hash collision handling: when a
hash collision occurs (after the set-associative hashing), the state of
the hash bucket is simply updated to match the new packet that collided,
and if host fairness is enabled, that also means assigning new per-host
state to the flow. For this reason, the bulk flow counters of the
host(s) assigned to the flow are decremented, before new state is
assigned (and the counters, which may not belong to the same host
anymore, are incremented again).

Back when this code was introduced, the host fairness mode was always
enabled, so the decrement was unconditional. When the configuration
flags were introduced the *increment* was made conditional, but
the *decrement* was not. Which of course can lead to a spurious
decrement (and associated wrap-around to U16_MAX).

AFAICT, when host fairness is disabled, the decrement and wrap-around
happens as soon as a hash collision occurs (which is not that common in
itself, due to the set-associative hashing). However, in most cases this
is harmless, as the value is only used when host fairness mode is
enabled. So in order to trigger an array overflow, sch_cake has to first
be configured with host fairness disabled, and while running in this
mode, a hash collision has to occur to cause the overflow. Then, the
qdisc has to be reconfigured to enable host fairness, which leads to the
array out-of-bounds because the wrapped-around value is retained and
used as an array index. It seems that syzbot managed to trigger this,
which is quite impressive in its own right.

This patch fixes the issue by introducing the same conditional check on
decrement as is used on increment.

The original bug predates the upstreaming of cake, but the commit listed
in the Fixes tag touched that code, meaning that this patch won't apply
before that.

Fixes: 7126399299 ("sch_cake: Make the dual modes fairer")
Reported-by: syzbot+7fe7b81d602cc1e6b94d@syzkaller.appspotmail.com
Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
Link: https://patch.msgid.link/20240903160846.20909-1-toke@redhat.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-09-05 11:49:57 +02:00
Kienan Stewart
33d8525dc1 fs/pipe: Correct imprecise wording in comment
The comment inaccurately describes what pipefs is - that is, a file
system.

Signed-off-by: Kienan Stewart <kstewart@efficios.com>
Link: https://lore.kernel.org/r/20240904-pipe-correct_imprecise_wording-v1-1-2b07843472c2@efficios.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
2024-09-05 11:39:20 +02:00
Christian Brauner
7063c229a8 Merge patch series "fhandle: expose u64 mount id to name_to_handle_at(2)"
Aleksa Sarai <cyphar@cyphar.com> says:

Now that we provide a unique 64-bit mount ID interface in statx(2), we
can now provide a race-free way for name_to_handle_at(2) to provide a
file handle and corresponding mount without needing to worry about
racing with /proc/mountinfo parsing or having to open a file just to do
statx(2).

While this is not necessary if you are using AT_EMPTY_PATH and don't
care about an extra statx(2) call, users that pass full paths into
name_to_handle_at(2) need to know which mount the file handle comes from
(to make sure they don't try to open_by_handle_at a file handle from a
different filesystem) and switching to AT_EMPTY_PATH would require
allocating a file for every name_to_handle_at(2) call, turning

  err = name_to_handle_at(-EBADF, "/foo/bar/baz", &handle, &mntid,
                          AT_HANDLE_MNT_ID_UNIQUE);

into

  int fd = openat(-EBADF, "/foo/bar/baz", O_PATH | O_CLOEXEC);
  err1 = name_to_handle_at(fd, "", &handle, &unused_mntid, AT_EMPTY_PATH);
  err2 = statx(fd, "", AT_EMPTY_PATH, STATX_MNT_ID_UNIQUE, &statxbuf);
  mntid = statxbuf.stx_mnt_id;
  close(fd);

Also, this series adds a patch to clarify how AT_* flag allocation
should work going forwards.

* patches from https://lore.kernel.org/r/20240828-exportfs-u64-mount-id-v3-0-10c2c4c16708@cyphar.com:
  fhandle: expose u64 mount id to name_to_handle_at(2)
  uapi: explain how per-syscall AT_* flags should be allocated

Link: https://lore.kernel.org/r/20240828-exportfs-u64-mount-id-v3-0-10c2c4c16708@cyphar.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
2024-09-05 11:39:20 +02:00
Aleksa Sarai
4356d575ef fhandle: expose u64 mount id to name_to_handle_at(2)
Now that we provide a unique 64-bit mount ID interface in statx(2), we
can now provide a race-free way for name_to_handle_at(2) to provide a
file handle and corresponding mount without needing to worry about
racing with /proc/mountinfo parsing or having to open a file just to do
statx(2).

While this is not necessary if you are using AT_EMPTY_PATH and don't
care about an extra statx(2) call, users that pass full paths into
name_to_handle_at(2) need to know which mount the file handle comes from
(to make sure they don't try to open_by_handle_at a file handle from a
different filesystem) and switching to AT_EMPTY_PATH would require
allocating a file for every name_to_handle_at(2) call, turning

  err = name_to_handle_at(-EBADF, "/foo/bar/baz", &handle, &mntid,
                          AT_HANDLE_MNT_ID_UNIQUE);

into

  int fd = openat(-EBADF, "/foo/bar/baz", O_PATH | O_CLOEXEC);
  err1 = name_to_handle_at(fd, "", &handle, &unused_mntid, AT_EMPTY_PATH);
  err2 = statx(fd, "", AT_EMPTY_PATH, STATX_MNT_ID_UNIQUE, &statxbuf);
  mntid = statxbuf.stx_mnt_id;
  close(fd);

Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
Link: https://lore.kernel.org/r/20240828-exportfs-u64-mount-id-v3-2-10c2c4c16708@cyphar.com
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2024-09-05 11:39:17 +02:00
Aleksa Sarai
b4fef22c2f uapi: explain how per-syscall AT_* flags should be allocated
Unfortunately, the way we have gone about adding new AT_* flags has
been a little messy. In the beginning, all of the AT_* flags had generic
meanings and so it made sense to share the flag bits indiscriminately.
However, we inevitably ran into syscalls that needed their own
syscall-specific flags. Due to the lack of a planned out policy, we
ended up with the following situations:

 * Existing syscalls adding new features tended to use new AT_* bits,
   with some effort taken to try to re-use bits for flags that were so
   obviously syscall specific that they only make sense for a single
   syscall (such as the AT_EACCESS/AT_REMOVEDIR/AT_HANDLE_FID triplet).

   Given the constraints of bitflags, this works well in practice, but
   ideally (to avoid future confusion) we would plan ahead and define a
   set of "per-syscall bits" ahead of time so that when allocating new
   bits we don't end up with a complete mish-mash of which bits are
   supposed to be per-syscall and which aren't.

 * New syscalls dealt with this in several ways:

   - Some syscalls (like renameat2(2), move_mount(2), fsopen(2), and
     fspick(2)) created their separate own flag spaces that have no
     overlap with the AT_* flags. Most of these ended up allocating
     their bits sequentually.

     In the case of move_mount(2) and fspick(2), several flags have
     identical meanings to AT_* flags but were allocated in their own
     flag space.

     This makes sense for syscalls that will never share AT_* flags, but
     for some syscalls this leads to duplication with AT_* flags in a
     way that could cause confusion (if renameat2(2) grew a
     RENAME_EMPTY_PATH it seems likely that users could mistake it for
     AT_EMPTY_PATH since it is an *at(2) syscall).

   - Some syscalls unfortunately ended up both creating their own flag
     space while also using bits from other flag spaces. The most
     obvious example is open_tree(2), where the standard usage ends up
     using flags from *THREE* separate flag spaces:

       open_tree(AT_FDCWD, "/foo", OPEN_TREE_CLONE|O_CLOEXEC|AT_RECURSIVE);

     (Note that O_CLOEXEC is also platform-specific, so several future
     OPEN_TREE_* bits are also made unusable in one fell swoop.)

It's not entirely clear to me what the "right" choice is for new
syscalls. Just saying that all future VFS syscalls should use AT_* flags
doesn't seem practical. openat2(2) has RESOLVE_* flags (many of which
don't make much sense to burn generic AT_* flags for) and move_mount(2)
has separate AT_*-like flags for both the source and target so separate
flags are needed anyway (though it seems possible that renameat2(2)
could grow *_EMPTY_PATH flags at some point, and it's a bit of a shame
they can't be reused).

But at least for syscalls that _do_ choose to use AT_* flags, we should
explicitly state the policy that 0x2ff is currently intended for
per-syscall flags and that new flags should err on the side of
overlapping with existing flag bits (so we can extend the scope of
generic flags in the future if necessary).

And add AT_* aliases for the RENAME_* flags to further cement that
renameat2(2) is an *at(2) flag, just with its own per-syscall flags.

Suggested-by: Amir Goldstein <amir73il@gmail.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
Link: https://lore.kernel.org/r/20240828-exportfs-u64-mount-id-v3-1-10c2c4c16708@cyphar.com
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2024-09-05 11:37:45 +02:00
Marek Vasut
7d6b8316ba ARM: dts: stm32: Use SAI to generate bit and frame clock on STM32MP15xx DHCOM PDK2
By default the SGTL5000 derives bit and frame clock from MCLK, which
does not produce particularly accurate results. The SGTL5000 PLL does
improve the accuracy, but also increases power consumption. Using the
SoC SAI interface as bit and frame clock source results in the best
accuracy without the power consumption increase downside. Switch the
bit and frame clock direction from SAI to SGTL5000, reduce mclk-fs to
match.

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2024-09-05 11:31:56 +02:00
Marek Vasut
5afb9b98a7 ARM: dts: stm32: Switch bitclock/frame-master to flag on STM32MP15xx DHCOM PDK2
Switch the bitclock-master and frame-master properties from phandle to
flag on STM32MP15xx DHCOM PDK2. There is no real reason to use phandle
in this system DT, since the phandle points to the endpoint node which
contains the property itself. Simplify the DT. No functional change.

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2024-09-05 11:31:56 +02:00
Marek Vasut
2ac59e0957 ARM: dts: stm32: Sort properties in audio endpoints on STM32MP15xx DHCOM PDK2
Sort properties alphabetically in audio endpoints of STM32MP15xx
DHCOM PDK2 DT. No functional change.

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2024-09-05 11:31:55 +02:00
David Jander
8267753c89 ARM: dts: stm32: Add MECIO1 and MECT1S board variants
Introduce device tree support for the MECIO1 and MECT1S board variants.
MECIO1 is an I/O and motor control board used in blood sample analysis
machines. MECT1S is a 1000Base-T1 switch for internal machine networks
of blood sample analysis machines.

Signed-off-by: David Jander <david@protonic.nl>
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2024-09-05 11:31:55 +02:00
Oleksij Rempel
eb2247f142 dt-bindings: arm: stm32: Add compatible strings for Protonic boards
Add compatible strings for Protonic MECIO1r0 and MECT1S boards to the
STM32MP151-based boards section and Protonic MECIO1r1 board to the
STM32MP153-based boards section.

MECIO1 is an I/O and motor control board used in blood sample analysis
machines. MECT1S is a 1000Base-T1 switch for internal machine networks
of blood sample analysis machines.

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2024-09-05 11:31:55 +02:00
Oleksij Rempel
7de129f538 ARM: dts: stm32: stm32mp151a-prtt1l: Fix QSPI configuration
Rename 'pins1' to 'pins' in the qspi_bk1_pins_a node to correct the
subnode name. The incorrect name caused the configuration to be
applied to the wrong subnode, resulting in QSPI not working properly.

Some additional changes was made:
- To avoid this kind of regression, all references to pin configuration
  nodes are now referenced directly using the format &{label/subnode}.
- /delete-property/ bias-disable; was added everywhere where bias-pull-up
  is used
- redundant properties like driver-push-pull are removed

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2024-09-05 11:31:55 +02:00
Marek Vasut
9d4de04f61 ARM: dts: stm32: Describe PHY LEDs in DH STM32MP13xx DHCOR DHSBC board DT
The RTL8211 PHY on DH STM32MP13xx DHCOR DHSBC carrier board supports HW
LED offload, the LEDs can be configured on link at 10/100/1000 line rate
and on RXTX activity. There are two PHYs on this board, each only has two
out of three LEDs connected to the PHY LED outputs. Describe this hardware
configuration in DT.

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2024-09-05 11:31:55 +02:00
Sean Nyekjaer
4a12b200a6 ARM: dts: stm32: Add missing gpio options for sdmmc2_d47_pins_d
This enables DDR50 mode for the eMMC on Octavo OSD32MP1-RED board.

Fixes: be78ab4f63 ("ARM: dts: stm32: add initial support for stm32mp157-odyssey board")
Signed-off-by: Sean Nyekjaer <sean@geanix.com>
Reviewed-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2024-09-05 11:31:55 +02:00
Marek Vasut
5d1ff2dde4 ARM: dts: stm32: Add ethernet MAC nvmem cells to DH STM32MP13xx DHCOR DHSBC board
Describe ethernet MAC address nvmem cells in DH STM32MP13xx DHCOR DHSBC
board DT. The MAC address can be fused in BSEC OTP fuses and used to set
up MAC address for both ethernet MACs on this board.

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2024-09-05 11:31:55 +02:00
Marek Vasut
44791c0fe3 ARM: dts: stm32: Disable PHY clock output on DH STM32MP13xx DHCOR DHSBC board
The RTL8211F PHY clock output is not used on DH STM32MP13xx DHCOR DHSBC
board, disable it to improve EMI characteristics.

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2024-09-05 11:31:55 +02:00
Marek Vasut
b230e1b21c ARM: dts: stm32: Keep MDIO bus in AF across suspend DH STM32MP13xx DHCOR DHSBC board
The RTL8211F PHY gets confused when the MDIO bus lines get switched
to ANALOG during suspend/resume cycle. Keep the MDIO and MDC lines
in AF during suspend/resume to avoid confusing the PHY. The PHY can
be brought out of the confused state by restarting auto-negotiation
too, but that seems like an odd workaround and shouldn't be in the
PHY driver.

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2024-09-05 11:31:55 +02:00
Arnd Bergmann
2650fd8679 A number of pin fixes for Puma, Rock-Pi-E and rk356x, and as it turns
out the VO0 and VO1 general register files are not identical as suggested
 by their original compatible. As there are no users of those yet,
 everybody agreed that we should fix the compatibles.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmbU3XcQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgQILB/wLVa9j4UX7kBwK5r6dbDe5rC+guHzlRVUK
 NMiSrczPJanuUWS80tfwbpbH4W17i2vpZbB5SjHmKBbTGA9DckagjRgD9/ixjDpI
 IJ3AXgZXv2VLoolC/2qDykqThEEgjMcTxo9uIgSOiwxQ6MatWvAog+yCfv25PUWh
 5GEz87ElWZljTx37hitmxbLuEPmmZcngx2o06LYMXjGM9dy5SWBW1c2B6WYJ7Dbs
 /vqWZieLw5BfXzpog7YF3lSyr7KEvVUVNysdT68c3jQlngS/mM0KID7Xif0E9Hc8
 RVqmcOVYeuJbM73Kz4/KwkCBa7pzUPJt4ZZImHNVOI0TE5WWe8Cc
 =hcAD
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZeR8ACgkQYKtH/8kJ
 UidmsxAArIG8cMIQgBdxcH9dSaY+cerYXPahITgHZ8w07uK1ydgsX9MKgprL2WVv
 L8DcbL6NKiBDJE45r40/dTpvcBsMVWDlepzGdwOsCKbW1OjMIoIi90UxDeIuyCxy
 OiuuFrXfOKlKBCLxa4pYPpQucEaApCIUfivYs6gsYRjuJYWieKla9m850arJzE3Q
 CsbkmX/m1Qx6Z3CyOjuHlJm7BrZTThoVRWv1kwt8T0Q0YTpdpp7PXwIK92k/BAaL
 rn4L7xIJ/yPY0CrBN629dhma13fpCzVe8yE5tQAV+DbvifC3LBT5aLORsVv/WHbB
 teUCG24jAC9vMyNIEDVOIM41muEJmesxmdApC7sCUCpwkMp/NQNycyb3DjctO4On
 mjZRgwTYlpwHrVeRTeOU/phj2yKWx6ogEo79SuvwZ2Uyja40ZnrVyrMqJvzibQVl
 EP9hOXbRFc2fQK62rZ75HV2MXTZM0dPfe8HgUvVEAThlsscmF2nbl5fTYowg0Ipo
 /eJ1wo05TuaalYcrteKP604w3EishllPbL66lc55ja24iFG7JqzklztLiurNfKPK
 SxEZTovgFyqz5qZEtGpSwQ60JqiPN+vST8gnvI2+VHNDTF3lwasjx3kLOKLYiQ8s
 jvK+vpF1YN5LLXDqWGkoXeN+dBVe/4ZxlDRfB8qJ0gIvwPrml8M=
 =aZ+f
 -----END PGP SIGNATURE-----

Merge tag 'v6.11-rockchip-dtsfixes' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/fixes

A number of pin fixes for Puma, Rock-Pi-E and rk356x, and as it turns
out the VO0 and VO1 general register files are not identical as suggested
by their original compatible. As there are no users of those yet,
everybody agreed that we should fix the compatibles.

* tag 'v6.11-rockchip-dtsfixes' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm64: dts: rockchip: Fix compatibles for RK3588 VO{0,1}_GRF
  dt-bindings: soc: rockchip: Fix compatibles for RK3588 VO{0,1}_GRF
  arm64: dts: rockchip: override BIOS_DISABLE signal via GPIO hog on RK3399 Puma
  arm64: dts: rockchip: fix eMMC/SPI corruption when audio has been used on RK3399 Puma
  arm64: dts: rockchip: fix PMIC interrupt pin in pinctrl for ROCK Pi E
  arm64: dts: rockchip: Remove broken tsadc pinctrl binding for rk356x

Link: https://lore.kernel.org/r/7602696.A5hrfCrGMc@diego
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 09:25:50 +00:00
Arnd Bergmann
95fe795c24 One more Qualcomm driver fix for v6.11
This resolves a deadlock in the Qualcomm uefisecapp driver following the
 attempt to acquire global context is acquired in the case the device
 isn't probed.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmbYczsVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FExoQAJ2bQZz7PNqEAhRepU4pR4CyH/WJ
 NuIcu3zdVGkA6/7VRPHGQ1cHyqzleXNvDD4FfhIh90lWGxBJSvXNAMbJSyd5CQZc
 bq5O85QKSCyu2pYUo8zloajZTF08fbT2xT895aQ9jhBd+hfVic1W3WEUMw5kCagr
 4XiPQhCjPFJJL3tscaHlOpiMK03SRpRd4zxsG4SxlwcIOcMrcG4zWVpGUze0vgqu
 6wyGb6zahwKcjlmUePyPGKTP1SWE5BSGTdx6Tkjf5j9SpgGSSUWBIX1NbjnHq4Ft
 8geh/Z3ls680tOXBmHY7FqTxcpMQ6fHXOVrMnBq+Wg7sCHPDqhzj6xBlEkCLTJME
 HTl8uHyjqms4DiFJ0R3rk/O+TpcGz16pOh54KdFCG0lyXM6lSN7rWnemog0MTl+e
 mPGubJDtwcisART7kqJytTuqt0UKl5UPgk0NkJ1zjJEFcYjkFRuUa1CK4PqeyCVO
 snBiHzFISMlb9Jpw7Tf0Uama4273QFRGdeqggYiMbnys8DbYREwz8rS04ntTDVLl
 Z88K8OAMq3rN7ex7f0gm0/rRAGCOOcp+lUoYqVt1se3hS0gwazNxNY+8zLOX77Gp
 Cw+r/eNGAEq5vyY3NYkh6IqEKiq5Lh1T0ynLNALp0H/+npciFn6ilikWwMevBGiF
 31DeqRgkLHU6LCdU
 =HJYI
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZeNoACgkQYKtH/8kJ
 UidxxhAA4SnWHc0ErzC6e9iC3SNygoPnaJP8/j2nMUkZWlW7OkZccNeFPg5NI0Q9
 XjDf6Mz9IBgT/fRSBs88piAkNjynsifaeMzmAjbG3I9/m0Vfkc6TpqQUbftHTl2b
 eQ34iXRgwm0rntVkgnL7Wudy+RWenyc0l5mX2/zVKk7WbkoljUWaF4nNlJWNQWYB
 uB1QfcefWeXBre29Iz1WLHDMYoSrP1x2NmwZQmYdP80s9BqiBJJYO216NhWcQldq
 OQc//nW4enDT++8OmlNKfCM9/B91wfEI9kN3A00bGRNqfroGT1YcXbw/DTdDdnPt
 hqcNNkf84LAOnd/sUiEucGFAkzvQzd9upb/5jSkvVTqSyNPPp/V/bJZKaKa93R0n
 fWscJlkNACDcixhesenJ5AEHHNp97WmPNreuRX05VgnL+T9wvA7v2AaeaBvQ+5P2
 SksiIr8AEiAha0IhDx4MLgZ9lf85a4t6vz0nrQ/bsdpIbKM2FZwkhZB04cn/7UEj
 PJ9Q3AGtoc8naGDryx2aorbvjN2rSCtOQZhuKW01xUIGH3p9QUm1NqBh3hczC1P7
 8v3K3JPIQwywN99lO/q+faN68uNCt0X5v3DH/W235hCPBdnY2i/3qw/edjQsyW/X
 cMZUxTnZYe1n/WE13ZnFHgz+2skyM3b+sR26Sy+7gcSrobEJyK8=
 =rJbm
 -----END PGP SIGNATURE-----

Merge tag 'qcom-drivers-fixes-for-6.11-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/fixes

One more Qualcomm driver fix for v6.11

This resolves a deadlock in the Qualcomm uefisecapp driver following the
attempt to acquire global context is acquired in the case the device
isn't probed.

* tag 'qcom-drivers-fixes-for-6.11-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  firmware: qcom: uefisecapp: Fix deadlock in qcuefi_acquire()

Link: https://lore.kernel.org/r/20240904145214.4089-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 09:24:42 +00:00
David Kaplan
1dbb6b1495 x86/bugs: Fix handling when SRSO mitigation is disabled
When the SRSO mitigation is disabled, either via mitigations=off or
spec_rstack_overflow=off, the warning about the lack of IBPB-enhancing
microcode is printed anyway.

This is unnecessary since the user has turned off the mitigation.

  [ bp: Massage, drop SBPB rationale as it doesn't matter because when
    mitigations are disabled x86_pred_cmd is not being used anyway. ]

Signed-off-by: David Kaplan <david.kaplan@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://lore.kernel.org/r/20240904150711.193022-1-david.kaplan@amd.com
2024-09-05 11:20:50 +02:00
Tan En De
d209598994 net: stmmac: Batch set RX OWN flag and other flags
Minimize access to the RX descriptor by collecting all the flags in a
local variable and then updating the descriptor at once.

Signed-off-by: Tan En De <ende.tan@starfivetech.com>
Link: https://patch.msgid.link/20240831011114.2065912-1-ende.tan@starfivetech.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-09-05 11:19:07 +02:00
Ingo Molnar
95c13662b6 Merge branch 'perf/urgent' into perf/core, to pick up fixes
This also refreshes the -rc1 based branch to -rc5.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2024-09-05 11:17:43 +02:00
Uwe Kleine-König
d6a800796e pwm: Simplify pwm_capture()
When pwm_capture() is called, pwm is valid, so the checks for pwm and
pwm->chip->ops being NULL can be dropped.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Link: https://lore.kernel.org/r/ee7b3322c7b3e28defdfb886a70b8ba40d298416.1722261050.git.u.kleine-koenig@baylibre.com
Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
2024-09-05 11:14:14 +02:00
Rob Herring (Arm)
75f0cb339b pwm: lp3943: Use of_property_count_u32_elems() to get property length
Replace of_get_property() with the type specific
of_property_count_u32_elems() to get the property length.

This is part of a larger effort to remove callers of of_get_property()
and similar functions. of_get_property() leaks the DT property data
pointer which is a problem for dynamically allocated nodes which may
be freed.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20240731201407.1838385-8-robh@kernel.org
Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
2024-09-05 11:14:14 +02:00
Uwe Kleine-König
f9ecc2febf pwm: Don't export pwm_capture()
There is only a single caller of this function, and that's in
drivers/pwm/core.c itself. So don't export the function.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Link: https://lore.kernel.org/r/20240712171821.1470833-2-u.kleine-koenig@baylibre.com
Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
2024-09-05 11:14:14 +02:00
Uwe Kleine-König
1c3e34bf88 pwm: Make info in traces about affected pwm more useful
The hashed pointer isn't useful to identify the pwm device. Instead
store and emit chipid and hwpwm.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Link: https://lore.kernel.org/r/20240705211452.1157967-2-u.kleine-koenig@baylibre.com
Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
2024-09-05 11:14:14 +02:00
Wolfram Sang
9407f23d14 dt-bindings: pwm: renesas,tpu: Add r8a779h0 support
Document support for the 16-Bit Timer Pulse Unit (TPU) in the Renesas
R-Car V4M (R8A779H0) SoC.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20240725193803.14130-6-wsa+renesas@sang-engineering.com
Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
2024-09-05 11:14:14 +02:00
Wolfram Sang
24e529c5fb dt-bindings: pwm: renesas,pwm-rcar: Add r8a779h0 support
Document support for the PWM timers in the Renesas R-Car V4M (R8A779H0)
SoC.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20240725193803.14130-5-wsa+renesas@sang-engineering.com
Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
2024-09-05 11:14:14 +02:00
Uwe Kleine-König
10c48e9a8f pwm: stm32: Use the right CCxNP bit in stm32_pwm_enable()
The pwm devices for a pwm_chip are numbered starting at 0, the first hw
channel however has the number 1. While introducing a parametrised macro
to simplify register bit usage and making that offset explicit, one of
the usages was converted wrongly. This is fixed here.

Fixes: 7cea05ae1d ("pwm-stm32: Make use of parametrised register definitions")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Link: https://lore.kernel.org/r/20240905090627.197536-2-u.kleine-koenig@baylibre.com
Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
2024-09-05 11:12:01 +02:00
Thomas Zimmermann
5a498d4d06 drm/fbdev-dma: Only install deferred I/O if necessary
Deferred I/O requires struct page for framebuffer memory, which is
not guaranteed for all DMA ranges. We thus only install deferred I/O
if we have a framebuffer that requires it.

A reported bug affected the ipu-v3 and pl111 drivers, which have video
memory in either Normal or HighMem zones

[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000010000000-0x000000003fffffff]
[    0.000000]   HighMem  [mem 0x0000000040000000-0x000000004fffffff]

where deferred I/O only works correctly with HighMem. See the Closes
tags for bug reports.

v2:
- test if screen_buffer supports deferred I/O (Sima)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Fixes: 808a40b694 ("drm/fbdev-dma: Implement damage handling and deferred I/O")
Reported-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Closes: https://lore.kernel.org/all/23636953.6Emhk5qWAg@steina-w/
Reported-by: Linus Walleij <linus.walleij@linaro.org>
Closes: https://lore.kernel.org/dri-devel/CACRpkdb+hb9AGavbWpY-=uQQ0apY9en_tWJioPKf_fAbXMP4Hg@mail.gmail.com/
Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Javier Martinez Canillas <javierm@redhat.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Reviewed-by: Simona Vetter <simona.vetter@ffwll.ch>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240904123750.31206-1-tzimmermann@suse.de
2024-09-05 11:05:10 +02:00
David Howells
22de489d1e
netfs: Use bh-disabling spinlocks for rreq->lock
Use bh-disabling spinlocks when accessing rreq->lock because, in the
future, it may be twiddled from softirq context when cleanup is driven from
cache backend DIO completion.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Jeff Layton <jlayton@kernel.org>
cc: netfs@lists.linux.dev
cc: linux-fsdevel@vger.kernel.org
Link: https://lore.kernel.org/r/20240814203850.2240469-12-dhowells@redhat.com/ # v2
Signed-off-by: Christian Brauner <brauner@kernel.org>
2024-09-05 11:00:42 +02:00
David Howells
24c90a79f6
netfs: Set the request work function upon allocation
Set the work function in the netfs_io_request work_struct when we allocate
the request rather than doing this later.  This reduces the number of
places we need to set it in future code.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Jeff Layton <jlayton@kernel.org>
cc: netfs@lists.linux.dev
cc: linux-fsdevel@vger.kernel.org
Link: https://lore.kernel.org/r/20240814203850.2240469-11-dhowells@redhat.com/ # v2
Signed-off-by: Christian Brauner <brauner@kernel.org>
2024-09-05 11:00:42 +02:00
David Howells
c57de2a925
netfs: Remove NETFS_COPY_TO_CACHE
Remove NETFS_COPY_TO_CACHE as it isn't used anymore.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Jeff Layton <jlayton@kernel.org>
cc: netfs@lists.linux.dev
cc: linux-fsdevel@vger.kernel.org
Link: https://lore.kernel.org/r/20240814203850.2240469-10-dhowells@redhat.com/ # v2
Signed-off-by: Christian Brauner <brauner@kernel.org>
2024-09-05 11:00:42 +02:00
David Howells
51e9a86a4f
netfs: Reserve netfs_sreq_source 0 as unset/unknown
Reserve the 0-valued netfs_sreq_source to mean unset or unknown so that it
can be seen in the trace as such rather than appearing as
download-from-server when it's going to get switched to something else.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Jeff Layton <jlayton@kernel.org>
cc: netfs@lists.linux.dev
cc: linux-fsdevel@vger.kernel.org
Link: https://lore.kernel.org/r/20240814203850.2240469-9-dhowells@redhat.com/ # v2
Signed-off-by: Christian Brauner <brauner@kernel.org>
2024-09-05 11:00:41 +02:00
David Howells
52d55922e0
netfs: Move max_len/max_nr_segs from netfs_io_subrequest to netfs_io_stream
Move max_len/max_nr_segs from struct netfs_io_subrequest to struct
netfs_io_stream as we only issue one subreq at a time and then don't need
these values again for that subreq unless and until we have to retry it -
in which case we want to renegotiate them.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Jeff Layton <jlayton@kernel.org>
cc: netfs@lists.linux.dev
cc: linux-fsdevel@vger.kernel.org
Link: https://lore.kernel.org/r/20240814203850.2240469-8-dhowells@redhat.com/ # v2
Signed-off-by: Christian Brauner <brauner@kernel.org>
2024-09-05 11:00:41 +02:00
David Howells
73425800ac
netfs, cifs: Move CIFS_INO_MODIFIED_ATTR to netfs_inode
Move CIFS_INO_MODIFIED_ATTR to netfs_inode as NETFS_ICTX_MODIFIED_ATTR and
then make netfs_perform_write() set it.  This means that cifs doesn't need
to implement the ->post_modify() hook.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Jeff Layton <jlayton@kernel.org>
cc: Steve French <sfrench@samba.org>
cc: Paulo Alcantara <pc@manguebit.com>
cc: linux-cifs@vger.kernel.org
cc: netfs@lists.linux.dev
cc: linux-fsdevel@vger.kernel.org
Link: https://lore.kernel.org/r/20240814203850.2240469-7-dhowells@redhat.com/ # v2
Signed-off-by: Christian Brauner <brauner@kernel.org>
2024-09-05 11:00:41 +02:00
David Howells
8f52de0077
netfs: Reduce number of conditional branches in netfs_perform_write()
Reduce the number of conditional branches in netfs_perform_write() by
merging in netfs_how_to_modify() and then creating a separate if-statement
for each way we might modify a folio.  Note that this means replicating the
data copy in each path.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Jeff Layton <jlayton@kernel.org>
cc: netfs@lists.linux.dev
cc: linux-fsdevel@vger.kernel.org
Link: https://lore.kernel.org/r/20240814203850.2240469-6-dhowells@redhat.com/ # v2
Signed-off-by: Christian Brauner <brauner@kernel.org>
2024-09-05 11:00:41 +02:00
David Howells
ef966d73fb
netfs: Record contention stats for writeback lock
Record statistics for contention upon the writeback serialisation lock that
prevents racing writeback calls from causing each other to interleave their
writebacks.  These can be viewed in /proc/fs/netfs/stats on the WbLock line,
with skip=N indicating the number of non-SYNC writebacks skipped and wait=N
indicating the number of SYNC writebacks that waited.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Jeff Layton <jlayton@kernel.org>
cc: Steve French <sfrench@samba.org>
cc: netfs@lists.linux.dev
cc: linux-fsdevel@vger.kernel.org
Link: https://lore.kernel.org/r/20240814203850.2240469-5-dhowells@redhat.com/ # v2
Signed-off-by: Christian Brauner <brauner@kernel.org>
2024-09-05 11:00:41 +02:00
David Howells
43ebbf9393
netfs: Adjust labels in /proc/fs/netfs/stats
Adjust the labels in /proc/fs/netfs/stats that refer to netfs-specific
counters.  These currently all begin with "Netfs", but change them to begin
with more specific labels.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Jeff Layton <jlayton@kernel.org>
cc: netfs@lists.linux.dev
cc: linux-fsdevel@vger.kernel.org
Link: https://lore.kernel.org/r/20240814203850.2240469-4-dhowells@redhat.com/ # v2
Signed-off-by: Christian Brauner <brauner@kernel.org>
2024-09-05 11:00:40 +02:00
David Howells
80887f3167
cachefiles: Fix non-taking of sb_writers around set/removexattr
Unlike other vfs_xxxx() calls, vfs_setxattr() and vfs_removexattr() don't
take the sb_writers lock, so the caller should do it for them.

Fix cachefiles to do this.

Fixes: 9ae326a690 ("CacheFiles: A cache that backs onto a mounted filesystem")
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Christian Brauner <brauner@kernel.org>
cc: Gao Xiang <xiang@kernel.org>
cc: netfs@lists.linux.dev
cc: linux-erofs@lists.ozlabs.org
cc: linux-fsdevel@vger.kernel.org
Link: https://lore.kernel.org/r/20240814203850.2240469-3-dhowells@redhat.com/ # v2
Signed-off-by: Christian Brauner <brauner@kernel.org>
2024-09-05 11:00:40 +02:00
Jakub Kicinski
c82299fbbc docs: netdev: document guidance on cleanup.h
Document what was discussed multiple times on list and various
virtual / in-person conversations. guard() being okay in functions
<= 20 LoC is a bit of my own invention. If the function is trivial
it should be fine, but feel free to disagree :)

We'll obviously revisit this guidance as time passes and we and other
subsystems get more experience.

Reviewed-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Link: https://patch.msgid.link/20240830171443.3532077-1-kuba@kernel.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-09-05 11:00:35 +02:00
Thomas Zimmermann
28a7eeb9eb HID: picoLCD: Use backlight power constants
Replace FB_BLANK_ constants with their counterparts from the
backlight subsystem. The values are identical, so there's no
change in functionality or semantics.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2024-09-05 10:55:15 +02:00
Daniel Sneddon
23e12b54ac x86/bugs: Add missing NO_SSB flag
The Moorefield and Lightning Mountain Atom processors are
missing the NO_SSB flag in the vulnerabilities whitelist.
This will cause unaffected parts to incorrectly be reported
as vulnerable. Add the missing flag.

These parts are currently out of service and were verified
internally with archived documentation that they need the
NO_SSB flag.

Closes: https://lore.kernel.org/lkml/CAEJ9NQdhh+4GxrtG1DuYgqYhvc0hi-sKZh-2niukJ-MyFLntAA@mail.gmail.com/
Reported-by: Shanavas.K.S <shanavasks@gmail.com>
Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20240829192437.4074196-1-daniel.sneddon@linux.intel.com
2024-09-05 10:29:31 +02:00
Adrián Larumbe
7de295d1a1 drm/panthor: flush FW AS caches in slow reset path
In the off-chance that waiting for the firmware to signal its booted status
timed out in the fast reset path, one must flush the cache lines for the
entire FW VM address space before reloading the regions, otherwise stale
values eventually lead to a scheduler job timeout.

Fixes: 647810ec24 ("drm/panthor: Add the MMU/VM logical block")
Cc: stable@vger.kernel.org
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Reviewed-by: Steven Price <steven.price@arm.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240902130237.3440720-1-adrian.larumbe@collabora.com
2024-09-05 09:45:33 +02:00
Ryan Walklin
76dce2a96c
drm: panel: nv3052c: Correct WL-355608-A8 panel compatible
As per the previous dt-binding commit, update the WL-355608-A8 panel
compatible to reflect the the integrating device vendor and name as the
panel OEM is unknown.

Fixes: 62ea2eeba7 ("drm: panel: nv3052c: Add WL-355608-A8 panel")
Signed-off-by: Ryan Walklin <ryan@testtoast.com>
Signed-off-by: Maxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240904012456.35429-3-ryan@testtoast.com
2024-09-05 09:41:26 +02:00