Commit graph

1,169,205 commits

Author SHA1 Message Date
Vlad Buslov
052f744f44 net/sched: act_police: allow 'continue' action offload
Offloading police with action TC_ACT_UNSPEC was erroneously disabled even
though it was supported by mlx5 matchall offload implementation, which
didn't verify the action type but instead assumed that any single police
action attached to matchall classifier is a 'continue' action. Lack of
action type check made it non-obvious what mlx5 matchall implementation
actually supports and caused implementers and reviewers of referenced
commits to disallow it as a part of improved validation code.

Fixes: b8cd5831c6 ("net: flow_offload: add tc police action parameters")
Fixes: b50e462bc2 ("net/sched: act_police: Add extack messages for offload failure")
Signed-off-by: Vlad Buslov <vladbu@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Tested-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-06 12:44:39 +01:00
Arnd Bergmann
5b98b4021e AT91 DT for v5.20
It contains:
 - compilation warning fixes for SAMA5D2
 - updates for all AT91 device tree to use generic name for reset
   controller
 - reset controller node for SAMA7G5
 - MCAN1 and UDPHS nodes for LAN966 SoCs
 - Flexcom3 bindings were updated for lan966x-pcb8291.dts board to cope
   with reality
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCYsPyogAKCRCejrg/N2X7
 /Uq7AQCAKfITIfmP9EY0JGuhJqBNNGckbCEkFLbixz6uj5TFNAEAxoJmmcL5cj9m
 wUczRNYOD8wW7R1GoLOsHF95pwJvhgI=
 =rxjU
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLFdTYACgkQmmx57+YA
 GNk3Dw/9EQXALu+c9PNgJ5nNwBH0NifSYVAS6K/nPbbVUGfp8kJaPBkHfFWjJzPd
 F+cEK31mp28kwA9GQTlAkkWIomrBDRsl+Xe4Dmwtbno4AkfsvsTskFWAdmgDMHGb
 GAasQGXPfr6e+KvTARcUYvA4ff4GkZG+d3o8sCEs001PGVTHHBLC5Od0ezBxA3OO
 JWG1Giruy/u8v+9zjmEmgJEAp7XIt+f2kPI4qCxT/okLAmX5fk+IL/eybys1ASXi
 g4qFHXwT/pH5DrBmFlBpCz4gYZ2PKqfSOz25xvP167Crtv7HUrvmfoI+SEzzlzbr
 mfHSVTbGfgJ23aFhW5pSAm8X8P1gMMfPgRSJaX/QUb61+tWnX+E13H6WsvwL5hBw
 Ybbn2KB1qSXWXbtAFehMcTxmUnXMD8rzZ1pHGRl8JeJJ0Al4sxutPVSLgKivQ4RT
 6SHBG5jlQ+VEw15AsvmRgdnDuLcqU/7pHh3BOWArnwsymsq00kmwBEsyahoWZZoV
 REneCjaX9kwzKGdS7jYZFUp8001VKjR7IYuGrsX4sal0+5c56Keg0YfZLc0U+Ss4
 NTLTbb5rzx2M0zyxqmc9vqOagwYacdgMrCbgRVIW1uB4UfCjO4G/94FIZjXgQ9rz
 hv2GX0iHgYKpAPgOcvV8NoRa/t4zMAXNuer+5oMiW27H2E4NzXY=
 =182f
 -----END PGP SIGNATURE-----

Merge tag 'at91-dt-5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/dt

AT91 DT for v5.20

It contains:
- compilation warning fixes for SAMA5D2
- updates for all AT91 device tree to use generic name for reset
  controller
- reset controller node for SAMA7G5
- MCAN1 and UDPHS nodes for LAN966 SoCs
- Flexcom3 bindings were updated for lan966x-pcb8291.dts board to cope
  with reality

* tag 'at91-dt-5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: lan966x: Add UDPHS support
  dt-bindings: usb: atmel: Add Microchip LAN9662 compatible string
  ARM: dts: lan966x: Cleanup flexcom3 usart pinctrl settings.
  ARM: dts: lan966x: Add mcan1 node.
  ARM: dts: at91: sama7g5: add reset-controller node
  ARM: dts: at91: use generic name for reset controller
  ARM: dts: at91: sama5d2: fix compilation warning
  ARM: dts: at91: sama5d2: fix compilation warning

Link: https://lore.kernel.org/r/20220705084637.818216-1-claudiu.beznea@microchip.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-06 13:42:46 +02:00
Arnd Bergmann
11303e4e4c Ux500 DTS updates for the v5.20 kernel:
- Fix orientation matrices on a few U8500 mobile phones.
 
 - Drop unused i2c power supply handled by the power domain.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmLEu8kACgkQQRCzN7AZ
 XXOTlw/6AomAjsbn69ZsFZOksn73Nv/stTzqV2uPLUdDtStRMKCcTpeaaJ1IE5Sa
 Xk1ZE1Bi/cswZEkFJpCLrfh2EfsLuntHmO4eRcUQDIx34Plz8rXUrdMUepQ817Qe
 5+eBZCF8FRmw/7eO64Qetxz/nikFQ7qXBPM8fF6TdeHGRO2296TkrM7enlEK3mWi
 yeRf4errUNr03U9cT/XrCL7kOVSaUaS49lcgG7/qQGGatqIc1b/01NUjGun5rEbT
 ZNbxU+rBOOBxbrVOjF+9vFx3nAW9Jk/oP/cC/k+TZ/VeqwOrO+GvNdbO10BGKNf7
 NfX7+LuA7dS1Hb7Sj5SX8wLQfdbTj3PGf9O1/li75bU6Q3MGQgWaQ5KlIWnMvZ7z
 Xk3vOp3yhsp3zJ0tfLNCvodWA94Thlk11KHAJ8zPeEOC/DW9opDE9btpDkMZFl/j
 lBQYVDg0PjATYmnAS10y8FiVpZXacUP9NZ76DG2rGMNAFBoIf8MnKBkV0qpgR1Jg
 PqKKg661UmKaoDjv4cM5f6tmSD5f0rHLUYcEAIiMfeQdG0MDUaBZ3C3fYMKw+9vx
 jc9TJEJcZWF54WONqcKs2IQPyB5+XOG0zlN7//btyOkJpTZnv2oHxzy+aaOn+yz/
 gVMegM13MnKDZQMbm6TEBh0pdDL/LzlAiXjaVrW10azUq0AgE3U=
 =Bbl/
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLFdQUACgkQmmx57+YA
 GNke2g//SoEs8+oFp+AlIHf0U7HFH4o/DsVWXxKIBJfAIdE49sdU5yQFKC6GS7xC
 MVlhCrx//p7+YWh+NjXlNyN9Ih9ZugE3OD6PMJJMWHW9AKFGG88nB0MXPOsCOcmv
 Gy9TO/l7eIcKQW0V0Un0/h3zS1GRfcxybKT4lqMqMpepMhmPvVZ1KmJUcJaYYHtv
 npPZzN4EUSJSmiI48l6/r2anUckQy3RdNHlGiPas6map1YE/+MdumcIg1MYwMw5O
 OFygA5uxbfSk0sZ2fhxrv0pNrW4Hvy1jcIE3bHenqs5jRKQkvt/2neESZxvXtpye
 LiUlMLXMG1jBgiw7ezQr0SZUKpA0h+cjODbBQS3N2YBdyUpqlJ3o7RfkB7GHOseK
 IxiZOgRqOcXv+Z/neD2jrjZ8P+/1AWCnpQXQq2CyfWGaOjxJU6nmuycAG0WsGWav
 9VFre9MVDVYIoC4YHmowzhGDTXUuh55lqn+TEERN8BjVzaNSOIoziGiyKTL/Oamp
 uQAL5XQE06CX++z6kVjB5VcMeo2SMwZYHJtTMoJzYjsGJKIzpXoG42eu14Q1qiWR
 9kNRxw+zhHrcqhMMGVc6cLVT5u7RmOhBKxwj1g/dmB65BXCQynvyUfm/9n3P0Z5q
 US7vtaafxUTiZuQfvTvv1zU4XubdWhLQUXWjecDwAzWbeBKQBTU=
 =Fizs
 -----END PGP SIGNATURE-----

Merge tag 'ux500-dts-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into arm/dt

Ux500 DTS updates for the v5.20 kernel:

- Fix orientation matrices on a few U8500 mobile phones.

- Drop unused i2c power supply handled by the power domain.

* tag 'ux500-dts-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: dts: ux500: Drop unused i2c power domain supply
  ARM: dts: ux500: Fix Gavini accelerometer mounting matrix
  ARM: dts: ux500: Fix Codina accelerometer mounting matrix
  ARM: dts: ux500: Fix Janice accelerometer mounting matrix

Link: https://lore.kernel.org/r/CACRpkdY1MG=HG+tOCmD1_LEAStV1-ycCLkwShMRD4R=4jGDYHQ@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-06 13:41:57 +02:00
Arnd Bergmann
2630a9127c NFC flash node on rk3066a-mk808 and some dts styling fixes
(alignment and node names).
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmLEGIQQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgVS/B/0X0ztbwVTc44bRsyMScsocVK5N+URHUOMN
 4cCNtViXlI3Rqwea8WmwbEqTn3UwMHfOkF96OgGsTok/frNAkNEcFN8+r2Ott+Il
 3ggr8mfQ7fl2C2+zsdJNkykw0gq8NiM2T/P3OZhOFWXXy25MSaLpWpasYthL+AxC
 xdOEVgxy+3Pe/bCjYnqZ7a2VNs5L/U8q28qOZ0NPqVzD/HRhQa7vwk3IvoltTLrY
 EQPHIMr+PGA3CmMJ6XVNwdTC+XA+CDE5+dWCH/ylkrRi49MyromgSMlUH4ZrYdth
 hXAJOCRu4L8+y+9Yp7tE6UknLjfynoXZ/VtqUf9QzAA+tZKvZEAJ
 =FcZo
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLFdJsACgkQmmx57+YA
 GNmnzg/+OfYFvbxIob1SyKCYGAeGT28TyeptANISKSdxJF5GgOFapbpOjZun1gLx
 NtkdAprOjoPAJwSz+N5IjH+maaUctOZGRT1Y1NNBMdKpNXRUTejgx5Up9j+V9EP5
 hpSq9FU3TS3Pa0jROgXToPsarNwQfqen41uveJrEUHYBMc0qF52uRfxQjUtWRI8h
 g5taktZMWUUnKbcs/qSH6SC6Smh5KZmnBmTa7fD1sK1qdH7pa9WISPcU1ihk1s5F
 m+aD84FRaNevtzSlgls1hjb6f904Ts+8/gxV0FGn51H4nPF0yw/2mRi+CwTy0kyn
 fFvLK8zUH+UsU9to5H79lz2iM3KafYG2JfDKni7ppTnqTnRVoOw7a/f11XQgvYvB
 J87QzyhBVZIHF6Xmrv70T256n9jHxM7UNNR3BFm33VKjWkFwtMSRWR4gqpO8Ljzl
 gWGlGHF0WNedAtp23mSsgC7TCW2NLlFIX60DYSIbtpkv+eQOSogRqGCA+6ta4WLE
 uceo6ZB/9zUtYHxIVC76IMV9c8FEfKx8rsBUR+QdjmJjfs3DUHYcvqWycqT9QS6V
 orxsPJJ/w6E8q/usKIEJa4BIIv7AaMNlIvij87gw7DHSBzWzNaF52LJi2NdY8b0M
 Zsu6XhTUpLKQv0ntY25GrpIOzG7HfinHPV13RS2LErJuauunNNQ=
 =S51s
 -----END PGP SIGNATURE-----

Merge tag 'v5.20-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/dt

NFC flash node on rk3066a-mk808 and some dts styling fixes
(alignment and node names).

* tag 'v5.20-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: dts: rockchip: correct gpio-keys properties on rk3288-tinker
  ARM: dts: rockchip: align gpio-key node names with dtschema
  ARM: dts: rockchip: adjust whitespace around '='
  ARM: dts: rockchip: enable nfc node in rk3066a-mk808.dts

Link: https://lore.kernel.org/r/14795241.VsHLxoZxqI@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-06 13:40:11 +02:00
Arnd Bergmann
73a4ccf938 New board the Radxa Rock Pi S, enablement of graphics support and hdmi-audio
on rk356x in general plus necessary board-specific changes on Rock-3A,
 Quartz64-A, rk3568-evb, BPI-R2-Pro.
 
 A number of additional peripherals on BPI-R2-Pro (gpu, thermal, rtc) and
 PCIe2x1 support on rk3568 and enablement on Quart64-A as well as a number
 of additional peripherals to this board (sfc node, sdr-104 support, fan).
 
 And finally touch panel support for rockpro64 and some misc dt cleanups
 (node names for dtschema and styling).
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmLEGlUQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgcG+CACtfU9yrfAxElsWY2cxkPJm3nV+rA6jO3VX
 HLPFjyQ6XJlpHGQrKge38HPCaq/8tynxgt4mykdE3mUn7I8OCTylzW5OUtue4yJU
 D35JHQbuhk79MlfgkD7Wp2iz9jwB64JgeCLzbVfUq5f7CiBqc9R1StWZwYqdlJ87
 PS3dAGfO6hswJmbF2f4u2bc0OzPfQs0KkreiN2YkfmzffMo28VDGmumj2IPEPGEI
 h7eHLrJT721YTaXXkErd0j9Fen6lngQybGoLGThBYxzLrfshRulW1uR6Ykx1PQBA
 rz3nq9YhHaWz0uVn6EIN95c76LLkgU/WE5dypjduT12i21wQ/42y
 =shlA
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLFc/4ACgkQmmx57+YA
 GNktbQ//XNZFy22cJ6KiTJfjTudj5q1DfqJDZZPP8rwiV4rGUZu5GoxEp4gAfvky
 Ds69aqemEOW4SU3XX8tNPp+6CulnZImSgXDiIHzMC8MMakR3Kj8si6NttA10/USO
 EOUx/LJU7HxEsOQL2lmGi55eyoYZz7rOgzqa1W2rMOdzX/ytmvk124u6J5TDX2/8
 w0i66LCTvlf+4P/+QK7riwOuzYxsWNaJgSg/+bVtfZwCXfddmDdYvh/JsrQKR7O8
 uHDiE1FSBnn3Lyt1anNH8Lmya69vYmZpEkcMVMGAQPZ7WDIPPTVgH4mzOLmrLges
 WbQtDWe3K5AETZ5hQDdnBkVfiGtPd0Nnb+jbU0VYWNRDupiptoHwYbORupOAmd6Z
 iciexDxREu7Z4qBmOVFKsgKpLKJZUFT7hXxvU8Mqpwx9XLufT347ehUj/mLxMMpn
 HnAB+URzdI7RP2m9g0bMDQZIR48BAyu/pS2r+Q2hw/NJTrC3Y9RIb2xqjNp4+r4N
 SYdSbGs0iZXZzEbor/INWd3ImdqDV/B5SXEhE0GmJBaXy2s3BN8/jMboewr5+Mxt
 oSM+Lbidcb2FhOpAB2eTVbLoJ+bkyzqY8WYlBNj6QjEll2pDz+ff3uuIZ3Ka7aBB
 0Org6/qdQ7kphklAz93td0zjTOtiF5bgQswpe78evpdZie5dyw8=
 =owCF
 -----END PGP SIGNATURE-----

Merge tag 'v5.20-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/dt

New board the Radxa Rock Pi S, enablement of graphics support and hdmi-audio
on rk356x in general plus necessary board-specific changes on Rock-3A,
Quartz64-A, rk3568-evb, BPI-R2-Pro.

A number of additional peripherals on BPI-R2-Pro (gpu, thermal, rtc) and
PCIe2x1 support on rk3568 and enablement on Quart64-A as well as a number
of additional peripherals to this board (sfc node, sdr-104 support, fan).

And finally touch panel support for rockpro64 and some misc dt cleanups
(node names for dtschema and styling).

* tag 'v5.20-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (27 commits)
  arm64: dts: rockchip: enable hdmi tx audio on rock-3a
  arm64: dts: rockchip: enable hdmi tx audio on rk3568-evb1-v10
  arm64: dts: rockchip: align gpio-key node names with dtschema
  arm64: dts: rockchip: rock-pi-s add more peripherals
  arm64: dts: rockchip: add ROCK Pi S DTS support
  dt-bindings: arm: rockchip: Add Radxa ROCK Pi S
  arm64: dts: rockchip: Add missing space around regulator-name on rk3368-orion-r68
  arm64: dts: rockchip: enable the gpu on BPI-R2-Pro
  arm64: dts: rockchip: configure thermal shutdown for BPI-R2-Pro
  arm64: dts: rockchip: Enable HDMI audio on BPI R2 Pro
  arm64: dts: rockchip: enable vop2 and hdmi tx on BPI-R2-Pro
  arm64: dts: rockchip: set display regulators to always-on on BPI-R2-Pro
  arm64: dts: rockchip: add RTC to BPI-R2 Pro
  arm64: dts: rockchip: Enable HDMI audio on Quartz64 A
  arm64: dts: rockchip: Add HDMI audio nodes to rk356x
  arm64: dts: rockchip: adjust whitespace around '='
  arm64: dts: rockchip: enable vop2 and hdmi tx on rock-3a
  arm64: dts: rockchip: enable vop2 and hdmi tx on quartz64a
  arm64: dts: rockchip: rk3568-evb: Enable VOP2 and hdmi
  arm64: dts: rockchip: rk356x: Add HDMI nodes
  ...

Link: https://lore.kernel.org/r/40088956.J2Yia2DhmK@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-06 13:37:34 +02:00
Arnd Bergmann
aafc013e82 Add a missing of_node_put in suspend code error path.
-----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmLEGAUQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgd9TB/92Yh/Q713tbzpF1L+FWfnX8vReRjl+GPW4
 9YC8U6qXuOZk8Jxu/hqTbr9j7G1CVl9W1BxfRGqrLxOphfjtB62UjsuOCZyQ8djX
 Fv7n/bGq9fr4Ic8fSY1XvLgH/jFOF0zaI9cKvZVF8dOXlIfe/yg5vwTDtoKKDx3g
 r+c3UKmW3anB4DW4opMraZwys2rEwLHeRWSTZ0lLkEISJy9+w4a+HCj0ooqHbXFc
 hqLtNUz8xx5rEnLDv0vRme6rbGnl1z8UZnvcNT2GM8VjBYm4BM5LxTeQ1E+gAat4
 TpMClcoEG3bDvfnI6+AK7jAicBMhLS1JfwsO3Wrn645K2eyymNFr
 =XBUo
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLFc7EACgkQmmx57+YA
 GNmyug/7BnDM6SvTp/XuNzQf6TBh7fSZ8MNwMnaAllsa38xblZl/MPDhT8GOaxGK
 fLzjKLoy8ykb9ReFHim2V6vyCZ39Qar5Udi3eHMTqmE8rDNL4ahj2mQN4fK5TxMP
 2R+2HlVS6XHGf7cjXaBQVXnI2FqslQO2mfvmNEfgYWTijT6BpIejIviwcgEMMxbE
 S0fsN3TBSfSSM0jGP0QDVGs2ig07IWanhVFgGACGT2SbIAWUtcBqZD0MSYDQcNVk
 hlbBrRO84DLP/+xkMV836WJ+9UB3YUqs/33wqgc+IOocB1qCQTBYFoVtl39JEux/
 uLckoD9pafOcHr8/d84v0OZgjtR9d+7phidOg+lZxorQRAlXhWkNPh4Q1MdLvvz9
 CUvnUUcxrlwLP3BylEGvZEvP/WQlReXnXldhtiStmJzrnr37docEhMYddGaCIIvw
 ePz3wTQVdebfDAVuVPX+Nb/WpymIPPPiepeBZ16hKugfRZI6GuTz7JIOKRSvg+hc
 fnVTGem3koGYclu/0kkHOByv8hjr/iEg8tIh2ijRxoheBbbK5P0DSLZ96Pqg7JY4
 Jl+sldgRZa6UJwX17jW2hUhdrKFsZ7ulWXbJTHdksHjdngpTgAutWAdxzerN69mZ
 Y6kmLzxjzAjgJL2D1V9RhI5pMy+D+BCKWnHZLZStbmPu3lKTfUU=
 =x2Fx
 -----END PGP SIGNATURE-----

Merge tag 'v5.19-rockchip-socfixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/fixes

Add a missing of_node_put in suspend code error path.

* tag 'v5.19-rockchip-socfixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: rockchip: Add missing of_node_put() in rockchip_suspend_init()

Link: https://lore.kernel.org/r/7527945.6fTUFtlzNn@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-06 13:36:17 +02:00
Arnd Bergmann
3c5a4e6d83 rk3399 vdu clock-rate fix, otg port fix on Quartz64-A and ethernet
fix on Quartz64-B (actual production model)
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmLEF4kQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgfkZB/90q+sm3h7C34JTqwpnCujeFfe7rGYt0dr/
 OLoOenIl001faG8eoMYljoicku+T/OyKfFPEYs8tbNVnh0z6CevPXnit8uuxpSof
 ZDeUQYCOiMNFnM/IgnYHiVrGZ9xP72leEFmhzaMrgKwDa4goAnm0elQwYDkRDPBL
 JYSlFgnFXlsuExMolcUhcEAa1yhuhT6ZSOWUtUw/dVUJs6ldbKBnhhj+6GHB6hgd
 1VeEzeYRbKmSPIV2lDLAzVKIkYuYtKFiTgaGy7D5QnivRX7fQhppl5B9QeER9dID
 GmAG2+czc5RMTHVHFhGhT6Fq+Gt9VzDUPpquep2AboWC88ZwnBGN
 =Te09
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLFc3EACgkQmmx57+YA
 GNnFWg/9EmGMqYXwwuXWMTr+zY649/hY8mU+5nEkv+hSVXjJUrGu9Ml3Ngw4uje3
 ShwdzMJYfAmfbdVvB+SEa05ZB0GSnTOeDjQ+4OaWW24nxnlCJCEzD6NFd/ADsucw
 lg2TcLByI9xTaGFPzkUCr/uo3ZGVNRAZ/GuzUROUKXlY4jCjx9yRudLydA3MUbVS
 1Z9tklOyhStSOnUSUF9BCpKBCGXc0eRpbKqRxQUyQtR5HjqeYSnehGwbkylvQodz
 FNe7RsFfmuLzBflaiJJkQ0Gt/TXqTae0F4ZQZOeysqCEABTE/5xn688Civ6rZJ+7
 AOICI8FIPOhKi+4P9UyY1uqrvZFdaTXPTV3OBo0/paTJvAhrmj87Xs+B70WQDLHe
 vU8/gMCB78BQEH0KHNiI/Cf+M+qCFO6k+ftRjJsRovDH0IZ+YVWy9lBA2zFnU4QJ
 VQuKp0XrV/RySZK3QKhY1wh30mRwDdqpHn+h6XQYcsHKWReu+OCbTzBROIUij3R7
 ZNGxKrJjl2WS6CZZp0LVNP5n6RS0ih1Ek2r2gh/1whvqz0lyK16IBp4hsSBnAM9B
 YTFDCSNv5BV84TppuQp7gC6oAHwJzWOeY6YWW3dVVAjvS06UbllOrmcdP66m3HIF
 siG3RhwvAMKnYjlZip+Ow7dPmiLStN2tCgviBH9m4jk1lHTkH0s=
 =Ll8t
 -----END PGP SIGNATURE-----

Merge tag 'v5.19-rockchip-dtsfixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/fixes

rk3399 vdu clock-rate fix, otg port fix on Quartz64-A and ethernet
fix on Quartz64-B (actual production model)

* tag 'v5.19-rockchip-dtsfixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm64: dts: rockchip: Assign RK3399 VDU clock rate
  arm64: dts: rockchip: Fix Quartz64-A dwc3 otg port behavior
  arm64: dts: rockchip: Fix ethernet on production Quartz64-B

Link: https://lore.kernel.org/r/7723415.29KlJPOoH8@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-06 13:35:13 +02:00
Feng Tang
b4c9bf178a iommu/iova: change IOVA_MAG_SIZE to 127 to save memory
kmalloc will round up the request size to power of 2, and current
iova_magazine's size is 1032 (1024+8) bytes, so each instance
allocated will get 2048 bytes from kmalloc, causing around 1KB
waste.

Change IOVA_MAG_SIZE from 128 to 127 to make size of 'iova_magazine'
1024 bytes so that no memory will be wasted.

Signed-off-by: Feng Tang <feng.tang@intel.com>
Acked-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/20220703114450.15184-1-feng.tang@intel.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2022-07-06 13:30:14 +02:00
Cezary Rojewski
f1fd46e068
ASoC: Intel: avs: Fix i2s_test card name initialization
Update printf formatting as 'ssp_port' argument is of type 'int', not
'long int'.

Fixes: e39acc4cfd ("ASoC: Intel: avs: Add I2S-test machine board")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20220706062952.251704-1-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-06 12:10:48 +01:00
Shengjiu Wang
c0fabd12a8
ASoC: imx-card: Fix DSD/PDM mclk frequency
The DSD/PDM rate not only DSD64/128/256/512, which are the
multiple rate of 44.1kHz,  but also support the multiple
rate of 8kHz, so can't force all mclk frequency to be
22579200Hz, need to assign the frequency according to
rate.

Fixes: aa736700f4 ("ASoC: imx-card: Add imx-card machine driver")
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Link: https://lore.kernel.org/r/1657100575-8261-1-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-06 12:10:47 +01:00
Mark Brown
676c6cc50d
I2S driver changes for Jadeite platform
Merge series from Vijendar Mukunda <Vijendar.Mukunda@amd.com>:

Jadeite(JD) platform is Stoney APU varaint which uses I2S MICSP
instance and ES8336 Codec.
This patch series creates I2S platform devices for JD platform,
adds I2S MICSP instance support and Machine driver support
2022-07-06 12:06:46 +01:00
Mark Brown
945c7683c5
Add support of two Audio PLL source
Merge series from Shengjiu Wang <shengjiu.wang@nxp.com>:

i.MX8MQ/MN/MM/MP platforms typically have 2 AUDIO PLLs being
configured to handle 8kHz and 11kHz series audio rates.

The patches implement the functionality to select at runtime
the appropriate AUDIO PLL for root clock, if there is no
two PLL registered, then no action taken.
2022-07-06 12:06:44 +01:00
Lu Baolu
4140d77a02 iommu/vt-d: Fix RID2PASID setup/teardown failure
The IOMMU driver shares the pasid table for PCI alias devices. When the
RID2PASID entry of the shared pasid table has been filled by the first
device, the subsequent device will encounter the "DMAR: Setup RID2PASID
failed" failure as the pasid entry has already been marked as present.
As the result, the IOMMU probing process will be aborted.

On the contrary, when any alias device is hot-removed from the system,
for example, by writing to /sys/bus/pci/devices/.../remove, the shared
RID2PASID will be cleared without any notifications to other devices.
As the result, any DMAs from those rest devices are blocked.

Sharing pasid table among PCI alias devices could save two memory pages
for devices underneath the PCIe-to-PCI bridges. Anyway, considering that
those devices are rare on modern platforms that support VT-d in scalable
mode and the saved memory is negligible, it's reasonable to remove this
part of immature code to make the driver feasible and stable.

Fixes: ef848b7e5a ("iommu/vt-d: Setup pasid entry for RID2PASID support")
Reported-by: Chenyi Qiang <chenyi.qiang@intel.com>
Reported-by: Ethan Zhao <haifeng.zhao@linux.intel.com>
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Reviewed-by: Ethan Zhao <haifeng.zhao@linux.intel.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20220623065720.727849-1-baolu.lu@linux.intel.com
Link: https://lore.kernel.org/r/20220625133430.2200315-2-baolu.lu@linux.intel.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2022-07-06 12:59:21 +02:00
Marek Szyprowski
32977242f8 iommu/exynos: Make driver independent of the system page size
PAGE_{SIZE,SHIFT} macros depend on the configured kernel's page size, but
the driver expects values calculated as for 4KB pages. Fix this.

Reported-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20220623093629.32178-1-m.szyprowski@samsung.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2022-07-06 12:57:55 +02:00
Robin Murphy
4d26ba671e iommu: Clean up release_device checks
Since .release_device is now called through per-device ops, any call
which gets as far as a driver definitely *is* for that driver, for a
device which has successfully passed .probe_device, so all the checks to
that effect are now redundant and can be removed. In the same vein we
can also skip freeing fwspecs which are now managed by core code.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com>
Link: https://lore.kernel.org/r/02671dbfad7a3343fc25a44222350efcb455fe3c.1655822151.git.robin.murphy@arm.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2022-07-06 12:55:53 +02:00
Robin Murphy
b321a2fba2 iommu: Make .release_device optional
Many drivers do nothing meaningful for .release_device, and it's neatly
abstracted to just two callsites in the core code, so let's make it
optional to implement.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com>
Link: https://lore.kernel.org/r/bda9d3eb4527eac8f6544a15067e2529cca54a2e.1655822151.git.robin.murphy@arm.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2022-07-06 12:55:53 +02:00
Robin Murphy
e63cfb5faa iommu: Use dev_iommu_ops() for probe_finalize
The ->probe_finalize hook only runs after ->probe_device succeeds,
so we can move that over to the new dev_iommu_ops() as well.

Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/5fe4b0ce22f676f435d332f2b2828dc7ef848a19.1655822151.git.robin.murphy@arm.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2022-07-06 12:55:53 +02:00
Jon Nettleton
0bec05574d iommu/arm-smmu: Get associated RMR info and install bypass SMR
Check if there is any RMR info associated with the devices behind
the SMMU and if any, install bypass SMRs for them. This is to
keep any ongoing traffic associated with these devices alive
when we enable/reset SMMU during probe().

Signed-off-by: Jon Nettleton <jon@solid-run.com>
Signed-off-by: Steven Price <steven.price@arm.com>
Tested-by: Steven Price <steven.price@arm.com>
Tested-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Acked-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/20220615101044.1972-10-shameerali.kolothum.thodi@huawei.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2022-07-06 12:51:11 +02:00
Shameer Kolothum
9bdbdaa3c4 iommu/arm-smmu-v3: Get associated RMR info and install bypass STE
Check if there is any RMR info associated with the devices behind
the SMMUv3 and if any, install bypass STEs for them. This is to
keep any ongoing traffic associated with these devices alive
when we enable/reset SMMUv3 during probe().

Tested-by: Hanjun Guo <guohanjun@huawei.com>
Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Acked-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/20220615101044.1972-9-shameerali.kolothum.thodi@huawei.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2022-07-06 12:51:11 +02:00
Shameer Kolothum
6c998abb1e iommu/arm-smmu-v3: Refactor arm_smmu_init_bypass_stes() to force bypass
By default, disable_bypass flag is set and any dev without
an iommu domain installs STE with CFG_ABORT during
arm_smmu_init_bypass_stes(). Introduce a "force" flag and
move the STE update logic to arm_smmu_init_bypass_stes()
so that we can force it to install CFG_BYPASS STE for specific
SIDs.

This will be useful in a follow-up patch to install bypass
for IORT RMR SIDs.

Tested-by: Hanjun Guo <guohanjun@huawei.com>
Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Acked-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/20220615101044.1972-8-shameerali.kolothum.thodi@huawei.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2022-07-06 12:51:11 +02:00
Shameer Kolothum
04e2afd1a7 iommu/arm-smmu-v3: Introduce strtab init helper
Introduce a helper to check the sid range and to init the l2 strtab
entries(bypass). This will be useful when we have to initialize the
l2 strtab with bypass for RMR SIDs.

Tested-by: Hanjun Guo <guohanjun@huawei.com>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Acked-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/20220615101044.1972-7-shameerali.kolothum.thodi@huawei.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2022-07-06 12:51:11 +02:00
Shameer Kolothum
e302eea8f4 ACPI/IORT: Add a helper to retrieve RMR info directly
This will provide a way for SMMU drivers to retrieve StreamIDs
associated with IORT RMR nodes and use that to set bypass settings
for those IDs.

Tested-by: Steven Price <steven.price@arm.com>
Tested-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Tested-by: Hanjun Guo <guohanjun@huawei.com>
Reviewed-by: Hanjun Guo <guohanjun@huawei.com>
Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Acked-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/20220615101044.1972-6-shameerali.kolothum.thodi@huawei.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2022-07-06 12:51:11 +02:00
Shameer Kolothum
491cf4a673 ACPI/IORT: Add support to retrieve IORT RMR reserved regions
Parse through the IORT RMR nodes and populate the reserve region list
corresponding to a given IOMMU and device(optional). Also, go through
the ID mappings of the RMR node and retrieve all the SIDs associated
with it.

Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Tested-by: Steven Price <steven.price@arm.com>
Tested-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Tested-by: Hanjun Guo <guohanjun@huawei.com>
Reviewed-by: Hanjun Guo <guohanjun@huawei.com>
Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Acked-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/20220615101044.1972-5-shameerali.kolothum.thodi@huawei.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2022-07-06 12:51:10 +02:00
Shameer Kolothum
55be25b8b5 ACPI/IORT: Provide a generic helper to retrieve reserve regions
Currently IORT provides a helper to retrieve HW MSI reserve regions.
Change this to a generic helper to retrieve any IORT related reserve
regions. This will be useful when we add support for RMR nodes in
subsequent patches.

[Lorenzo: For ACPI IORT]

Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Tested-by: Steven Price <steven.price@arm.com>
Tested-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Tested-by: Hanjun Guo <guohanjun@huawei.com>
Reviewed-by: Hanjun Guo <guohanjun@huawei.com>
Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Acked-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/20220615101044.1972-4-shameerali.kolothum.thodi@huawei.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2022-07-06 12:51:10 +02:00
Shameer Kolothum
8778b1d481 ACPI/IORT: Make iort_iommu_msi_get_resv_regions() return void
At present iort_iommu_msi_get_resv_regions() returns the number of
MSI reserved regions on success and there are no users for this.
The reserved region list will get populated anyway for platforms
that require the HW MSI region reservation. Hence, change the
function to return void instead.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Tested-by: Steven Price <steven.price@arm.com>
Tested-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Reviewed-by: Hanjun Guo <guohanjun@huawei.com>
Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Acked-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/20220615101044.1972-3-shameerali.kolothum.thodi@huawei.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2022-07-06 12:51:10 +02:00
Shameer Kolothum
3b7e2482f9 iommu: Introduce a callback to struct iommu_resv_region
A callback is introduced to struct iommu_resv_region to free memory
allocations associated with the reserved region. This will be useful
when we introduce support for IORT RMR based reserved regions.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Tested-by: Steven Price <steven.price@arm.com>
Tested-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Tested-by: Hanjun Guo <guohanjun@huawei.com>
Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Acked-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/20220615101044.1972-2-shameerali.kolothum.thodi@huawei.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2022-07-06 12:51:10 +02:00
Yian Chen
316f92a705 iommu/vt-d: Fix PCI bus rescan device hot add
Notifier calling chain uses priority to determine the execution
order of the notifiers or listeners registered to the chain.
PCI bus device hot add utilizes the notification mechanism.

The current code sets low priority (INT_MIN) to Intel
dmar_pci_bus_notifier and postpones DMAR decoding after adding
new device into IOMMU. The result is that struct device pointer
cannot be found in DRHD search for the new device's DMAR/IOMMU.
Subsequently, the device is put under the "catch-all" IOMMU
instead of the correct one. This could cause system hang when
device TLB invalidation is sent to the wrong IOMMU. Invalidation
timeout error and hard lockup have been observed and data
inconsistency/crush may occur as well.

This patch fixes the issue by setting a positive priority(1) for
dmar_pci_bus_notifier while the priority of IOMMU bus notifier
uses the default value(0), therefore DMAR decoding will be in
advance of DRHD search for a new device to find the correct IOMMU.

Following is a 2-step example that triggers the bug by simulating
PCI device hot add behavior in Intel Sapphire Rapids server.

echo 1 > /sys/bus/pci/devices/0000:6a:01.0/remove
echo 1 > /sys/bus/pci/rescan

Fixes: 59ce0515cd ("iommu/vt-d: Update DRHD/RMRR/ATSR device scope")
Cc: stable@vger.kernel.org # v3.15+
Reported-by: Zhang, Bernice <bernice.zhang@intel.com>
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Yian Chen <yian.chen@intel.com>
Link: https://lore.kernel.org/r/20220521002115.1624069-1-yian.chen@intel.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2022-07-06 12:44:07 +02:00
Guangbin Huang
66637ab137 drivers/perf: hisi: add driver for HNS3 PMU
HNS3(HiSilicon Network System 3) PMU is RCiEP device in HiSilicon SoC NIC,
supports collection of performance statistics such as bandwidth, latency,
packet rate and interrupt rate.

NIC of each SICL has one PMU device for it. Driver registers each PMU
device to perf, and exports information of supported events, filter mode of
each event, bdf range, hardware clock frequency, identifier and so on via
sysfs.

Each PMU device has its own registers of control, counters and interrupt,
and it supports 8 hardware events, each hardward event has its own
registers for configuration, counters and interrupt.

Filter options contains:
config       - select event
port         - select physical port of nic
tc           - select tc(must be used with port)
func         - select PF/VF
queue        - select queue of PF/VF(must be used with func)
intr         - select interrupt number(must be used with func)
global       - select all functions of IO DIE

Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
Reviewed-by: John Garry <john.garry@huawei.com>
Reviewed-by: Shaokun Zhang <zhangshaokun@hisilicon.com>
Link: https://lore.kernel.org/r/20220628063419.38514-3-huangguangbin2@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
2022-07-06 11:25:53 +01:00
Guangbin Huang
39915b6b5f drivers/perf: hisi: Add description for HNS3 PMU driver
HNS3 PMU End Point device is supported on HiSilicon HIP09 platform, so
add document hns3-pmu.rst to provide guidance on how to use it.

Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
Reviewed-by: John Garry <john.garry@huawei.com>
Reviewed-by: Shaokun Zhang <zhangshaokun@hisilicon.com>
Link: https://lore.kernel.org/r/20220628063419.38514-2-huangguangbin2@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
2022-07-06 11:25:53 +01:00
Nikita Shubin
26fabd6d2f drivers/perf: riscv_pmu_sbi: perf format
Update driver to export formatting and event information to sysfs so it
can be used by the perf user space tools with the syntaxes:

perf stat -e cpu/event=0x05
perf stat -e cpu/event=0x05,firmware=0x1/

63-bit is used to distinguish hardware events from firmware. Firmware
events are defined by "RISC-V Supervisor Binary Interface
Specification".

perf stat -e cpu/event=0x05,firmware=0x1/

is equivalent to

perf stat -e r8000000000000005

Suggested-by: João Mário Domingos <joao.mario@tecnico.ulisboa.pt>
Signed-off-by: Nikita Shubin <n.shubin@yadro.com>
Link: https://github.com/riscv-non-isa/riscv-sbi-doc/blob/master/riscv-sbi.adoc
Link: https://lore.kernel.org/r/20220628114625.166665-2-nikita.shubin@maquefel.me
Signed-off-by: Will Deacon <will@kernel.org>
2022-07-06 11:06:24 +01:00
Christophe JAILLET
0e35850b34 perf/arm-cci: Use the bitmap API to allocate bitmaps
Use devm_bitmap_zalloc() instead of hand-writing it.
It is less verbose and it improves the semantic.

While at it, use bitmap_zero() instead of hand-writing it.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/fbde85a5e8ae99b10a2115d8ea1e69320a62947f.1657084786.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Will Deacon <will@kernel.org>
2022-07-06 11:02:58 +01:00
Eric Lin
e9a023f2b7 drivers/perf: riscv_pmu: Add riscv pmu pm notifier
Currently, when the CPU is doing suspend to ram, we don't
save pmu counter register and its content will be lost.

To ensure perf profiling is not affected by suspend to ram,
this patch is based on arm_pmu CPU_PM notifier and implements riscv
pmu pm notifier. In the pm notifier, we stop the counter and update
the counter value before suspend and start the counter after resume.

Signed-off-by: Eric Lin <eric.lin@sifive.com>
Link: https://lore.kernel.org/r/20220705091920.27432-1-eric.lin@sifive.com
Signed-off-by: Will Deacon <will@kernel.org>
2022-07-06 10:57:30 +01:00
Michael Roth
b57feed2cc x86/compressed/64: Add identity mappings for setup_data entries
The decompressed kernel initially relies on the identity map set up by
the boot/compressed kernel for accessing things like boot_params. With
the recent introduction of SEV-SNP support, the decompressed kernel
also needs to access the setup_data entries pointed to by
boot_params->hdr.setup_data.

This can lead to a crash in the kexec kernel during early boot due to
these entries not currently being included in the initial identity map,
see thread at Link below.

Include mappings for the setup_data entries in the initial identity map.

  [ bp: Massage commit message and use a helper var for better readability. ]

Fixes: b190a043c4 ("x86/sev: Add SEV-SNP feature detection/setup")
Reported-by: Jun'ichi Nomura <junichi.nomura@nec.com>
Signed-off-by: Michael Roth <michael.roth@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/TYCPR01MB694815CD815E98945F63C99183B49@TYCPR01MB6948.jpnprd01.prod.outlook.com
2022-07-06 11:23:39 +02:00
Quentin Perret
1c3ace2b8b KVM: arm64: Don't return from void function
Although harmless, the return statement in kvm_unexpected_el2_exception
is rather confusing as the function itself has a void return type. The
C standard is also pretty clear that "A return statement with an
expression shall not appear in a function whose return type is void".
Given that this return statement does not seem to add any actual value,
let's not pointlessly violate the standard.

Build-tested with GCC 10 and CLANG 13 for good measure, the disassembled
code is identical with or without the return statement.

Fixes: e9ee186bb7 ("KVM: arm64: Add kvm_extable for vaxorcism code")
Signed-off-by: Quentin Perret <qperret@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220705142310.3847918-1-qperret@google.com
2022-07-06 10:00:31 +01:00
David S. Miller
2ef8e39f58 Merge branch 'octeontx2-af-next'
Ratheesh Kannoth says:

====================
octeontx2: *** Exact Match Table and Field hash ***

*** Exact match table and Field hash support for CN10KB silicon ***

Ratheesh Kannoth (11):

These patch series enables exact match table in CN10KB silicon. Legacy
silicon used NPC mcam to do packet fields/channel matching for NPC rules.
NPC mcam resources exahausted as customer use case increased.
Supporting many DMAC filter becomes a challenge, as RPM based filter
count is less. Exact match table has 4way 2K entry table and a 32 entry
fully associative cam table. Second table is to handle hash
table collision overflows in 4way 2K entry table. Enabling exact match table
results in KEX key to be appended with Hit/Miss status. This can be used
to match in NPC mcam for a more generic rule and drop those packets than
having DMAC drop rules for each DMAC entry in NPC mcam.

  octeontx2-af: Exact match support
  octeontx2-af: Exact match scan from kex profile
  octeontx2-af: devlink configuration support
  octeontx2-af: FLR handler for exact match table.
  octeontx2-af: Drop rules for NPC MCAM
  octeontx2-af: Debugsfs support for exact match.
  octeontx2: Modify mbox request and response structures
  octeontx2-af: Wrapper functions for mac addr add/del/update/reset
  octeontx2-af: Invoke exact match functions if supported
  octeontx2-pf: Add support for exact match table.
  octeontx2-af: Enable Exact match flag in kex profile

Suman Ghosh (1):

CN10KB variant of CN10K series of silicons supports
a new feature where in a large protocol field
(eg 128bit IPv6 DIP) can be condensed into a small
hashed 32bit data. This saves a lot of space in MCAM key
and allows user to add more protocol fields into the filter.
A max of two such protocol data can be hashed.
This patch adds support for hashing IPv6 SIP and/or DIP.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-06 08:16:48 +01:00
Ratheesh Kannoth
7189d28e7e octeontx2-af: Enable Exact match flag in kex profile
Enabled EXACT match flag in Kex default profile. Since
there is no space in key, NPC_PARSE_NIBBLE_ERRCODE
is removed

Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-06 08:16:48 +01:00
Ratheesh Kannoth
e56468377f octeontx2-pf: Add support for exact match table.
NPC exact match table can support more entries than RPM
dmac filters. This requires field size of DMAC filter count
and index to be increased.

Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-06 08:16:48 +01:00
Ratheesh Kannoth
84926eb57d octeontx2-af: Invoke exact match functions if supported
If exact match table is suppoted, call functions to add/del/update
entries in exact match table instead of RPM dmac filters

Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-06 08:16:48 +01:00
Ratheesh Kannoth
87e91f92cd octeontx2-af: Wrapper functions for MAC addr add/del/update/reset
These functions are wrappers for mac add/addr/del/update in
exact match table. These will be invoked from mbox handler routines
if exact matct table is supported and enabled.

Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-06 08:16:48 +01:00
Ratheesh Kannoth
68793a8bbf octeontx2: Modify mbox request and response structures
Exact match table modification requires wider fields as it has
more number of slots to fill in. Modifying an entry in exact match
table may cause hash collision and may be required to delete entry
from 4-way 2K table and add to fully associative 32 entry CAM table.

Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-06 08:16:48 +01:00
Ratheesh Kannoth
01b9228b20 octeontx2-af: Debugsfs support for exact match.
There debugfs files created.
1. General information on exact match table
2. Exact match table entries.
3. NPC mcam drop on hit count stats.

Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-06 08:16:47 +01:00
Ratheesh Kannoth
c6238bc061 octeontx2-af: Drop rules for NPC MCAM
NPC exact match table installs drop on hit rules in
NPC mcam for each channel. This rule has broadcast and multicast
bits cleared. Exact match bit cleared and channel bits
set. If exact match table hit bit is 0, corresponding NPC mcam
drop rule will be hit for the packet and will be dropped.

Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-06 08:16:47 +01:00
Ratheesh Kannoth
799f02ef2c octeontx2-af: FLR handler for exact match table.
FLR handler should remove/free all exact match table resources
corresponding to each interface.

Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-06 08:16:47 +01:00
Ratheesh Kannoth
ffd92c5746 octeontx2-af: devlink configuration support
CN10KB silicon supports Exact match feature. This feature can be disabled
through devlink configuration. Devlink command fails if DMAC filter rules
are already present. Once disabled, legacy RPM based DMAC filters will be
configured.

Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-06 08:16:47 +01:00
Ratheesh Kannoth
60ec393117 octeontx2-af: Exact match scan from kex profile
CN10KB silicon supports exact match table. Scanning KEX
profile should check for exact match feature is enabled
and then set profile masks properly.

These kex profile masks are required to configure NPC
MCAM drop rules. If there is a miss in exact match table,
these drop rules will drop those packets.

Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-06 08:16:47 +01:00
Ratheesh Kannoth
017691914c octeontx2-af: Exact match support
CN10KB silicon has support for exact match table. This table
can be used to match maimum 64 bit value of KPU parsed output.
Hit/non hit in exact match table can be used as a KEX key to
NPC mcam.

This patch makes use of Exact match table to increase number of
DMAC filters supported. NPC  mcam is no more need for each of these
DMAC entries as will be populated in Exact match table.

This patch implements following

1. Initialization of exact match table only for CN10KB.
2. Add/del/update interface function for exact match table.

Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-06 08:16:47 +01:00
Ratheesh Kannoth
a95ab93550 octeontx2-af: Use hashed field in MCAM key
CN10KB variant of CN10K series of silicons supports
a new feature where in a large protocol field
(eg 128bit IPv6 DIP) can be condensed into a small
hashed 32bit data. This saves a lot of space in MCAM key
and allows user to add more protocol fields into the filter.
A max of two such protocol data can be hashed.
This patch adds support for hashing IPv6 SIP and/or DIP.

Signed-off-by: Suman Ghosh <sumang@marvell.com>
Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-06 08:16:47 +01:00
David S. Miller
e7ce9fc9ad Merge branch 'nfp-tso'
Merge branch 'nfp-tso'

Simon Horman says:

====================
nfp: enable TSO by default

this short series enables TSO by default on all NICs supported by the NFP
driver.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-06 08:15:51 +01:00
Simon Horman
7de8b69161 nfp: enable TSO by default for nfp netdev
We can benefit from TSO when the host CPU is not powerful enough,
so enable it by default now.

Signed-off-by: Yinjun Zhang <yinjun.zhang@corigine.com>
Reviewed-by: Louis Peens <louis.peens@corigine.com>
Signed-off-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-06 08:15:39 +01:00
Yinjun Zhang
ccccb49329 nfp: allow TSO packets with metadata prepended in NFDK path
Packets with metadata prepended can be correctly handled in
firmware when TSO is enabled, now remove the error path and
related comments. Since there's no existing firmware that
uses prepended metadata, no need to add compatibility check
here.

Signed-off-by: Yinjun Zhang <yinjun.zhang@corigine.com>
Reviewed-by: Louis Peens <louis.peens@corigine.com>
Signed-off-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-06 08:15:39 +01:00