Commit graph

1,264,537 commits

Author SHA1 Message Date
Arnd Bergmann
45cfade303 drm/xe/xe2: fix 64-bit division in pte_update_size
This function does not build on 32-bit targets when the compiler
fails to reduce DIV_ROUND_UP() into a shift:

ld.lld: error: undefined symbol: __aeabi_uldivmod
>>> referenced by xe_migrate.c
>>>               drivers/gpu/drm/xe/xe_migrate.o:(pte_update_size) in archive vmlinux.a

There are two instances in this function. Change the first to
use an open-coded shift with the same behavior, and the second
one to a 32-bit calculation, which is sufficient here as the size
is never more than 2^32 pages (16TB).

Fixes: 237412e453 ("drm/xe: Enable 32bits build")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240226124736.1272949-3-arnd@kernel.org
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
(cherry picked from commit 1408784b59)
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2024-03-04 08:41:14 -06:00
Arnd Bergmann
d1d95985ab drm/xe/kunit: fix link failure with built-in xe
When the driver is built-in but the tests are in loadable modules,
the helpers don't actually get put into the driver:

ERROR: modpost: "xe_kunit_helper_alloc_xe_device" [drivers/gpu/drm/xe/tests/xe_test.ko] undefined!

Change the Makefile to ensure they are always part of the driver
even when the rest of the kunit tests are in loadable modules.

Fixes: 5095d13d75 ("drm/xe/kunit: Define helper functions to allocate fake xe device")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240226124736.1272949-1-arnd@kernel.org
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
(cherry picked from commit 0e6fec6da2)
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2024-03-04 08:41:11 -06:00
Arnd Bergmann
64b9175055 Fix kernel panic in OP-TEE driver
-----BEGIN PGP SIGNATURE-----
 
 iQJOBAABCgA4FiEEFV+gSSXZJY9ZyuB5LinzTIcAHJcFAmXlysIaHGplbnMud2lr
 bGFuZGVyQGxpbmFyby5vcmcACgkQLinzTIcAHJft6w/9HMjBHxEFTQaBgx58eGj7
 NLlmf2uYeYKrVCP61xW2GNu5QqRG5lszx7npQimca9eL1N4oAWC+I/l/FZb0RGZJ
 ZzP+pU46gT+7g9NgfF4whhk4w2GTJEZXj0SP8qQ2480M6SY3LIpNytrPcwomAJJ8
 S1ve8Mgv+cypdKu+OxLTfWXXRHTtG5gVkmU3aCkvlN5yuH9037S2W8WSul9IH3D2
 jWLKu3XHdAoDM69J3JWnnP0Pm1sU8Iaar7me0qHwTuZ6Ch0NtDybDR9Pr/cIJTvx
 UXmwRAY5GYx7GbfR3cxvro1yWvQ2dr06+8HojTUKdsfiVT8VJY3n5TqvUAVa9YTZ
 pmrUlvof6c/6GWUGL9rj7pCxqTruMUpFlNRJdaW1h/Z3m3+uCNXA8BsglpBWOyAw
 3oSx+lfalEGWI6G4gj5X3KPTcIjyzG1h7bUt3XFx3YhGY4EBt7QZYJeaF2u+TYQr
 2gzJvAKj6RgZLGm2NAmAfeI3L/65qGFevM8AZ7xmzdn5qmdiEL5EmgxxO+zDHBL9
 BV1GLEk9Tf2nq3/VnD7CgHLadk8gaHsukRsih6CVQqPxPpVh8Rdx+9/SGAXxjnFN
 S9y553WZA+DaVfz2hVgC0NkEYGMCP83Ui+WYwYXSpXjIqIR1jzRdj6hyRuJFmmML
 KclNYBLZbButSQkMI7uZCOo=
 =mE9g
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl2gkACgkQYKtH/8kJ
 Uidsvg//bMwBTtq3pU++7fbJ3DftoqdeAV7/ancXsdtlMS6UlaD9l8xvLLHBxYeM
 V6zIKQGdSXW2QioBteY77HnnXx5HGYqGaHPGWwnSGOH8moKkP3gASpqY3bm5G/C9
 ow2kQl7zhRkqmgZpzbH6MRi/blg5wH0EpDEtqI4O8EgfHHIwUnQjNjsITZCMR6cd
 LqDP31SNe8NCbQdApU0LoGj2gHqgf2uCp59wbVtTmrNbP/ihmBffR/3/JuB4/s2r
 B8ODg57uvZr5xpRy36saeUypUnmB9I/Hxn2+Awb6tT/bvQRJgj2zVL9zFvUdl57E
 nCB9/+7ajbfgmqjQpMfyzVs5yTjtcphbZliTNbQ700JM7zZt5TxwoCdZttXXmDEf
 qf3ySoc8V2ch4goJa3BhDspz4pFF1X4pU6SUoNXmttFkg/sGrH+P6hX9zRe2ceEG
 MXuJBUh2CFItvoBGLxGGD6q9C1UVrv0qlKGLoZWpv/MykIBuyIUb1eU0NP5wK85z
 Lrhl+oyvlVpYnqK2H9U0HivUGzbLovuRrXHoLCxcrqs+QKMOq6mwkgSkKKqCRW9e
 VOAJhqXVl0VffDXda5Tg6i7dTwhxW2ZgzI1puVBlnThHd6eFsGZN0rWj6xXHNTjD
 MRxB22QdEsdiUgP2d+QGFsc5uIHwJYixIGSyFxoa4zp64SgaiGE=
 =HY33
 -----END PGP SIGNATURE-----

Merge tag 'optee-fix-for-v6.8' of https://git.linaro.org/people/jens.wiklander/linux-tee into arm/fixes

Fix kernel panic in OP-TEE driver

* tag 'optee-fix-for-v6.8' of https://git.linaro.org/people/jens.wiklander/linux-tee:
  tee: optee: Fix kernel panic caused by incorrect error handling

Link: https://lore.kernel.org/r/20240304132727.GA3501807@rayden
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 15:26:16 +01:00
Arnd Bergmann
35edcf68a9 arm64: tegra: Device tree fixes for v6.8
This contains two fixes to make the MGBE Ethernet devices found on
 Tegra234 work properly.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmXY2ekACgkQ3SOs138+
 s6GI7xAAmXPB8boojnCr+WQmh6L1akDS8qHicDS7frL/ySf7quZ0mxM8lYwn2DEh
 fGl62amo3s8Qqm+IRcMw/H4gA51U7XSOglxpxpY3KpgghysQgxuSJ7NbYZYLaUyn
 dnr3dLvesEbChJGgcOHTBKo75oa2gd0tWST69csNMZbp1FKUHq4DeF77j3NBLeYb
 9UIZ1rXSo9VqKNBKrlPwaNdTWVoC4xOmIVkGLvJNlIuNN1+IfhZyxRNuHWoWp6Co
 vWDqrAoIIYWfzNWeizm7unvWepRZfLx6fKBlLghifpQ7aRvcJeOKcSXDe8wW7Qz4
 sWCtCHnNjuCnGD6UVyUY8MaYx3P3og1/vt8ywLa8MJblYQ6ki/RAsIyXdxJea3ZD
 A1r6UEypDtj14WKHhIFvluMSxBlPDHFYU8cyBGXcE4EqKYZwXSpU6TMiyrVz86Iw
 PEoBIj9wvRxaf5LdEYccuGZj+z8awC0syS0uDHVN1oa2KZASgKJrhyrQQHzI0t7F
 n6tiBh7xaDIHhyCCmLZiqwHf9zBEjiA1a4sZBFcQGTuXwoaePGb9DO8vwSkRNQa2
 2GjWaPbfvOFhznOE+6bn6gEa9ymkQLATPnaM7ENiLfnsIFeF1zpG/MSoR+eK/Img
 sq4r8+dHwkZpC8iVQv6ix1X9fk8XizKeNiG4iuABPmdX/+bf+Os=
 =b7sU
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl2c0ACgkQYKtH/8kJ
 UidOrw//WAoCu3ExvDZRQYD8JpiIuQ7kv35ABz83TeM8xcLCvxJMxEs9+h8BthRA
 vrRpLh2clYD42xixQisD2ac4fxHvHgzssbuvlbj+lzE+TTKy3j5MAv/7OiR94GCy
 yu2VSBd3ST45lN9XPnxN+R2fwP1rdn2ByfKrODUB0gCgbG6cCNVh+Ba3mbABwbN2
 RaJ6eEH15bqZ/BKtuCpIPkf0M4AzSLRY4cjLKm6cOPGe2J515vUn9/1gqUDlXZyB
 4lsiGwlpDJTey6szHxqzPFPMb+nLQJK7GM5tVq3s24DoJ2XFD6mhJSrpa5PYAVdB
 5DF68fBNar+Oas9TYE3KOIVy6M1wat1ga5zaQIMwXmQHeHnyv32Gt4iEVGF6AUBC
 v69Mj/VJ8NMGUTLd5S9tQ6ZQcl1TUC0SMHaavyVfbWxcIJ94u1sz5vheU0JGBcMW
 DHsvVCZerv2q7IjhZ+DT0xyW6jCsWwqvmi0pj+3X+MiWt5k3tiK41HOCriX/IAwk
 dYhwwMH+FbZTjoROG7UVc9I2SRGg6XP1FQ7/CCYidPoDcajii9UvaiVgXxQtzyEe
 F3UahafQ5xMO0YLrDjgTp9Y/JscRbW0tI9LEQDx6QH3YAVmGR302jnWtNVA8SRoL
 Mgs4lGKa45GuyvPbp7ToW/WjI2F0xtV33PmH0oU8vTbJqyyzJ5U=
 =Ad8s
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-6.8-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/fixes

arm64: tegra: Device tree fixes for v6.8

This contains two fixes to make the MGBE Ethernet devices found on
Tegra234 work properly.

* tag 'tegra-for-6.8-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: tegra: Fix Tegra234 MGBE power-domains
  arm64: tegra: Set the correct PHY mode for MGBE

Link: https://lore.kernel.org/r/20240226144536.1525704-1-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 15:25:16 +01:00
Arnd Bergmann
d20f2a196d i.MX fixes for 6.8, round 2:
- Update MAINTAINERS to use a public mailing list for NXP i.MX
   development.
 - Re-enable CONFIG_BACKLIGHT_CLASS_DEVICE in imx_v6_v7_defconfig to fix
   a backlight regression.
 - Remove DSI port endpoints from i.MX7 SoC DTSI to fix a display
   regression.
 - Fix LDB clocks property for i.MX8MP device tree.
 - Fix TC9595 reset GPIO on DH i.MX8M Plus DHCOM SoM.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmXbTckUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM78BQf9GRuY8jwenOGOoUFksUJrZzl6a/nl
 glYzNyq4t4i91xDE9rU+GtoQe+DjWgKYftiR2pgHNv/uCKIPO+6D4yfLG/eyQet9
 Z1kknUg6kUndiOaWaZ3FiiY3JUoUWHjaXw2REY8ksyVpRQ2fVtSOI2IeFtqIqFuQ
 X1Fx7slntIcbGpbc3iGzZVTi7+ucShYjaVUWUd588iayQsXyHLqz/RxYRVlaErYF
 BElc5Nm+Auw+8Mr+jz2Q71dn+qOI806V+IvqrTGX8PauCk9WsF/TsYcm6MzrhgKh
 4N+NNpqLY11Ty9i+K6OS6qE77jVZ9xxe2UUk0qfa8xWujIGFlLpl3e8q8A==
 =0xer
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl2ZwACgkQYKtH/8kJ
 UietfhAAgm1N4FQRIeWC38uzbR/MN4O29zXEOPNdAYnUdwB8r5gizrViFzsss8al
 EnHDkYzm3k1dnWyRw/gF1BWXLF2lUim2d9ohjYUD3i/HjmLFN4W8vyz0eKUtZrDb
 WAM7Bz9J5QKM+jsi93nXbWznoNArUKjIltwveka0VAS1Mn1HEgcY27as5rPzH3qV
 iWykR6eOMbpCaVQAS1dAt6woa8kvyJGvxnHNtpE/Ac+KeZXjCjHulY7/RK7ZpeHM
 JtufwjzmBltJ3a6G1vergUsH4FIGMJNMBCEKq9cWrSz1gxov1FxOTiokzCp7pQd/
 p8q5xU7NNe0kLosXTxIW2j8rYarQVHy0EaiqwzNi3rwvLBucTc9bbB/B4eEiG6Nm
 HB75/FMu54Xbt/Nt7ov+mgpD62ZjMpypyxsRoiffse170RyyiIqoQvWtSSQML/ef
 E0jnv7P+4/Dh9/NxM1I5+RXlfz8b3v8bA5AxINwpiEXYPnNwRX5gxFFF/qQwLVD5
 P3botb12Ly0gnJBCc84d+G4/BYlrzG/ktNIPlih6XaDXdnzjQkDpRnHAWWKYAeBp
 WwiIu5mL+CHlplYlwgep2tBkZeoSJCVUih32YxKeJRYFCmJcufaGvOIO3FcpostE
 1zCnF58PDk6J4XApjx+2oihRoIwmJ1gQ/9FswzNBMT76H49csIg=
 =3Eab
 -----END PGP SIGNATURE-----

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

i.MX fixes for 6.8, round 2:

- Update MAINTAINERS to use a public mailing list for NXP i.MX
  development.
- Re-enable CONFIG_BACKLIGHT_CLASS_DEVICE in imx_v6_v7_defconfig to fix
  a backlight regression.
- Remove DSI port endpoints from i.MX7 SoC DTSI to fix a display
  regression.
- Fix LDB clocks property for i.MX8MP device tree.
- Fix TC9595 reset GPIO on DH i.MX8M Plus DHCOM SoM.

* tag 'imx-fixes-6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: dts: imx8mp: Fix LDB clocks property
  arm64: dts: imx8mp: Fix TC9595 reset GPIO on DH i.MX8M Plus DHCOM SoM
  MAINTAINERS: Use a proper mailinglist for NXP i.MX development
  ARM: dts: imx7: remove DSI port endpoints
  ARM: imx_v6_v7_defconfig: Restore CONFIG_BACKLIGHT_CLASS_DEVICE

Link: https://lore.kernel.org/r/ZdtPJzdenRybI+Bq@dragon
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 15:24:28 +01:00
Arnd Bergmann
2bb5a9ac88 Qualcomm ARM64 DeviceTree fixes for 6.8
This marks an additional GPIO as protected on SM8650 devices, to avoid
 a system reset caused by a security violation with some firmware
 versions.
 
 It also adds the missing interconnect-names, which resolves a regression
 where one of the I2C busses on SM6115 devices would no longer probe in
 Linux.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmXaqtsVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FztYP/0zH8fB4JBYTxsPwO7/ZYuwPgWuF
 HjfNIfmNyPq87u2GV3BXtTGIXNBZIJeC6gW9HJWYj67OaCJHWebZqwXbSFTveDr8
 G60OwT4vO5SoEFgDv+y1Q5xlWZ1eurzplu/shH1J+aGzj3RSoBsZ/8wcmEszVQ8x
 FO0pkPyrQY8I2kEfyYyAM1Q1rQe4STESP1ijEcZBFKdRRxQIyR/nxdz8V22wbmrf
 kImpzCGX+IJj0Lu3klvsKwZVBLfksOiijRXDzangpoEW/Lnwjk2AWWYGNm/J3vCx
 cfplkWVLGydPmNsoMlCghGA3Qq17lmD8nlXJLOVk14wa/urf4J6gZ03lu8vS9k/A
 bAetQCqrPHq7FsGspxR/uZXjF2/9Zk2w+J7ASuhpu3cbssCJT7upBP7kexc2mjPv
 ASgPpxtFhIdRoqNhQ/6dB/LTxIc0qv7OXKuXtqz0TpSiOtF2vGBpCjInAsmfNfWH
 sSgJ8FtX6Iov4q7QWEt5zn4bdM4kRjaOipe98qGzSXW+BLVQm8ALx/G4WKemTS6i
 +hIt5MJExhrvrNsbknCwvEAzBwmxO456N6vwMbgXJBdED/JtVDbCcgVjiq65ityZ
 PY8gakw9u5oIvBTYWrRdVm9SJe/LBWxhIYNuWpSEuJh8tW6k4DH5oghxisKC7xt7
 QzAjQhR9Aa7OUn6V
 =XtCr
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl2W4ACgkQYKtH/8kJ
 UidKTg//eshErspYoVmC9lMU+8vdrDD0rYdGX21OM7aHBMhp1iy5bbprQ7/BEfST
 i7s83FzgpcTxes8FltEQW6u/uev/WrLCfQ77MF2aI/RC8awkMmKRSVjOjMedl/3C
 aCrtIQJI8bMY4x9fLJPnSVG523wf5ekVWXiH6j4lY7zWGbecS0B4eL2vYC/RWXVT
 WiF2g6/IUjxkYXk8mAxEbUA5SL1m92zjwUc39jRJQrVmVTb/zoVJr5rEIdXZ/El+
 9/CK56Vg75ajGWQNwt2APyQR65NxH1nIgktYwiz9HcBK47fifnM8lpD0709HvT7c
 8V8hZ0Tn7q2NbfCM3eCn2IoRgSFYPPtHFw3B/TakTW3ZxQUYYkdRyixNiulaAOkJ
 sjcDuxYhQ2CsnAfhgblXd06Oqd/GlMTUFOyGxsydnWY73san2L3eWchczzAHSVoH
 /IiiW0Q0QGiL0RjUDGvppxfBC7kzOWgfABp2jWPkwHU1yaVfNsLrUgh+EsDevS3m
 C+d9/kYVVjgu1hTQGgTXPVMPVeDt1Weyuv6sYIlf6KnNchMXOFJfYzTXgYwxBtaU
 CsAC23HSBV3EkuuRte3cbGrvyLTJsMOBEQ98zNHCa0Y9yVkdY5zWqDpi6qizX1KJ
 si2Py/LwK68a+WdljcP05K/vMuqxNN7oV5w8DSSxC0O881Y6AAE=
 =30J9
 -----END PGP SIGNATURE-----

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

Qualcomm ARM64 DeviceTree fixes for 6.8

This marks an additional GPIO as protected on SM8650 devices, to avoid
a system reset caused by a security violation with some firmware
versions.

It also adds the missing interconnect-names, which resolves a regression
where one of the I2C busses on SM6115 devices would no longer probe in
Linux.

* tag 'qcom-arm64-fixes-for-6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  arm64: dts: qcom: sm6115: Fix missing interconnect-names
  arm64: dts: qcom: sm8650-mtp: add gpio74 as reserved gpio
  arm64: dts: qcom: sm8650-qrd: add gpio74 as reserved gpio

Link: https://lore.kernel.org/r/20240225025205.479589-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 15:23:42 +01:00
Arnd Bergmann
aa8bb984f7 - include Orange Pi Zero 2W DT in Makefile
-----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQSPRixG1tysKC2PKM10Ba7+DO8kkwUCZdj93QAKCRB0Ba7+DO8k
 kx3SAP9FrlTx3Wk5z2ItAAIG5pdWx6s1Vu6jLyOCfrROK8cY6QD/XpcmX/2YxAao
 Nu/SGtYOMI505mqtpIYeK0ithkUtJQs=
 =kb8G
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl2SgACgkQYKtH/8kJ
 UidntxAAhLt35mI2INFSLdYuGY3XcwmPAH/cdWHyorCa6zsH6dyV9Np6Rbdg01Wr
 TaWHkOYC0SL/UfAc3uwyRJca2T0rFBAhOzbFt5MYdxFIv2bJ2KpeIkK0uDN1U/ly
 EVYOo8X7Y+Osz8jiRd1QZw1lvjcC8gam3XeLWjvllfqpYykcCAtTo/uz4yfpugU0
 y+g1zxMuEOU5MXGjSKJ7AiRXfOcNaNYwx+AXCcR3OXFmBx7ak1vak/e1RpllCA8c
 UnlELVWrgsN+MpbSJKE74VjMY8ckU5n8JVd/T3cLZFKambA3NqxbIkfgMBSAEC5f
 gpFi4NmAsSvrjtq+rYiCgcBA9cVim0sL0Kcn/oFw1mwZmDo2TMXAB3j/zJIcHmYd
 ixq4OkFL7OJV+4OSWUPZgAW7UrosWYzslrk4/t2dhSfNtwm2GhKgWTRI6e20qFI3
 FIbFzLFHOeML3wo6ZOCBpp7JrXHw5bBPvp8p5u2gP3aHlxz1VuKvw/TftXAM3e/H
 GMLx5ItoVURGCyQPyqg6b6I18OOlbR7ftyKkWVyLT+s9adHRn8R8vNDQdVk1nDuZ
 ONTHR3bwMrlrw6ux1Pcf9AscW3E/RwTlYsZcrQNaUhCxzZVYnB35INZ8jX93Qi07
 uEW5t3Of2vxOjiMXF1Ylj95HyUdXJkOSGLpZ0iGYYr9d/7pI6Ok=
 =C7/V
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-fixes-for-6.8-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/fixes

- include Orange Pi Zero 2W DT in Makefile

* tag 'sunxi-fixes-for-6.8-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: dts: allwinner: h616: Add Orange Pi Zero 2W to Makefile

Link: https://lore.kernel.org/r/20240223205450.GA8881@jernej-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 15:22:32 +01:00
Ji Sheng Teoh
b9f71ab215 MAINTAINERS: Add entry for StarFive StarLink PMU
Add maintainer entry for StarFive StarLink PMU driver, and mark it as
"Maintained"

Signed-off-by: Ji Sheng Teoh <jisheng.teoh@starfivetech.com>
Link: https://lore.kernel.org/r/20240229072720.3987876-5-jisheng.teoh@starfivetech.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-03-04 14:19:48 +00:00
Ji Sheng Teoh
49925c1c5a docs: perf: Add description for StarFive's StarLink PMU
StarFive StarLink PMU support monitoring L3 memory system PMU events.
Add documentation to describe StarFive StarLink PMU support and it's
usage.

Signed-off-by: Ji Sheng Teoh <jisheng.teoh@starfivetech.com>
Link: https://lore.kernel.org/r/20240229072720.3987876-4-jisheng.teoh@starfivetech.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-03-04 14:19:48 +00:00
Ji Sheng Teoh
66461b43b0 dt-bindings: perf: starfive: Add JH8100 StarLink PMU
Add device tree binding for StarFive's JH8100 StarLink PMU (Performance
Monitor Unit).

Signed-off-by: Ji Sheng Teoh <jisheng.teoh@starfivetech.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20240229072720.3987876-3-jisheng.teoh@starfivetech.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-03-04 14:19:48 +00:00
Ji Sheng Teoh
c2b24812f7 perf: starfive: Add StarLink PMU support
This patch adds support for StarFive's StarLink PMU (Performance
Monitor Unit). StarLink PMU integrates one or more CPU cores with
a shared L3 memory system. The PMU supports overflow interrupt,
up to 16 programmable 64bit event counters, and an independent
64bit cycle counter. StarLink PMU is accessed via MMIO.

Example Perf stat output:
[root@user]# perf stat -a -e /starfive_starlink_pmu/cycles/ \
	-e /starfive_starlink_pmu/read_miss/ \
	-e /starfive_starlink_pmu/read_hit/ \
	-e /starfive_starlink_pmu/release_request/  \
	-e /starfive_starlink_pmu/write_hit/ \
	-e /starfive_starlink_pmu/write_miss/ \
	-e /starfive_starlink_pmu/write_request/ \
	-e /starfive_starlink_pmu/writeback/ \
	-e /starfive_starlink_pmu/read_request/ \
	-- openssl speed rsa2048
Doing 2048 bits private rsa's for 10s: 5 2048 bits private RSA's in
2.84s
Doing 2048 bits public rsa's for 10s: 169 2048 bits public RSA's in
2.42s
version: 3.0.11
built on: Tue Sep 19 13:02:31 2023 UTC
options: bn(64,64)
CPUINFO: N/A
                  sign    verify    sign/s verify/s
rsa 2048 bits 0.568000s 0.014320s      1.8     69.8
/////////
 Performance counter stats for 'system wide':

         649991998      starfive_starlink_pmu/cycles/
           1009690      starfive_starlink_pmu/read_miss/
           1079750      starfive_starlink_pmu/read_hit/
           2089405      starfive_starlink_pmu/release_request/
               129      starfive_starlink_pmu/write_hit/
                70      starfive_starlink_pmu/write_miss/
               194      starfive_starlink_pmu/write_request/
            150080      starfive_starlink_pmu/writeback/
           2089423      starfive_starlink_pmu/read_request/

      27.062755678 seconds time elapsed

Signed-off-by: Ji Sheng Teoh <jisheng.teoh@starfivetech.com>
Link: https://lore.kernel.org/r/20240229072720.3987876-2-jisheng.teoh@starfivetech.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-03-04 14:19:48 +00:00
Arnd Bergmann
b98ad40faa Few more SoC changes for omaps
Two changes to implement REBOOT_COLD for am335x.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmXgPJsRHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXNVRBAAvVN5aHVqE2wcb+VPcDTz1ujgof9fZQoi
 sDdhZx0NDCF9AQ8T43ynj0q56pnkGAJs1TKL7XhsKfqvDXferp1s/7sYqrCoaBst
 bMfkoMpSQLwrbbICfoOKOmyG0XsTt6o0/NgPDQpv4km5/TAcnAj1cESwK873hrLM
 AEjrUqVYArVLvK5hPYzwyWZ69ItTFgs7JvmnOSJEQa8/yeIf08n6qdFQYS3aGWku
 tViaKgDEAvdkD29xEhoeoyIUw5AziBT69ggA+042AJzbvO1zVH1zQacf2kf0odS7
 tZ5Ezh99bNyoQGeyQWKZE619XZWIm0Ni3oWyxYr7fWzMNvUT8vf5QzHX5kB1XooI
 H5blqQ9VjaQfyajB2NiN8PSEcS1X8PP/zXMBPC+VG8XljUthVKKYmF38KOjwY4th
 QbAWA0w2Eo9M36Y4ZBPW+gRxsxi1NlWjKdUV5Ql/LGXLNtLYljj/fHm+usgGiQfm
 njjPHdmJHVzY7GjBvf+xd5nuL9MTnluJXU11vsqouHIo+2CrNz6nOMsaK7bjfXjh
 w82o1jBC5bClatXqShk/do8tpRc+Z12AmrZ5JLD/Ko3mGEfuYXKfTFdGW9TRyW8c
 0dmNBzgKuew1gQrLo57U2DDD7Uqs1O31LmjZseGS80GPWSAbf0URS4klzMaWj0a4
 dKRp5V5SswM=
 =EoNX
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl2DgACgkQYKtH/8kJ
 Uidqfg/9GQQBmEtpY8DVDwYTTDvHuhXiXlVy0IjPS1PGu4WorJuM49YuEVahRMGh
 ylL1rAin2mJdf+XTUHyWhJgFt0wx5DeS/AgWLSJ0uQl3IEKaOtLnYLv7BunKGnlo
 247ekt6BPCHkxnq1/Sx0ovgNO/XLf/G/FHTEFKtnNmRN9Zouh+ay38Wy0eOOY0bS
 3eFmwVKwcVpDwE+AANE6QHYJqFd1EGSX31wMokpt3HdRxGrvOKSfvVpL4+zOCdH4
 +g8sdirg+LJxQBpoIbz3quwxSvmw/i3uisw40nL1LPDvAaw+UOXNbKfqgrzAl1AR
 YUL2kUWC4+7/5DUrzGy6APi10j9PUxmWicIvilsD91CRhB4qnVvg4wxg3hQoo2NF
 DkEisSN9pKpkQ54wwGYjjSI8EzGmyv8q3jB7syu0TZFm2piMHe341XVSDDxOgUFt
 rH25P84WRdW0KAANdGdxWlQJ/UoWcyVrO2bWxTntOo9p6EdBbIF1kl4anSX6KvDa
 JuHfIwMWutCb2cI6Vqllh07r07Tbs+krQU6YqO4f5IhEBKk5yZvFCd0wZXa/BXLX
 TJF6QkRZRBEd26Id/jt1CzTagU/gW5RwSfXa1KBqxaJVDEEWMfEFM+8aT8iDUWZ0
 1dp+JSM8aB8RclkuHJkdSqRCn+qTDC6fKDDFd/1yq6k4u70I0I8=
 =ZWXU
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v6.9/soc-part2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into soc/arm

Few more SoC changes for omaps

Two changes to implement REBOOT_COLD for am335x.

* tag 'omap-for-v6.9/soc-part2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: AM33xx: PRM: Implement REBOOT_COLD
  ARM: AM33xx: PRM: Remove redundand defines

Link: https://lore.kernel.org/r/pull-1709194504-639032@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 15:18:32 +01:00
Junhao He
89a032923d docs: perf: Update usage for target filter of hisi-pcie-pmu
One of the "port" and "bdf" target filter interface must be set, and
the related events should preferably used in the same group.
Update the usage in the documentation.

Signed-off-by: Junhao He <hejunhao3@huawei.com>
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20240223103359.18669-9-yangyicong@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-03-04 14:18:29 +00:00
Junhao He
7da377059e drivers/perf: hisi_pcie: Merge find_related_event() and get_event_idx()
The function xxx_find_related_event() scan all working events to find
related events. During this process, we also can find the idle counters.
If not found related events, return the first idle counter to simplify
the code.

Signed-off-by: Junhao He <hejunhao3@huawei.com>
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20240223103359.18669-8-yangyicong@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-03-04 14:18:29 +00:00
Junhao He
2fbf96ed88 drivers/perf: hisi_pcie: Relax the check on related events
If we use two events with the same filter and related event type
(see the following example), the driver check whether they are related
events and are in the same group, otherwise the function
hisi_pcie_pmu_find_related_event() return -EINVAL, then the 2nd event
cannot count but the 1st event is running, although the PCIe PMU has
other idle counters.

In this case, The perf event scheduler will make the two events to
multiplex a counter, if the user use the formula
(1st event_value / 2nd event_value) to calculate the bandwidth, he/she
won't get the correct value, because they are not counting at the
same period.

This patch tries to fix this by making the related events to use
different idle counters if they are not in the same event group.

And finally, I'm going to say. The related events are best used in the
same group [1]. There are two ways to know if they are related events.
a) By event name, such as the latency events "xxx_latency, xxx_cnt" or
bandwidth events "xxx_flux, xxx_time".
b) By event type, such as "event=0xXXXX, event=0x1XXXX".

Use group to count the related events:
  [1] -e "{pmu_name/xxx_latency,port=1/,pmu_name/xxx_cnt,port=1/}"

  example:
    1st event: hisi_pcie0_core1/event=0x804,port=1
    2nd event: hisi_pcie0_core1/event=0x10804,port=1

  test cmd:
    perf stat -e hisi_pcie0_core1/event=0x804,port=1/ \
               -e hisi_pcie0_core1/event=0x10804,port=1/

  before patch:
            25,281      hisi_pcie0_core1/event=0x804,port=1/    (49.91%)
           470,598      hisi_pcie0_core1/event=0x10804,port=1/    (50.09%)

  after patch:
            24,147      hisi_pcie0_core1/event=0x804,port=1/
           474,558      hisi_pcie0_core1/event=0x10804,port=1/

Signed-off-by: Junhao He <hejunhao3@huawei.com>
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huwei.com>
Link: https://lore.kernel.org/r/20240223103359.18669-7-yangyicong@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-03-04 14:18:29 +00:00
Junhao He
2f864fee08 drivers/perf: hisi_pcie: Check the target filter properly
The PMU can monitor traffic of certain target Root Port or downstream
target Endpoint. User can specify the target filter by the "port" or
"bdf" option respectively. The PMU can only monitor the Root Port or
Endpoint on the same PCIe core so the value of "port" or "bdf" should
be valid and will be checked by the driver.

Currently at least and only one of "port" and "bdf" option must be set.
If "port" filter is not set or is set explicitly to zero (default),
driver will regard the user specifies a "bdf" option since "port" option
is a bitmask of the target Root Ports and zero is not a valid
value.

If user not explicitly set "port" or "bdf" filter, the driver uses "bdf"
default value (zero) to set target filter, but driver will skip the
check of bdf=0, although it's a valid value (meaning 0000:000:00.0).
Then the user just gets zero.

Therefore, we need to check if both "port" and "bdf" are invalid, then
return failure and report warning.

Testing:
before the patch:
                   0      hisi_pcie0_core1/rx_mrd_flux/
                   0      hisi_pcie0_core1/rx_mrd_flux,port=0/
              24,124      hisi_pcie0_core1/rx_mrd_flux,port=1/
                   0      hisi_pcie0_core1/rx_mrd_flux,bdf=0/
                   0      hisi_pcie0_core1/rx_mrd_flux,port=0x800/
     <not supported>      hisi_pcie0_core1/rx_mrd_flux,bdf=1/
              24,132      hisi_pcie0_core1/rx_mrd_flux,bdf=0x1700/
     <not supported>      hisi_pcie0_core1/rx_mrd_flux,port=0x0,bdf=0x0/
     <not supported>      hisi_pcie0_core1/rx_mrd_flux,port=0x0,bdf=0x1/
              24,138      hisi_pcie0_core1/rx_mrd_flux,port=0x0,bdf=0x1700/
              24,126      hisi_pcie0_core1/rx_mrd_flux,port=0x1,bdf=0x0/

after the patch:
     <not supported>      hisi_pcie0_core1/rx_mrd_flux/
     <not supported>      hisi_pcie0_core1/rx_mrd_flux,port=0/
              24,153      hisi_pcie0_core1/rx_mrd_flux,port=1/
                   0      hisi_pcie0_core1/rx_mrd_flux,port=0x800/
     <not supported>      hisi_pcie0_core1/rx_mrd_flux,bdf=0/
     <not supported>      hisi_pcie0_core1/rx_mrd_flux,bdf=1/
              24,117      hisi_pcie0_core1/rx_mrd_flux,bdf=0x1700/
     <not supported>      hisi_pcie0_core1/rx_mrd_flux,port=0x0,bdf=0x0/
     <not supported>      hisi_pcie0_core1/rx_mrd_flux,port=0x0,bdf=0x1/
              24,120      hisi_pcie0_core1/rx_mrd_flux,port=0x0,bdf=0x1700/
              24,123      hisi_pcie0_core1/rx_mrd_flux,port=0x1,bdf=0x0/

Signed-off-by: Junhao He <hejunhao3@huawei.com>
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20240223103359.18669-6-yangyicong@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-03-04 14:18:29 +00:00
Yicong Yang
00ca69b856 drivers/perf: hisi_pcie: Add more events for counting TLP bandwidth
A typical PCIe transaction is consisted of various TLP packets in both
direction. For counting bandwidth only memory read events are exported
currently. Add memory write and completion counting events of both
direction to complete the bandwidth counting.

Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20240223103359.18669-5-yangyicong@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-03-04 14:18:28 +00:00
Yicong Yang
b6693ad68e drivers/perf: hisi_pcie: Fix incorrect counting under metric mode
The metric counting shows incorrect results if the events in the
metric group using the same event but different filter options.
This is because we only judge the event code to decide whether
the event in the metric group should share the same hardware
counter, but ignore the settings of the filter.

For example, on a platform of 2 ports 0x1 and 0x2 but only port
0x1 has a downstream PCIe NVME device. The metric counting
shows both ports have the same counts because we misassign these
two events to one same hardware counter:
[root@localhost perf-iostat]# ./perf stat -e '{hisi_pcie0_core1/event=0x0104,port=0x2/,hisi_pcie0_core1/event=0x0104,port=0x1/}'

 Performance counter stats for 'system wide':

        7907484924      hisi_pcie0_core1/event=0x0104,port=0x2/
        7907484924      hisi_pcie0_core1/event=0x0104,port=0x1/

      10.153863691 seconds time elapsed

Fix this by using the whole config rather than the event only
to judge whether two events are the same and should share the
same hardware counter. With this patch, the metric counting in
the above case tends to be corrected:

[root@localhost perf-iostat]# ./perf stat -e '{hisi_pcie0_core1/event=0x0104,port=0x2/,hisi_pcie0_core1/event=0x0104,port=0x1/}'

 Performance counter stats for 'system wide':

                 0      hisi_pcie0_core1/event=0x0104,port=0x2/
        8123122077      hisi_pcie0_core1/event=0x0104,port=0x1/

      10.152875631 seconds time elapsed

Fixes: 8404b0fbc7 ("drivers/perf: hisi: Add driver for HiSilicon PCIe PMU")
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20240223103359.18669-4-yangyicong@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-03-04 14:18:28 +00:00
Yicong Yang
4d473461e0 drivers/perf: hisi_pcie: Introduce hisi_pcie_pmu_get_event_ctrl_val()
Factor out retrieving of the register value for the
corresponding event from hisi_pcie_config_event_ctrl() into a
new function hisi_pcie_pmu_get_event_ctrl_val() allowing future
reuse.

Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20240223103359.18669-3-yangyicong@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-03-04 14:18:28 +00:00
Yicong Yang
54a9e47eeb drivers/perf: hisi_pcie: Rename hisi_pcie_pmu_{config,clear}_filter()
hisi_pcie_pmu_{config,clear}_filter() are config/clear HISI_PCIE_EVENT_CTRL
register which contains not only the filter but also the event code. The
function names are bit misleading. Rename it to
hisi_pcie_pmu_{config,clear}_event_ctrl() to reflects their functions
more accurately.

Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20240223103359.18669-2-yangyicong@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-03-04 14:18:28 +00:00
Arnd Bergmann
dd0907f31a Kconfig change for omap1
Just one change to drop a duplicate select ARCH_OMAP.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmXgO8MRHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXMsdQ/+MjAujops2S7VV5Yob/hBlsSz1sutIRX9
 2OoHlpw2mWHEQrmuYdEXMMz7I+h9AAAWLgYq3f0dKom1dmALLWblKwhK1DLin6pn
 ucYam5XhLuYu94GN9c5erhstLya1vL+fp9nNArlUaMErULN2c8Fagev3rfJf3wxm
 a0K3Du22WWcV+hNlDPiW+oJ20uG2dYQTDv1hShhrP60hcUamzeWgZD4Fup1GaViu
 v4ya5ufzWOhMs1hilgibEAaNNjWM8zB5jvC8NcUJpi3PY+SYG8VePWwGIO0Co1Ig
 s7GcmUrKH1IFOd+1bEKOtfmJ98LtyBtcHPCbCkiyt2pheUinzf/67S/fJSwADphr
 1bjkRd49ebeQ/k0KmEv+xJ8OeeB2Qk/eRCHmIKN6squOWZ1uiFmITJz8josa7EVt
 qwAnIih6TtdTbxYY3J/jFjiiuJ3gKlxG2CMYdThUfl0cD3DLMVCyoQXROg/kbnTS
 mC5vizMuiQPTEMSEQWYzDOisjwntikMY+Wr06oRJI2aNoV8/eczPvnkOLioyvuxT
 98xq81NeKS5oLBcgTe3yFPP5n3CSZxFa9e6kH8sj8TWqgryIcMV17pbLf8xCMMcP
 PvPp4AEDDegKAtdERgCYsUzkkYxxVCELHKXQT7M+6hA8UNr1SFDm2quofgZn+pT4
 ZFZtLbNjBxU=
 =c9n0
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl2AAACgkQYKtH/8kJ
 UiehyA//eSV3g4tsTuVRPTfowRG02Xh31cWWa76rEnkVgS1dFNa8Sdp5OcyZJldy
 5cF9oGnmViszVaP0FKZ6PZBjemn9A1Q4MpAt2QxKyppSBDg3YXo4B2x296FlbtAz
 Fv8yjvEJ3irXJIIz1Pp4oPsmEzGz9MivG41njtLP0js+2AKm784Gnnwt6qjyh8DD
 7RkgC3AtNt2r70lVtlH8msE3CZ4mYJZCABXzCLcvMU6XiVDWaMwjfC6yiu57IEwN
 35vRf66ijvTXxpF0IPptzjLvu5fSgEBnHHfzE+T2sYme0ZCnr4ZQgGaYe3tEUnT0
 cX8iFmN7fGiG+Vw0bhLcVyH/LYzMfAXUdU/jd3v48MO9MAIH07MSYPQBrINcBZTm
 eOulTGcVAGDKcktVfraNmc3PZP3s+JwmlO6EX7a0xkfn0gaKjE3utChRcIwkVLD6
 xYcJmCGvwELPkkghJhxFQ3FswH8cDGuDiWYzScl3gQa1lCIMQf7JAW1KpMVLX4px
 raR4i2jII6X5UCWYMCV5tC/ve9jA62CATo2mJpqK7WZNpKroAJxKrUklJP/U52V9
 6VqBpWc2O1vIyNu7BLkHciUH5mo1SAleNrqPBbmc68oSbsUo0656AawVoVCXWD2C
 EUiiDeSd8x4lGVB+PIJ4NBsDpVDWjL0Puj6RI8VtXSOUmdDhPgY=
 =nw7Z
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v6.9/omap1-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into soc/arm

Kconfig change for omap1

Just one change to drop a duplicate select ARCH_OMAP.

* tag 'omap-for-v6.9/omap1-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: omap1: remove duplicated 'select ARCH_OMAP'

Link: https://lore.kernel.org/r/pull-1709194435-723888@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 15:17:36 +01:00
Arnd Bergmann
1618c466c4 arm64: ZynqMP SoC changes for 6.9
- Update maintainer for event manager
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQbPNTMvXmYlBPRwx7KSWXLKUoMIQUCZdyFhAAKCRDKSWXLKUoM
 IUCFAJ4y5yXU9dcPml/fdvq9XdBic50VXwCdFAoz+7D56MLjeCfbL2CApd/8bys=
 =l/9/
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl17QACgkQYKtH/8kJ
 UidWLw/+JFL3gGDhEc1eVMd42ke/CxbkPXouvEujj1BDqQpxzCOGD4ceIDPFszFU
 gGWjq5ZogjGYNUXJXveiz15MbZCvl/jJMWNu7jrpG4h6DdzKK97zktUuu0jsY3Sy
 c/E49tjvH3rm4COaS+isCTH1AtVNiK7TFSEf3xTbwyOBByarpzaVbVGeO/+dnS/E
 jVoI1IiareFnuTiWMP9u3BrtZf8lEdLnxR0stEzVnXy1IzToSmM5pHS6/tNgIwlU
 JIEWxNMfvi1L1wtiOlJKpFnB0GH59x9N+GJ4dssHs+QuL4j3LCGOtfoYmT3bVsf4
 +n6hZQ/CqgHdV8Fej3RSvzC72bxOwvUDzxaJrmFIpaIhNbU/2e+fLl4fHDfmSP82
 cAOd24OjSUu+YILZFANZ9zKTpm+N6ab/DcpCLBgo7HWpyEprcMj3xY6u77efwGPY
 8Gewy6AxJ4+zjI7dNVcIKgQ08UeBZMMRKtBhQ55Am1DM9O7/4WTMJD5ZhJmIldbj
 RLdUo6GIkDWF9XxvosITHciM8csfp9gVOrSgg4v06QiThcBP5tsT6vILotfumMjv
 FxGvsGFWNQfidFde1BTVRe+XGragItrk9M0/I7CE1tj2vlKU4d67CSohm+Is2uKs
 2jzsDbVyV9Sh1X0SPEcrG9IpTvvo8NY9JvucbF4VbHw355e41dw=
 =0HVL
 -----END PGP SIGNATURE-----

Merge tag 'zynqmp-soc-for-6.9' of https://github.com/Xilinx/linux-xlnx into soc/arm

arm64: ZynqMP SoC changes for 6.9

- Update maintainer for event manager

* tag 'zynqmp-soc-for-6.9' of https://github.com/Xilinx/linux-xlnx:
  soc: xilinx: update maintainer of event manager driver

Link: https://lore.kernel.org/r/CAHTX3d+NGUJhKXxGwskSOf6U9P0Nd9rnroFczD8X2mLhFgcm0Q@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 15:16:20 +01:00
Junhao He
e10b6976f6 drivers/perf: hisi: Enable HiSilicon Erratum 162700402 quirk for HIP09
HiSilicon UC PMU v2 suffers the erratum 162700402 that the PMU counter
cannot be set due to the lack of clock under power saving mode. This will
lead to error or inaccurate counts. The clock can be enabled by the PMU
global enabling control.

This patch tries to fix this by set the UC PMU enable before set event
period to turn on the clock, and then restore the UC PMU configuration.
The counter register can hold its value without a clock.

Signed-off-by: Junhao He <hejunhao3@huawei.com>
Reviewed-by: Yicong Yang <yangyicong@hisilicon.com>
Link: https://lore.kernel.org/r/20240227125231.53127-1-hejunhao3@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-03-04 14:16:10 +00:00
Arnd Bergmann
56f0fafd5b ARM: Zynq SoC changes for 6.9
- Fix kernel-doc
 - Removed one useless header
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQbPNTMvXmYlBPRwx7KSWXLKUoMIQUCZdx+AwAKCRDKSWXLKUoM
 Id/MAJsFX4ebOn60dtvZPFnNJbs7ROGPNQCfQ3BrNcfLMhIEwjDdxkBHjtfkCVY=
 =uy9J
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl13UACgkQYKtH/8kJ
 UiclZQ/7BKUCwj9sP+YaDr0XWLkk9xxRuyyXDUQfD2DRwko9I51IxtaogtRrhRbI
 VPYRhYCgypCfOgkCoe/wRk87qz69Olde0TXrtxqC1Bo0C7T1ZsMSlC5kUnWfNtnl
 U2gypPAl6cm09LIeWr1r8ocUcaetKpJ4cDAVS5ORtw1Re93hwQzhGz53gyZJlmlG
 jZu5+sBiQdRdijXTadUenLUwXuhZIw2r/TlRqaR15mas4av6bb0zoW8zr6268qsn
 IdxiaGH+JdMGfrxPXwY4tvh+9c4vLg3HSoo+6aa/6aJW6xzKyOXMUV6FmjyY//pk
 3b1LsUSO6Elhnl0KVvKHyiNiW7Btml28L2uDF1TrQ+qgkIQxyLDxjYhuhwWZq3GB
 KZzv2wfff3Pgy5bh5GesykH3NGSPZV23pYGrp8ipQseEuQ8cF3dK8OD6qIuySa2X
 xYzGQYCj5/0vIpftrWT/E1CYekPkDrT2OXpUSTpO5Yt8UVl9kS0jJGs79a2zlsjD
 YcWCy5jrSm9nC3d2cYaZTikYBoiz/xZkWKz6SoTTRX3vnQIeq/0otxO4Gni0HFjZ
 uzHjqAUNIhwQ/uiJdjhvvfpfbeLr3ZMqknHx8UwnYDYuGx1L7Z+ljWhK6jjAU2Nx
 /YdtnjEZlp4uL213MHyNJd4JVV0niWCZoWSHD3rTTQIFkjdsPv0=
 =AVfV
 -----END PGP SIGNATURE-----

Merge tag 'zynq-soc-for-6.9' of https://github.com/Xilinx/linux-xlnx into soc/arm

ARM: Zynq SoC changes for 6.9

- Fix kernel-doc
- Removed one useless header

* tag 'zynq-soc-for-6.9' of https://github.com/Xilinx/linux-xlnx:
  ARM: zynq: Remove clk/zynq.h header
  ARM: zynq: slcr: fix function prototype kernel-doc warnings

Link: https://lore.kernel.org/r/CAHTX3dJpawPhgVxSsXuSvG20JY9r4EkJu2NrrH1OKRjKxTpNAA@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 15:15:17 +01:00
Arnd Bergmann
9cfb800b26 Kerneldoc warning fixes for omaps for v6.9
A series of kerneldoc warning fixes for omaps from Randy.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmXcarYRHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXO8/xAAt6QX98EnRQfjJVQFoSJ1/aKF4wUiMPDS
 Gef40TP6zsYBdri2+h88RQg/dmchCDOgZ+4IOMlDN+iTKLOuIImOw8AmYRMp3CsK
 E/fFgJhD7ZcNVGl83ZrmuiX67ekEENba6H0kHVVR/VvVfTMjBjqNUMJH13qkPWvd
 /9liMMuTCJAlwctnJG6GSIqGJznqUPyiBLN77D9S/5LR5aetSF8Tii9yiMDsIBL2
 7r4Ex7vrbSH2bmFBgPBdCw4Nrdcv0ddprUNfnYNmePbbZNQay7gme3byfTg6Ib9A
 0qh6WNhStF4z3P7a4dC6XKQgSMLtMHxTdW+9LYPrkZm1jc+V9u4nLxA4bDaILjlk
 4S3k/EhJ6a1Rt61kurBHZ5Mr6sKGEBpYsvMhQGSOvdv+xAiUHy7er2mNwN84pOuI
 7pnY7TCXdcrRX1t3bwSpWe+tda+G5YhlcVNjvrjisgkdaJE8SniJy4wVfQKXh6Co
 HHshqQJnqxwFb599vj2BrgWHP5yeaIwLfil3N03HoMDDnQFfrij7sozjZ20mqrnB
 gIODNTyP99EqSdCpAFJQschHQMOvuqqLosNZNM/pO7xexoXw5ilNBxRaHx9lpmiH
 vmd7OR9ppsGNLrs+X7AiNeSo/j1r5UIxF2TXu0TCqh7hSzqXbtqpQYAHYrCBXCRa
 ijPhsSPfdao=
 =8GBw
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl1yUACgkQYKtH/8kJ
 Uid74xAAywFgPAmSskA71LpfGTnXUx6HN+OXY72LpLtX6f/PXFGaEI2co4H81mMc
 5CgIr0NncMCg/i1SAjyIOxgDs4SWSfG1gsGw07aeoKqt6hJQay9lnO7HlF0oOHSm
 pKIvASS4pLNTqKAdp9cQ/wfvbaz4LdYsVrmPhfrIjSlc7s1f2MTh747sPFA5HQQx
 uMbW1qFydmfMcRaJvleEnQ6PmP2g/uBZckRX3w9R+EzFhye1X2ZBDOF7qXSjlJ9J
 NLcWhrdtwEX/x6KjczHfgil43OG1+z535MXn83sI2sHJIC34NuuxPk9ZOYAbUGqW
 i1MKk7U4CV6EU2b7+uzo5OKTxVZdDbV+dI+bs8NYl/0mXK1ZwuItXb8xE5UrnvnY
 5kX5+lo1xl6OiOQF+Kl7ld+EZ+Du+UAlDmKemuxVQbsXFxj1Ef7cG1bkwdDdjQl8
 eTmcHyHvE2WCLuegmYfzPo0hPxVAPvoQa208fLX0gc63yWh0rQVRCP0VWW44485b
 Y/EfNYT7hmr+8N/A3lWkUMPM8Tq68K+DcVYY1XVkMp4CfK5cgu1E1JHy4T676B5c
 l5OftL3voze/ann7zKjrymnk2OITV3w4YEab/I4BBdw5Vy6vJrsPzERtDsRFieNW
 BJXg+GQDt4uk8Om1YEfugUGoM3ZnYPbZ1y1oYcMbzq44ghWy9rk=
 =fPqJ
 -----END PGP SIGNATURE-----

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

Kerneldoc warning fixes for omaps for v6.9

A series of kerneldoc warning fixes for omaps from Randy.

* tag 'omap-for-v6.9/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: fix kernel-doc warnings
  ARM: OMAP2+: fix kernel-doc warnings
  ARM: OMAP2+: fix a kernel-doc warning
  ARM: OMAP2+: PRM: fix kernel-doc warnings
  ARM: OMAP2+: prm44xx: fix a kernel-doc warning
  ARM: OMAP2+: pmic-cpcap: fix kernel-doc warnings
  ARM: OMAP2+: hwmod: fix kernel-doc warnings
  ARM: OMAP2+: hwmod: remove misuse of kernel-doc
  ARM: OMAP2+: CMINST: use matching function name in kernel-doc
  ARM: OMAP2+: cm33xx: use matching function name in kernel-doc
  ARM: OMAP2+: clock: fix a function name in kernel-doc
  ARM: OMAP2+: clockdomain: fix kernel-doc warnings
  ARM: OMAP2+: am33xx-restart: fix function name in kernel-doc

Link: https://lore.kernel.org/r/pull-1708944095-4485@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 15:13:56 +01:00
Arnd Bergmann
d741a2d863 i.MX SoC changes for 6.9:
- Remove usage of the deprecated ida_simple_xx() API from MMDC code.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmXb7FsUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM52CwgAt3G49utgmhzToxuln4QDASMigX5t
 cbyyvngQzf121ZZt9CRBirZqn/b9AQQbVJRnyAlq0eYDRDxv613mo9zEPD8sECcG
 IR9oT0YXBPQTSR4n6B90lFJzRL2OAnoHY6fHE0qPc8/GqkzHqfxEQg0xMIZtYE52
 I7tcyVONmjVHnUJUD+fR8tdWT8vefABScnFElzSGtDMvBvb19XgRiAyCIh7xn4Av
 agR3zbj8whCdnwQ+32bDded4hD4s3ZqRtcAI5L5clhTJfOeCisfOVj5mKrGvS3KT
 naEZ4jFbBRR5JJGCWX+ixkZC0KDDSngRtoADatBVeOeVnoe4TukoQeGr9w==
 =9yZ+
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl1vMACgkQYKtH/8kJ
 Uid+LQ/+J7pEyILiF5fR5hjP25bTyyIS6YVhwgW9NiIy/q1TSmmzBPc5y3dsurB1
 gOYX97nLB+jdoOGDfRk2eWuiY31SYNHiOAYFTjQZd2aehXdRlfbgc4MfMzVkh+DL
 C1zO2iIGP/kuSVtM+X996md30j/8ppaKRiMBAY9qCXBLLHbKb97k+8tCV95jVF+6
 9KxQtvOl5qMbDAq2pdm8IjG3bx5kOturzjgZtD/y5DQyfd2vTaNxZJqYpT6e2hkG
 SmzfxWwylYD6NgwsjWDiD7qUn6xo5CL9HY+HmYSntE4s7Oxjv/0GxVzLkbs/x0ry
 cTtFKg+STGE/3pf5JZy0fu7r63mOM+b1M+GPo4zuAUqflCB5bjvJwsFuuJw9Gbb6
 h3zyyNi1SrF6F2haJNWzZ+OC044i3Sx7kCEUmUSjfZkwBRSWz6QeCEBts61drzf9
 AFAXo+MVQ03wNRJz8bND0fJTHwNG/HRAlrECkn8oGPIBqau4TOJ0zK07jCGlafQL
 6Jb6sIokx/I67mdcIUWtQheY5pl0SD4u09XwH1IKWOmDxViIg+6wv6ngivHRI+P6
 NlX6PCcl2iJdO9ugUHtIFtZzucnWQj0e7CeGzQkw41OEJaKjOWt8bclVews6NpXS
 6dPBid5yzLvZ28ejQoAZq4ukCs73XPN+Xp/+K0yCHL7kNK1ZfYQ=
 =a3V0
 -----END PGP SIGNATURE-----

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

i.MX SoC changes for 6.9:

- Remove usage of the deprecated ida_simple_xx() API from MMDC code.

* tag 'imx-soc-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: imx: Remove usage of the deprecated ida_simple_xx() API

Link: https://lore.kernel.org/r/20240226034147.233993-1-shawnguo2@yeah.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 15:13:07 +01:00
Arnd Bergmann
286fde5485 Samsung mach/soc changes for v6.9
Just cleanups: kerneldoc warning and add missing const to bus_type.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmXSSaMQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD14P+D/9SvQSw9DM6dNDpC1fYNbrez3LJ7bUV6v4r
 jvrGOUMdwXrtaC/7PhmIfPubxMuB2EH14Ni2bawkPk8ouwvXQP16w5PqXZtWJRwN
 VheiSmbhq20PQg2xf3YrymUVVCxbgVSI9pa2jXE0IFfS4GPyaHADzVtVHlkYvT9c
 c/fK409KK54A+jm4yjDeAG5nYC+FqVMJqmY8JDDpoXibGlX09d1lFY5X2hf3H14k
 8Oc/WInhNMdUccori6ZomJTAJkRH9k9tiHFyjBp/5GA95NgzY+BH6jWCC244V/S+
 XcVdthwhYOeUqOOfrFr5uzatr1KIq1JAoBr+yZ1CU1BerRtplmAp02nWB8A8BT4r
 MlU0N8J79pdgukvEIlt3jCyF9w3BDiNIkrFsq1YYLZzbrzcwMEtWp0cso43ELJnQ
 uwBlYg9HWDun6XAPxnO9mt+nFnW6TN3LeCQdML7MRpRy71eKkgNl2xAAz/wukLId
 2u5UaOGjspUT+Wl1S2gWMNiTrCurXUXSOuN3UeGH+CrXtpmgGdd/duVMen+WEk3B
 mt/gOwJVmH4CxuYHb/IfYvIpwafXAtKV8EtEBj95oQ8buJS1E4uBo35sIypZzOTT
 F7w8jRUmBbHsPLHjXQzXi3G6/N89dEeoAgpu0gaH25LlJzjjw9/NIXkwKustr0hE
 YBznbTCJjA==
 =kdC0
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl1lQACgkQYKtH/8kJ
 UieZXQ//dOXdrLLA+hpZLRpCMhuB9yTFjgm6jJZL3vfZltoUS7BUMJ8GAa19+m/e
 cTPPlx3ScSffNSIhrlujVpJtlvC+auSDMtjsTO0G1K2zEtpW+oVEqDtU5NCOYHF9
 5syufX8cKSs97UdmfjMMPK0Hs1VaulPN/z92yC+Rjxd7vx+2h2ha7dEjDj0TTc++
 cwrgDFWZA4nkWkm8+DyAg08xGbxv1BT+BWoZY7ka5RjnBc7gL7dfhSopS6oebyvo
 sfaKUoRX3uUemkougvO2IgDFo0v1jYenf1m67pdc/DKJX3XLXDGahUvUfioISBRt
 WNxodGsC44654D54B0U2+gGlQFwKM7cjFLYaayJ/whxnyFHb6eoEI2QuUJLFLqom
 W1ZMmWWsX1/y2LInjeIEpCp6Ad6lynSUsovvQ0tWyfmynqwWtKLMSQXyxQK/W4Vw
 PEIXZUrrr7Ow8EEyK3QAjfuPd9Ndxey0zSWnO7M8LIKKFgHS4N/nPflk+DVPq60T
 g7yyUVZAaaVLcSWuTfZayS9Bc35MHuKAbZpWrpCJh8aFZwrAN1vGV4QZWS5t/QN7
 zJ3x4e0z1GfZOi6sNjX27LtXCwkuAs715iXNN1s2dnclh/Fbf09bArj4emB5D88W
 Gu4tCw0mH6poFlDlhGIRIAEQnoqMZHm/idEHMG8qf4gpPgsX47g=
 =Pt0i
 -----END PGP SIGNATURE-----

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

Samsung mach/soc changes for v6.9

Just cleanups: kerneldoc warning and add missing const to bus_type.

* tag 'samsung-soc-6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: s3c64xx: make bus_type const
  ARM: s5pv210: fix pm.c kernel-doc warning

Link: https://lore.kernel.org/r/20240218182141.31213-4-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 15:10:28 +01:00
Song Yoong Siang
01031fd473 selftests/bpf: xdp_hw_metadata reduce sleep interval
In current ping-pong design, xdp_hw_metadata will wait until the packet
transmission completely done, then only start to receive the next packet.

The current sleep interval is 10ms, which is unnecessary large. Typically,
a NIC does not need such a long time to transmit a packet. Furthermore,
during this 10ms sleep time, the app is unable to receive incoming packets.

Therefore, this commit reduce sleep interval to 10us, so that
xdp_hw_metadata is able to support periodic packets with shorter interval.
10us * 500 = 5ms should be enough for packet transmission and status
retrieval.

Signed-off-by: Song Yoong Siang <yoong.siang.song@intel.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Acked-by: Stanislav Fomichev <sdf@google.com>
Link: https://lore.kernel.org/bpf/20240303083225.1184165-2-yoong.siang.song@intel.com
2024-03-04 15:01:59 +01:00
Colin Ian King
9532ac14d8 USB: serial: keyspan: remove redundant assignment to pointer data
The pointer data is being assigned a value that is not being
read afterwards, it is being re-assigned later inside a do-while
loop. The assignment is redundant and can be removed.

Cleans up clang scan warning:
drivers/usb/serial/keyspan.c:924:2: warning: Value stored to 'data'
is never read [deadcode.DeadStores]

Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
2024-03-04 14:54:36 +01:00
Colin Ian King
17a2f0b45a USB: serial: ftdi_sio: remove redundant assignment to variable cflag
The variable cflag is being assigned a value that is not being read
afterwards, it is being re-assigned later on. The assignment is
redundant and can be removed.

Cleans up clang scan warning:
drivers/usb/serial/ftdi_sio.c:2613:15: warning: Value stored to 'cflag'
during its initialization is never read [deadcode.DeadStores]

Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
2024-03-04 14:54:02 +01:00
Andrii Nakryiko
8f79870ec8 selftests/bpf: Extend uprobe/uretprobe triggering benchmarks
Settle on three "flavors" of uprobe/uretprobe, installed on different
kinds of instruction: nop, push, and ret. All three are testing
different internal code paths emulating or single-stepping instructions,
so are interesting to compare and benchmark separately.

To ensure `push rbp` instruction we ensure that uprobe_target_push() is
not a leaf function by calling (global __weak) noop function and
returning something afterwards (if we don't do that, compiler will just
do a tail call optimization).

Also, we need to make sure that compiler isn't skipping frame pointer
generation, so let's add `-fno-omit-frame-pointers` to Makefile.

Just to give an idea of where we currently stand in terms of relative
performance of different uprobe/uretprobe cases vs a cheap syscall
(getpgid()) baseline, here are results from my local machine:

$ benchs/run_bench_uprobes.sh
base           :    1.561 ± 0.020M/s
uprobe-nop     :    0.947 ± 0.007M/s
uprobe-push    :    0.951 ± 0.004M/s
uprobe-ret     :    0.443 ± 0.007M/s
uretprobe-nop  :    0.471 ± 0.013M/s
uretprobe-push :    0.483 ± 0.004M/s
uretprobe-ret  :    0.306 ± 0.007M/s

Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20240301214551.1686095-1-andrii@kernel.org
2024-03-04 14:40:24 +01:00
Colin Ian King
524e2ebd3b USB: serial: oti6858: remove redundant assignment to variable divisor
The variable divisor is being assigned a value that is not being
read afterward, it is being re-assigned later in both paths of an if
statement.  The assignment is redundant and can be removed.

Cleans up clang scan warning:
drivers/usb/serial/oti6858.c:412:2: warning: Value stored to 'divisor'
is never read [deadcode.DeadStores]

Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
2024-03-04 14:37:52 +01:00
Johannes Berg
07fba2277f wifi: mac80211: remove TDLS peers on link deactivation
If a link is deactivated, we really cannot sustain any
TDLS connections on that link any more. With the API
now changed, fix this issue and remove TDLS connections.

Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Link: https://msgid.link/20240228095719.a7dd812c37bf.I3474dbde79e9e7a539d47f6f81f32e6c3e459080@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-03-04 14:34:05 +01:00
Johannes Berg
85977fc0aa wifi: mac80211: remove TDLS peers only on affected link
If a link does CSA, or if it changes SMPS mode, we need to
drop the TDLS peers, but we really should drop them only on
the affected link. Fix that.

Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Link: https://msgid.link/20240228095719.00d1d793f5b8.Ia9971316c6b3922dd371d64ac2198f91ed5ad9d2@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-03-04 14:34:03 +01:00
Johannes Berg
f3dee30c67 wifi: mac80211: mlme: unify CSA handling
Unify all the CSA handling, including handling of a beacon
after the CSA, into ieee80211_sta_process_chanswitch().

The CRC of the beacon will change due to changes in the
CSA/ECSA elements, so there's really no need to have the
'beacon after CSA' handling before the CRC processing or
to change the beacon_crc_valid value here.

Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240228095719.e269c0e02905.I9dc68ff1e84d51349822bc7d3b33b578fcf8e360@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-03-04 14:34:01 +01:00
Johannes Berg
6f0107d195 wifi: mac80211: introduce a feature flag for quiet in CSA
When doing CSA in multi-link, there really isn't a need to
stop transmissions entirely. Add a feature flag for drivers
to indicate they can handle quiet in CSA (be it by parsing
themselves, or by implementing drv_pre_channel_switch()),
to make that possible.

Also clean up the csa_block_tx handling: it clearly cannot
handle multi-link due to the way queues are stopped, move
it to the sdata. Drivers should be doing it themselves for
working properly during CSA in MLO anyway. Also rename it
to indicate that it reflects TX was blocked at mac80211.

Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240228095719.258439191541.I2469d206e2bf5cb244cfde2b4bbc2ae6d1cd3dd9@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-03-04 14:33:58 +01:00
Johannes Berg
5ecd5d82b1 wifi: mac80211: pass link conf to abort_channel_switch
Pass the link conf to the abort_channel_switch driver
method so the driver can handle things correctly.

Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240228095718.27f621106ddd.Iadd3d69b722ffe5934779a32a0e4e596a4e33ed4@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-03-04 14:33:56 +01:00
Johannes Berg
e6ee3a3713 wifi: mac80211: pass link_id to channel switch ops
For CSA to work correctly in multi-link scenarios, pass
the link_id to the relevant callbacks.

While at it, unify/deduplicate the tracing for them.

Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Link: https://msgid.link/20240228095718.b7726635c054.I0be5d00af4acb48cfbd23a9dbf067f9aeb66469d@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-03-04 14:33:54 +01:00
Chen Shen
25703adf45 libbpf: Correct debug message in btf__load_vmlinux_btf
In the function btf__load_vmlinux_btf, the debug message incorrectly
refers to 'path' instead of 'sysfs_btf_path'.

Signed-off-by: Chen Shen <peterchenshen@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Yonghong Song <yonghong.song@linux.dev>
Link: https://lore.kernel.org/bpf/20240302062218.3587-1-peterchenshen@gmail.com
2024-03-04 14:33:51 +01:00
Johannes Berg
8ade3356b2 wifi: cfg80211: allow cfg80211_defragment_element() without output
If we just want to determine the length of the fragmented
data, we basically need the same logic, and really we want
it to be _literally_ the same logic, so it cannot be out
of sync in any way.

Allow calling cfg80211_defragment_element() without an output
buffer, where it then just returns the required output size.

Also add this to the tests, just to exercise it, using the
pre-calculated length to really do the defragmentation, which
checks that this is sufficient.

Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Reviewed-by: Benjamin Berg <benjamin.berg@intel.com>
Link: https://msgid.link/20240228095718.6d6565b9e3f2.Ib441903f4b8644ba04b1c766f90580ee6f54fc66@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-03-04 14:33:51 +01:00
Johannes Berg
22667035e5 wifi: cfg80211: expose cfg80211_iter_rnr() to drivers
In mac80211 we'll need to look at reduced neighbor report
entries for channel switch purposes, so export the iteration
function to make that simpler.

Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240228095718.0954809964ef.I53e95c017aa71f14e8d1057afbbc75982ddb43df@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-03-04 14:33:49 +01:00
Johannes Berg
5a21f0eae1 wifi: mac80211: hide element parsing internals
Rework the data structures to hide element parsing internals
from the users.

Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240228094902.19c610b529e2.Ie7ea2dcb6713911590ace6583a4748f32dc37df2@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-03-04 14:33:03 +01:00
Johannes Berg
b413c0bd9c wifi: mac80211: remove unneeded scratch_len subtraction
We're always using "scratch + len - pos", so we don't need
to subtract here to calculate the remaining length. Remove
the unnecessary subtraction.

Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Reviewed-by: Ilan Peer <ilan.peer@intel.com>
Link: https://msgid.link/20240228094902.44e07cfa9e63.I7a9758fb9bc6b726aac49804f2f05cd521bc4128@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-03-04 14:33:01 +01:00
Johannes Berg
4d70e9c548 wifi: mac80211: defragment reconfiguration MLE when parsing
Using the scratch buffer (without advancing it) here in the
mlme.c code seems somewhat wrong, defragment the reconfig
multi-link element already when parsing. This might be a bit
more work in certain cases, but makes the whole thing more
regular.

Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240228094902.92936a3ce216.I4b736ce4fdc199fa1d6b00d00032f448c873a8b4@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-03-04 14:32:59 +01:00
Johannes Berg
508c423d94 wifi: mac80211: simplify multi-link element parsing
We shouldn't assign elems->ml_basic{,len} before defragmentation,
and we don't need elems->ml_reconf{,len} at all since we don't do
defragmentation. Clean that up a bit. This does require always
defragmention even when it may not be needed, but that's easier
to reason about.

Reviewed-by: Ilan Peer <ilan.peer@intel.com>
Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240228094902.e0115da4d2a6.I89a80f7387eabef8df3955485d4a583ed024c5b1@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-03-04 14:32:57 +01:00
Aurélien Jacobs
46809c5156 USB: serial: option: add MeiG Smart SLM320 product
Update the USB serial option driver to support MeiG Smart SLM320.

ID 2dee:4d41 UNISOC UNISOC-8910

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 9 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=2dee ProdID=4d41 Rev=00.00
S: Manufacturer=UNISOC
S: Product=UNISOC-8910
C: #Ifs= 8 Cfg#= 1 Atr=e0 MxPwr=400mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I: If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I: If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I: If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I: If#= 6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=07(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I: If#= 7 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=08(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

Tested successfully a PPP LTE connection using If#= 0.
Not sure of the purpose of every other serial interfaces.

Signed-off-by: Aurélien Jacobs <aurel@gnuage.org>
Cc: stable@vger.kernel.org
Signed-off-by: Johan Hovold <johan@kernel.org>
2024-03-04 14:32:55 +01:00
Johannes Berg
2015d2d639 wifi: mac80211: remove unnecessary ML element checks
Given the prior changes to ieee80211_mle_size_ok(), we
can now pass NULL to for_each_mle_subelement(), so no
longer need to check for that here explicitly.

Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240228094901.9e32c4b63875.Ia2ee0aafdc8a48bd21b485cc36a9866f950d781b@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-03-04 14:32:55 +01:00
Johannes Berg
68f6c6afbc wifi: mac80211: add ieee80211_vif_link_active() helper
We sometimes need to check if a link is active, and this
is complicated by the fact that active_links has no bits
set when the vif isn't (acting as) an MLD. Add a small
new helper ieee80211_vif_link_active() to make that a bit
easier, and use it in a few places.

Reviewed-by: Ilan Peer <ilan.peer@intel.com>
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240228094901.688760aff5f7.I06892a503f5ecb9563fbd678d35d08daf7a044b0@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-03-04 14:32:53 +01:00
Johannes Berg
0217972f96 wifi: mac80211: remove unnecessary ML element type check
At this point, since it's taken from elems->ml_basic which
is stored only if it's of type basic, we don't really need
to check again if it's basic.

Reviewed-by: Ilan Peer <ilan.peer@intel.com>
Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240228094901.ad1d4a09a6eb.Ib96fa75b1a6db21dd4182dcfa11fe9aff78fa3ed@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-03-04 14:32:49 +01:00
Jiapeng Chong
fdf0df8c93 bus: bt1-apb: Remove duplicate include
./drivers/bus/bt1-apb.c: linux/clk.h is included more than once.

Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=8312
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
Acked-by: Serge Semin <fancer.lancer@gmail.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2024-03-04 14:32:46 +01:00