Commit graph

1,169,205 commits

Author SHA1 Message Date
Arnd Bergmann
194bebfea5 AT91 fixes for 6.0
It contains:
 - fixes for self-refresh on SAMA7G5 while in AT91 power management modes:
   one disabling a DDR PHY controller DLL which has been proved to be buggy
   and can introduce glitches that can cause unexpected behavior; one
   fixing the DDR PHY recalibration which cannot work for all possible
   cases (due to hardware bug) while using backup and self-refresh AT91
   power management mode;
 - one defconfig fix to remove CONFIG_MICROCHIP_PIT64B from all AT91
   defconfigs;
 - multiple device tree fixes for regulators to avoid having some of them
   enabled all the time and to describe min and max output ranges
   according to board capabilities.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCYxG/lwAKCRCejrg/N2X7
 /bQpAQCEfcz8ockiRHT3dkJcoI0yHbEiZIHSbPjwFLlu54IVBgEAjZPhSIbtYTjM
 7MDRFXYF6BeaNga99JXjItz1IlwkvA8=
 =5Kwl
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmMRzOAACgkQmmx57+YA
 GNkVsxAArs1HJ4R8p2H54szlzrLGkgPrXuAIZNnV13jiRi5FL6p5doFLb2Ldhrro
 OoSP/9Z8GaEu6B3YP+5QP5gAXtKXntLdsFZA3XididLsZCSJtazuSv4uUUxPg86K
 DagY+Yhlb05vZH4JMjC7MJztbaq2rbP/tzYPvdR8I6aN8OIORchzu/36kwp8TVGk
 2FiYJSxk3ccYcVTqZjORjQadUn2Hx+rCKgC8lQLZTSnQ+/ZBmPC6vwiHCDVrgVBx
 mJeUBnbBFpQMyO3hzOKvLu2hHcHfJrBb7DnpVEUsenfl9O4XPu1LVmuCN7Osh9jT
 x+k7PNx1yrTzZpnICz8z92U13zgkaxqkaYAqzQZqEFae8Z2/SWitIls9pM5ZZTbX
 nZfWWP1qQ8cN27/fTNz6Igg1Lk3NS0zRsw2kSuRBCUejiQQscByOpEkxveJDb64u
 jEVCM9HqYZccKq+j77A1WJez5B7twDSAxl6pbtE0gD+++TqfOfCWxLjbVzx4l89X
 /Osr2keeB4tLnna2ltqtvlfH5rL0/A9OmkpXhlwW+VML73rP3fB0y1HCoEzmMyYQ
 XQVGwS0d8MMfXyXylpQn767Xxc3qhGdhutugHQgagOe8F74FgZOH5AZQTxBf4e8R
 g1uotqy/Fwxojtf9aJf4voeD2QuXg25E+qgDoQf6QW3EFCtaBDQ=
 =KEYR
 -----END PGP SIGNATURE-----

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

AT91 fixes for 6.0

It contains:
- fixes for self-refresh on SAMA7G5 while in AT91 power management modes:
  one disabling a DDR PHY controller DLL which has been proved to be buggy
  and can introduce glitches that can cause unexpected behavior; one
  fixing the DDR PHY recalibration which cannot work for all possible
  cases (due to hardware bug) while using backup and self-refresh AT91
  power management mode;
- one defconfig fix to remove CONFIG_MICROCHIP_PIT64B from all AT91
  defconfigs;
- multiple device tree fixes for regulators to avoid having some of them
  enabled all the time and to describe min and max output ranges
  according to board capabilities.

* tag 'at91-fixes-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: at91: sama5d2_icp: don't keep vdd_other enabled all the time
  ARM: dts: at91: sama5d27_wlsom1: don't keep ldo2 enabled all the time
  ARM: dts: at91: sama7g5ek: specify proper regulator output ranges
  ARM: dts: at91: sama5d2_icp: specify proper regulator output ranges
  ARM: dts: at91: sama5d27_wlsom1: specify proper regulator output ranges
  ARM: at91: pm: fix DDR recalibration when resuming from backup and self-refresh
  ARM: at91: pm: fix self-refresh for sama7g5
  ARM: configs: at91: remove CONFIG_MICROCHIP_PIT64B

Link: https://lore.kernel.org/r/20220902085744.4193554-1-claudiu.beznea@microchip.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-09-02 11:29:03 +02:00
Mathew McBride
9a472613f5
soc: fsl: select FSL_GUTS driver for DPIO
The soc/fsl/dpio driver will perform a soc_device_match()
to determine the optimal cache settings for a given CPU core.

If FSL_GUTS is not enabled, this search will fail and
the driver will not configure cache stashing for the given
DPIO, and a string of "unknown SoC" messages will appear:

fsl_mc_dpio dpio.7: unknown SoC version
fsl_mc_dpio dpio.6: unknown SoC version
fsl_mc_dpio dpio.5: unknown SoC version

Fixes: 51da14e96e ("soc: fsl: dpio: configure cache stashing destination")
Signed-off-by: Mathew McBride <matt@traverse.com.au>
Reviewed-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20220901052149.23873-2-matt@traverse.com.au'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-09-02 11:28:40 +02:00
Arnd Bergmann
49f6d09bd0 This pull request contains Broadcom SoCs driver fixes for 6.0, please
pull the following:
 
 - Liang fixes the legacy Broadcom STB ARM system suspend/resume code
 error paths that were leaking ioremap() and other of_* operations
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmMNQmsACgkQh9CWnEQH
 BwTjKxAAqAvlmkOjVnJxrxEv53bXxPU+lHqTacMm5O8OmP5+EpxbSSFXLtICAnaL
 8VFAPKhwrX6xkJr0asv6oUaxf2oSWMXixjSIW8uxlZQl+R9cU9FWq7piyaxytpBQ
 aRHRSKQBTi3IHW5+ZcohRdKwhNzBqtcbeSPdQF2A/vSEp7Na9Aite5iW2Sd4o9Wz
 oP/uxZFKZGvKB7Zcn9Yq57G6wUVoAHw3Ny5hfmbVOC8UMNr3XJdpK+2jtJZV2YmR
 l8Y6olU0/bz6dLQgJoASpM8EW4dtVvD+TDF9EjdQgICG6h0RDaO6uRAAGAHqifzo
 6BH151L22F6YC2DQn3TXgRse0bFaXxRo07UYNx8S8xKnw4/iG36aoEU2o/WAKshF
 FMrx9Kmh//ih6oFaTnWa8/R4f7zQXWuPNFdUpMltGwhIPRV6HIzloYFRx7ekPc4q
 gNgcc48cTDKLmzd8eMworX2TK1s2oKCMKW0KTZv1PTrTgHoUOE088QUDDjtXuKK5
 VXSxsmhr2CUG+EBsH5rInHi9KszNfE0FpHfKQ9iaao6OhMSPeUq7StLh80ZctxFu
 ufTwDX0SEc9ipPow4T2f6jOTy7x0E2gHj7zKfc5kjx0vME3E9/bUsROzDN5vmlb2
 TV+qSa0q0jkZezATB+m1x1rO5Hw9d46X39R2Ew94W4vlr/M5ebk=
 =ORKq
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmMRzH8ACgkQmmx57+YA
 GNn6uhAAjh/j+zAZzqYPCWtd0zR6GaFodCwYxLJFH+Z6r/vy2PIdY6+BHZPA7E6L
 2j9i2YYMCz79PhO24DpMIWfEBVaZ0Y6/Fg+ip15OpOeuVSCX0sAEtE7cevapuqeu
 sqyNLQQ8quWltjyLfIfaAYh7yDrTr3DjxUkS43nhaLplfWvB/N4uxFeGZ3X2aRI1
 bWh2bCJvkrsd9+FQn9UDP0QA2YGnCWrkE66SkZsxh2o86x7VC5f/XBfns8rZNnoc
 bx32nO2YQ5Rahbz8j+it+pYGpO5JZT/Hy0wOeMimJt0L76HI4WoB589a7urW4+y4
 NXTizlfkBJ3HlnD9WhlRCydWVDQz3xQ/TkaerM5IGyfS9QmlOITFz/BxoVL4DmgZ
 pL/zPJjffsZEt0f5om5767Fk267kgrvgmlHsRA9gRAqNNgHkpNYNEinqzUkIhCtx
 1QTr9KNRBFu43/eIx+t50nHoc/Jg1SL9YLD0VKfTsItn1LM4eMfV92F+WGP9wL6b
 OSJuicRoIXQ6X+8rdXE7/ZXc9aVuA6SNNgRHwdY+4MtyZgRGWC3sbAJ1tb1RITbr
 XoJVlG6vDg0XzFlWYeNCbufgePY2yXhVVP8QwojNt+926pGNvL07fpUl2pGBxV7M
 FQumq1l/QVJeYDL728/YX2Bk2/kXWZrO/HEYttJypg81xQ/Y7iw=
 =YiX2
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-6.0/drivers-fixes' of https://github.com/Broadcom/stblinux into arm/fixes

This pull request contains Broadcom SoCs driver fixes for 6.0, please
pull the following:

- Liang fixes the legacy Broadcom STB ARM system suspend/resume code
error paths that were leaking ioremap() and other of_* operations

* tag 'arm-soc/for-6.0/drivers-fixes' of https://github.com/Broadcom/stblinux:
  soc: brcmstb: pm-arm: Fix refcount leak and __iomem leak bugs

Link: https://lore.kernel.org/r/20220829225103.753223-2-f.fainelli@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-09-02 11:27:27 +02:00
Arnd Bergmann
06f0696444 This pull request contains Broadcom ARM-based SoCs Device Tree fixes for
6.0, please pull the following:
 
 - William fixes a number of the recently submitted DTS files for 63178,
 6846, 6878 to have correct PSCI node propertie as well as correct timer
 CPU masks
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmMM9OUACgkQh9CWnEQH
 BwSzDA//WZyMEI1AGo+Y5pQQXQIR7MvIr50IwGPPUDa3DzTAGF/td3/mLI4g2cnf
 vOKAtgUtAHRNhFzOUbw+IMmGeUJ9SOJIyK2c3kjdcb1Fihuz+wJLcz54ljiwzJmt
 ekL/HqHA6Q5l4BJHq+4AMPvgiSZBFlD+iNhAUY6OJ/VIXuXbt7PTrQp1KRImvely
 JRyGjoagOlSMbS/WNenuFKRPoe3cnrABHjhAm6zOjPYCvyDmN7N6jwimW0UhLVsd
 ievzfg+/3Xux4aKZj82Csj5Y+63Tu7vh2MHQgdHq8Vg6rU0Mvs3S+sThdv5L8XOD
 6e80jHVIad8KifgEVxNfu4OvRJJxx/g7rwJPFJJ+ugUUgwXyRU7nH2FdCUqFz+q0
 UnDNC+KkBKfsypp8s3kzZHktDdvwkNYBqX/CnRNqh2MeRBUiyLTBZdC1NtkUwAzs
 eUrEpMBdrcnDAu0JM7pGaLp1/OdrintDzguqcKwjOQ7prpb61/w3W6CyMRVXJKAT
 IF6mP0Tiiww/8p/JH/MJWxCMoA9QRBmUt9ARDEd7nYU/5vAkezZKtz+cjn8E5AEs
 j/ScT0ZJ4KkjBuyvONKU2gED82Z2GWysEXZjQgFJPI2AnL0FN9VqdFvipoQo86sl
 nH2aWKo7nzC8x8LiTIirQCqDvflNWdSYqvsfMvUsHkrWx4lu1CM=
 =hjVE
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmMRzFoACgkQmmx57+YA
 GNkTxhAAqLZDQX+B3AlpOIIDz8vqtjnuvN1Mz9/zif9btUP3gkX8HWNXQUDY+xhg
 1QhRKjrRhKj+Xq7OKXXwGIZL+g7iT5wPh9ORzaY8zUQfoGAHI8B2mHsef90PCl5z
 Z7g+11twIu21i+t7JiNLxr9stl2qcjXeuHh+TTF3yuGxgkgxx/A81lyxskjfVpSV
 r3hjPwwiNK8o8d5iKPZ3yJeoZEkWrVyUNmla1J+yi2xJ2OZnEQfZFxd6Avg+DFsW
 J8Zv+fqgkH0+uKE9PUcV8KUBb1ITl7WOANWN3qZ7ARITbZkW3n+pfP2HUCGEmv/o
 nTGtf/wn102snk0e+sxLPsBrStH1zlHC1/2Z/kW+VQivSMH3UQNdynvG/KOKuVtA
 14fF0V2DuNvcJTHCaomoROJImCaKxI/mQf0uXmqxndk9sgnkLOcrDKwbdY8aQQNu
 ciR7LY+rK+5hHEhsgdhZ7mcqkcI8hcLBGclfUOrIIlmZTXSl/rLDirS+7T/5P0AC
 N3qQfiiiyK0G7zfHrhiusBg1bpC75k0FR7rZUa2BvvnqFmILMhCfLGtlfIexu1Nx
 xjpRkQDLpbPbcZhQDlfJMEFGBVelHun7kl6v5Z30SKXM1ArbcAAOeyGx5XkhdVyN
 b0kcJDyWzHluk9SjyZcn8vZs5h/xNuJ/z75ummXiXh2Q6z0PJ24=
 =SM9p
 -----END PGP SIGNATURE-----

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

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

- William fixes a number of the recently submitted DTS files for 63178,
6846, 6878 to have correct PSCI node propertie as well as correct timer
CPU masks

* tag 'arm-soc/for-6.0/devicetree' of https://github.com/Broadcom/stblinux:
  ARM: dts: bcmbca: bcm6878: cosmetic change
  ARM: dts: bcmbca: bcm6878: fix timer node cpu mask flag
  ARM: dts: bcmbca: bcm6846: fix interrupt controller node
  ARM: dts: bcmbca: bcm6846: clean up psci node
  ARM: dts: bcmbca: bcm6846: fix timer node cpu mask flag
  ARM: dts: bcmbca: bcm63178: cosmetic change
  ARM: dts: bcmbca: bcm63178: fix interrupt controller node
  ARM: dts: bcmbca: bcm63178: clean up psci node
  ARM: dts: bcmbca: bcm63178: fix timer node cpu mask flag

Link: https://lore.kernel.org/r/20220829225103.753223-1-f.fainelli@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-09-02 11:26:50 +02:00
Arnd Bergmann
92c7c5b0f9 Armv8 Juno fixes for v6.0
Couple of fixes to add missing MHU secure-irq and remove the legacy
 coresight 'slave-mode' property.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmMHX/IACgkQAEG6vDF+
 4ph90g//c5plifI3pE+1r8BS0huvbFUp1PaYWTeS1kvetSvvgT7HVSxTfpCyW58a
 UR27pH2Ox3fOgoErp63kP7Hfvk46fKBICjrTjzgYmrR1uz9rLaHPU3zRs/srdb0u
 SwSFhegTzBis05YkKPxXJXsq5dlgn1ihuQ/vLXbT0ShYulDlp3mN+zHm1xw+s2WS
 Poc3Jp1G8sQeuEZpDOeAgJxpBtEsZiAz8xXsP2WuQysSeu0ZVZwa4O4LhY/bBhQN
 xFpFoArbJcXiNFCbvcwDq8ak6/iAF5y1oeWBtss11VlBJyg+old4bNdMdAirLQX1
 DoxMIDHUMgVm1k8V6vH33pHf22PBpSz4FPlUIidHUPDs5fHBGQOQq+2t90Lwexet
 jNdVZdCrdvyvNu8rotujBRDb9LJZxTIBxaLzirO15zeFwuysq/i98OrbRb6LkMGM
 0UrD6S3ywf1b6PNLetkfjuUmN0nM82+ntHBw/iZt46QU9OzXP+P+H/CEGc/rRpz/
 1r2jD50Xo8s8l4fTsJ9FnQE9C1sk0HfyhAHAaN5F1V1G98yMeHdZfXa3UmzGOy9H
 duXt0k5g73W/P/ho25X1Gsqz/DX7nK6PHRYhYvB9rCJrC5qSbkGL4gcwXTVLXz0R
 rd7az6PUzcfS37Hk86j0N4SFl//3OFYl/jmaAwghYcwiyrszZRI=
 =SuC2
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmMRyqEACgkQmmx57+YA
 GNlRWhAAvgWK35djY7dYUdWvCy5Ci3TFhrAQFEjnlDUddT2bpZdMO6KD9Wkbf2oc
 qQ4naKqlNP1XUaeTE53cakGatQTraQsugJtvDXItjNLfdLcSLTLvzH/lRs6S5FEa
 sadpndqddRHwxLCfNkYti7dXMBgeb6Ch2B9bL0SWnLh9zT/IVf+z/UQlImh68Ds8
 Md/+IN8ZKjASE047PM+xNKN+i39IBfb2Kq1uPuLNVwFniFb0AZBlk3OaFTCq2DuR
 OfMscDGQOLEZ2xLUropPEWXr8jPkNLp2xuClVHIJ8brBXYIrp22rfZGVIqGTOWKo
 DhpES9P5jdQrbP502YDMNUf+b0dVjpEuCdp5Ajtf6FMGsQrtqjxTLvwb93ODLPe9
 pk2W7JUyeWKvBjOnMFFH2Gc2ckseJ5QxG5P2fN5FHZaO42iToYeW0u632n6I5H9w
 HudSceVKhmHr7A1vL0jnMq8zW7dWMcKeh7Q2mehJ8GUbRYT9BpJqe8P/wAf3A4Fr
 6b3z/Z2bdO5CIG4ooggPicd/qPo+0RR74768fBnBnDXhoY360ieKZ9hG9pEBNRAy
 xHqKJpwBFETZ+lfyALXxgtkGalhkyodcsLNUcwt7ob3jB0pf9nj1V5SH3h2t4pDA
 aMx2+jU9j1c1IeYQaChHC0qLUgplxkdS/xUtdEU7yawIu541DZk=
 =YVft
 -----END PGP SIGNATURE-----

Merge tag 'juno-fixes-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into arm/fixes

Armv8 Juno fixes for v6.0

Couple of fixes to add missing MHU secure-irq and remove the legacy
coresight 'slave-mode' property.

* tag 'juno-fixes-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  arm64: dts: juno: Add missing MHU secure-irq
  arm64: dts: arm: juno: Remove legacy Coresight 'slave-mode' property

Link: https://lore.kernel.org/r/20220829174420.207880-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-09-02 11:19:29 +02:00
Dan Carpenter
e9ea0b30ad xen/grants: prevent integer overflow in gnttab_dma_alloc_pages()
The change from kcalloc() to kvmalloc() means that arg->nr_pages
might now be large enough that the "args->nr_pages << PAGE_SHIFT" can
result in an integer overflow.

Fixes: b3f7931f5c ("xen/gntdev: switch from kcalloc() to kvcalloc()")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/YxDROJqu/RPvR0bi@kili
Signed-off-by: Juergen Gross <jgross@suse.com>
2022-09-02 11:05:19 +02:00
SeongJae Park
fe8f65b018 xen-blkfront: Cache feature_persistent value before advertisement
Xen blkfront advertises its support of the persistent grants feature
when it first setting up and when resuming in 'talk_to_blkback()'.
Then, blkback reads the advertised value when it connects with blkfront
and decides if it will use the persistent grants feature or not, and
advertises its decision to blkfront.  Blkfront reads the blkback's
decision and it also makes the decision for the use of the feature.

Commit 402c43ea6b ("xen-blkfront: Apply 'feature_persistent' parameter
when connect"), however, made the blkfront's read of the parameter for
disabling the advertisement, namely 'feature_persistent', to be done
when it negotiate, not when advertise.  Therefore blkfront advertises
without reading the parameter.  As the field for caching the parameter
value is zero-initialized, it always advertises as the feature is
disabled, so that the persistent grants feature becomes always disabled.

This commit fixes the issue by making the blkfront does parmeter caching
just before the advertisement.

Fixes: 402c43ea6b ("xen-blkfront: Apply 'feature_persistent' parameter when connect")
Cc: <stable@vger.kernel.org> # 5.10.x
Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Signed-off-by: SeongJae Park <sj@kernel.org>
Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/20220831165824.94815-4-sj@kernel.org
Signed-off-by: Juergen Gross <jgross@suse.com>
2022-09-02 11:05:15 +02:00
SeongJae Park
9f5e0fe5d0 xen-blkfront: Advertise feature-persistent as user requested
The advertisement of the persistent grants feature (writing
'feature-persistent' to xenbus) should mean not the decision for using
the feature but only the availability of the feature.  However, commit
74a852479c ("xen-blkfront: add a parameter for disabling of persistent
grants") made a field of blkfront, which was a place for saving only the
negotiation result, to be used for yet another purpose: caching of the
'feature_persistent' parameter value.  As a result, the advertisement,
which should follow only the parameter value, becomes inconsistent.

This commit fixes the misuse of the semantic by making blkfront saves
the parameter value in a separate place and advertises the support based
on only the saved value.

Fixes: 74a852479c ("xen-blkfront: add a parameter for disabling of persistent grants")
Cc: <stable@vger.kernel.org> # 5.10.x
Suggested-by: Juergen Gross <jgross@suse.com>
Signed-off-by: SeongJae Park <sj@kernel.org>
Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/20220831165824.94815-3-sj@kernel.org
Signed-off-by: Juergen Gross <jgross@suse.com>
2022-09-02 11:05:12 +02:00
SeongJae Park
06ba5d2e94 xen-blkback: Advertise feature-persistent as user requested
The advertisement of the persistent grants feature (writing
'feature-persistent' to xenbus) should mean not the decision for using
the feature but only the availability of the feature.  However, commit
aac8a70db2 ("xen-blkback: add a parameter for disabling of persistent
grants") made a field of blkback, which was a place for saving only the
negotiation result, to be used for yet another purpose: caching of the
'feature_persistent' parameter value.  As a result, the advertisement,
which should follow only the parameter value, becomes inconsistent.

This commit fixes the misuse of the semantic by making blkback saves the
parameter value in a separate place and advertises the support based on
only the saved value.

Fixes: aac8a70db2 ("xen-blkback: add a parameter for disabling of persistent grants")
Cc: <stable@vger.kernel.org> # 5.10.x
Suggested-by: Juergen Gross <jgross@suse.com>
Signed-off-by: SeongJae Park <sj@kernel.org>
Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/20220831165824.94815-2-sj@kernel.org
Signed-off-by: Juergen Gross <jgross@suse.com>
2022-09-02 11:05:06 +02:00
Nathan Chancellor
6cf07810e9 powerpc/papr_scm: Ensure rc is always initialized in papr_scm_pmu_register()
Clang warns:

  arch/powerpc/platforms/pseries/papr_scm.c:492:6: warning: variable 'rc' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
          if (!p->stat_buffer_len)
              ^~~~~~~~~~~~~~~~~~~
  arch/powerpc/platforms/pseries/papr_scm.c:523:64: note: uninitialized use occurs here
          dev_info(&p->pdev->dev, "nvdimm pmu didn't register rc=%d\n", rc);
                                                                        ^~
  include/linux/dev_printk.h:150:67: note: expanded from macro 'dev_info'
          dev_printk_index_wrap(_dev_info, KERN_INFO, dev, dev_fmt(fmt), ##__VA_ARGS__)
                                                                          ^~~~~~~~~~~
  include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap'
                  _p_func(dev, fmt, ##__VA_ARGS__);                       \
                                      ^~~~~~~~~~~
  arch/powerpc/platforms/pseries/papr_scm.c:492:2: note: remove the 'if' if its condition is always false
          if (!p->stat_buffer_len)
          ^~~~~~~~~~~~~~~~~~~~~~~~
  arch/powerpc/platforms/pseries/papr_scm.c:484:8: note: initialize the variable 'rc' to silence this warning
          int rc, nodeid;
                ^
                = 0
  1 warning generated.

The call to papr_scm_pmu_check_events() was eliminated but a return code
was not added to the if statement. Add the same return code from
papr_scm_pmu_check_events() for this condition so there is no more
warning.

Fixes: 9b1ac04698 ("powerpc/papr_scm: Fix nvdimm event mappings")
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://github.com/ClangBuiltLinux/linux/issues/1701
Link: https://lore.kernel.org/r/20220830151256.1473169-1-nathan@kernel.org
2022-09-02 18:55:11 +10:00
Michael Ellerman
684c68d92e Revert "powerpc/irq: Don't open code irq_soft_mask helpers"
This reverts commit ef5b570d37.

Zhouyi reported that commit is causing crashes when running rcutorture
with KASAN enabled:

  BUG: using smp_processor_id() in preemptible [00000000] code: rcu_torture_rea/100
  caller is rcu_preempt_deferred_qs_irqrestore+0x74/0xed0
  CPU: 4 PID: 100 Comm: rcu_torture_rea Tainted: G        W          5.19.0-rc5-next-20220708-dirty #253
  Call Trace:
    dump_stack_lvl+0xbc/0x108 (unreliable)
    check_preemption_disabled+0x154/0x160
    rcu_preempt_deferred_qs_irqrestore+0x74/0xed0
    __rcu_read_unlock+0x290/0x3b0
    rcu_torture_read_unlock+0x30/0xb0
    rcutorture_one_extend+0x198/0x810
    rcu_torture_one_read+0x58c/0xc90
    rcu_torture_reader+0x12c/0x360
    kthread+0x1e8/0x220
    ret_from_kernel_thread+0x5c/0x64

KASAN will generate instrumentation instructions around the
WRITE_ONCE(local_paca->irq_soft_mask, mask):

   0xc000000000295cb0 <+0>:	addis   r2,r12,774
   0xc000000000295cb4 <+4>:	addi    r2,r2,16464
   0xc000000000295cb8 <+8>:	mflr    r0
   0xc000000000295cbc <+12>:	bl      0xc00000000008bb4c <mcount>
   0xc000000000295cc0 <+16>:	mflr    r0
   0xc000000000295cc4 <+20>:	std     r31,-8(r1)
   0xc000000000295cc8 <+24>:	addi    r3,r13,2354
   0xc000000000295ccc <+28>:	mr      r31,r13
   0xc000000000295cd0 <+32>:	std     r0,16(r1)
   0xc000000000295cd4 <+36>:	stdu    r1,-48(r1)
   0xc000000000295cd8 <+40>:	bl      0xc000000000609b98 <__asan_store1+8>
   0xc000000000295cdc <+44>:	nop
   0xc000000000295ce0 <+48>:	li      r9,1
   0xc000000000295ce4 <+52>:	stb     r9,2354(r31)
   0xc000000000295ce8 <+56>:	addi    r1,r1,48
   0xc000000000295cec <+60>:	ld      r0,16(r1)
   0xc000000000295cf0 <+64>:	ld      r31,-8(r1)
   0xc000000000295cf4 <+68>:	mtlr    r0

If there is a context switch before "stb     r9,2354(r31)", r31 may
not equal to r13, in such case, irq soft mask will not work.

The usual solution of marking the code ineligible for instrumentation
forces the code out-of-line, which we would prefer to avoid. Christophe
proposed a partial revert, but Nick raised some concerns with that. So
for now do a full revert.

Reported-by: Zhouyi Zhou <zhouzhouyi@gmail.com>
[mpe: Construct change log based on Zhouyi's original report]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220831131052.42250-1-mpe@ellerman.id.au
2022-09-02 18:54:53 +10:00
Lad Prabhakar
e312ae9207 dt-bindings: clock: renesas,rzg2l: Document RZ/Five SoC
The CPG block on the RZ/Five SoC is almost identical to one found on the
RZ/G2UL SoC. "renesas,r9a07g043-cpg" compatible string will be used on
the RZ/Five SoC so to make this clear, update the comment to include
RZ/Five SoC.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Link: https://lore.kernel.org/r/20220726174525.620-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2022-09-02 10:47:30 +02:00
Wolfram Sang
bf99f11df4 wifi: move from strlcpy with unused retval to strscpy
Follow the advice of the below link and prefer 'strscpy' in this
subsystem. Conversion is 1:1 because the return value is not used.
Generated by a coccinelle script.

Link: https://lore.kernel.org/r/CAHk-=wgfRnXz0W3D37d01q3JFkr_i_uTL=V6A6G1oUZcprmknw@mail.gmail.com/
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220830201457.7984-2-wsa+renesas@sang-engineering.com
2022-09-02 11:47:22 +03:00
Jinpeng Cui
1dc13236ef wifi: wilc1000: remove redundant ret variable
Return value from cfg80211_rx_mgmt() directly instead of
taking this in another redundant variable.

Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: Jinpeng Cui <cui.jinpeng2@zte.com.cn>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220830105505.287564-1-cui.jinpeng2@zte.com.cn
2022-09-02 11:46:32 +03:00
Yang Yingliang
b0ea758b30 wifi: rtw88: add missing destroy_workqueue() on error path in rtw_core_init()
Add the missing destroy_workqueue() before return from rtw_core_init()
in error path.

Fixes: fe101716c7 ("rtw88: replace tx tasklet with work queue")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220826023817.3908255-1-yangyingliang@huawei.com
2022-09-02 11:45:30 +03:00
Kuninori Morimoto
6f67580ca9 arm64: dts: renesas: Add V3H2 Condor-I board support
This patch adds r8a77980A V3H2 (= r8a77980 ES2) Condor-I board
basic support.

Signed-off-by: Andrey Dolnikov <andrey.dolnikov@cogentembedded.com>
Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com>
Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87y1v64nko.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2022-09-02 10:45:12 +02:00
Kuninori Morimoto
6f06a74d7d arm64: dts: renesas: Add r8a77980a.dtsi
This patch adds r8a77980A V3H2 (= r8a77980 ES2) basic SoC
support. It is using r8a77980 (= V3H) setting as-is for now.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87zgfm4nkw.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2022-09-02 10:45:12 +02:00
Kuninori Morimoto
33eef07529 arm64: dts: renesas: Add condor-common.dtsi
We have V3H Condor board, and will have V3H2 Condor-I board.
This patch adds condor-common.dtsi to share the common settings
between these boards.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/871qsy625m.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2022-09-02 10:45:12 +02:00
Lad Prabhakar
c77543ae7b arm64: dts: renesas: Drop clock-names property from RPC node
With 'unevaluatedProperties' support implemented, there are a number of
warnings when running dtbs_check:

arch/arm64/boot/dts/renesas/r8a774b1-hihope-rzg2n-rev2-ex-idk-1110wr.dtb: spi@ee200000: Unevaluated properties are not allowed ('clock-names' was unexpected)
	From schema: Documentation/devicetree/bindings/memory-controllers/renesas,rpc-if.yaml

The main problem is that the DT bindings do not allow clock-names.
So just drop the clock-names properties from the SoC DTSI files.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Link: https://lore.kernel.org/r/20220829215128.5983-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2022-09-02 10:44:49 +02:00
Dan Carpenter
f97c81f5b7 wifi: wfx: prevent underflow in wfx_send_pds()
This does a "chunk_len - 4" subtraction later when it calls:

	ret = wfx_hif_configuration(wdev, buf + 4, chunk_len - 4);

so check for "chunk_len" is less than 4.

Fixes: dcbecb4979 ("staging: wfx: allow new PDS format")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/Yv8eX7Xv2ubUOvW7@kili
2022-09-02 11:44:35 +03:00
Dan Carpenter
620d5eaeb9 wifi: rtl8xxxu: tighten bounds checking in rtl8xxxu_read_efuse()
There some bounds checking to ensure that "map_addr" is not out of
bounds before the start of the loop.  But the checking needs to be
done as we iterate through the loop because "map_addr" gets larger as
we iterate.

Fixes: 26f1fad29a ("New driver: rtl8xxxu (mac80211)")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Jes Sorensen <Jes.Sorensen@gmail.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/Yv8eGLdBslLAk3Ct@kili
2022-09-02 11:43:50 +03:00
Ingo Molnar
c0d2e63d4c x86/defconfig: Enable CONFIG_DEBUG_WX=y
7 years after it got introduced it's time to make this the default,
at least in the x86 defconfigs.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2022-09-02 10:41:42 +02:00
Ingo Molnar
81290934ea x86/defconfig: Refresh the defconfigs
Just go through a 'make savedefconfig' cycle to pick up fresh Kconfig
details, no change in settings, just reordering of some entries.

( This makes followup changes generated via 'make savedefconfig'
  contain less noise. )

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2022-09-02 10:37:53 +02:00
Ping-Ke Shih
fec11dee17 wifi: rtw89: declare to support beamformee above bandwidth 80MHz
Declare this to tell AP we can support beamformee over bandwidth 160M,
and then yield better performance in field.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220826061011.9037-3-pkshih@realtek.com
2022-09-02 11:37:31 +03:00
Ping-Ke Shih
ad275d0a82 wifi: rtw89: correct polling address of address CAM
Writing address to kick hardware to initialize address CAM, and then poll
ready bit to determine completed. Old wrong code poll wrong register
address, so it can lead error and fail to bring up interface.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220826061011.9037-2-pkshih@realtek.com
2022-09-02 11:37:31 +03:00
Ping-Ke Shih
0d466f0526 wifi: rtw89: no HTC field if TX rate might fallback to legacy
Packets containing HTC field with legacy rate could be dropped by AP. If
TX rate of report is lower than MCS2, hardware might fall back rate to
legacy. Therefore, add a checking rule to avoid HTC field in this
situation.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220826061011.9037-1-pkshih@realtek.com
2022-09-02 11:37:31 +03:00
Ping-Ke Shih
4a29213cd7 wifi: rtw89: pci: correct TX resource checking in low power mode
Number of TX resource must be minimum of TX_BD and TX_WD. Only considering
TX_BD could drop TX packets pulled from mac80211 if TX_WD is unavailable.

Fixes: 52edbb9fb7 ("rtw89: ps: access TX/RX rings via another registers in low power mode")
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220824063312.15784-2-pkshih@realtek.com
2022-09-02 11:37:03 +03:00
Ping-Ke Shih
b7e715d3dc wifi: rtw89: pci: fix interrupt stuck after leaving low power mode
We turn off interrupt in ISR, and re-enable interrupt in threadfn or
napi_poll according to the mode it stays. If we are turning off interrupt,
rtwpci->running flag is unset and interrupt handler stop processing even
if it was called, so disallow to re-enable interrupt in this situation.
Or, wifi chip doesn't trigger interrupt events anymore because interrupt
status (ISR) isn't clear by interrupt handler anymore.

Fixes: c83dcd0508 ("rtw89: pci: add a separate interrupt handler for low power mode")
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220824063312.15784-1-pkshih@realtek.com
2022-09-02 11:37:03 +03:00
Cheng-Chieh Hsieh
9bea576175 wifi: rtw89: enlarge the CFO tracking boundary
The calibration value of XTAL offset may be too large in some wifi
modules, that the CFO tracking mechanism under the existing tracking
boundary can not adjust the CFO to the tolerable range. So we enlarge it.

Signed-off-by: Cheng-Chieh Hsieh <cj.hsieh@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220824061425.13764-1-pkshih@realtek.com
2022-09-02 11:36:31 +03:00
Chin-Yen Lee
9e3d242fd3 wifi: rtw89: pci: correct suspend/resume setting for variant chips
We find that suspend/resume tests cause 8852CE lost, because some pci
registers are changed for 8852CE. So, correct them accordingly.

Signed-off-by: Chin-Yen Lee <timlee@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220819064811.37700-6-pkshih@realtek.com
2022-09-02 11:35:52 +03:00
Chin-Yen Lee
843059d819 wifi: rtw89: pci: enable CLK_REQ, ASPM, L1 and L1ss for 8852c
8852CE controls CLKREQ, ASPM L1, L1ss via wifi registers
instead, so change them accordingly.

Signed-off-by: Chin-Yen Lee <timlee@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220819064811.37700-5-pkshih@realtek.com
2022-09-02 11:35:51 +03:00
Chia-Yuan Li
8f308ae334 wifi: rtw89: pci: fix PCI PHY auto adaption by using software restore
There is chance that PCI PHY auto adaption fail. When first time boot up,
software restore the right adaption value and close PHY auto adaption
mechanism.

Signed-off-by: Chia-Yuan Li <leo.li@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220819064811.37700-4-pkshih@realtek.com
2022-09-02 11:35:51 +03:00
Chia-Yuan Li
704052f55f wifi: rtw89: 8852c: set TBTT shift configuration
It is found that 8852ce loses some beacon after
enabling deep ps mode. We set TBTT shift to wake up
firmware early to open RF/BB for receiving beacon in time.

Signed-off-by: Chia-Yuan Li <leo.li@realtek.com>
Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220819064811.37700-3-pkshih@realtek.com
2022-09-02 11:35:51 +03:00
Chin-Yen Lee
48c0e34755 wifi: rtw89: add retry to change power_mode state
When starting to send heavy traffic in low power mode,
driver will call multiple tx wake notify to wake firmware
within a short time. In this situation, firmware may miss
power mode change request from driver and leads to status
error. So we change driver to call power_mode_change at most
three times to make sure firmware could get the request.

Signed-off-by: Chin-Yen Lee <timlee@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220819064811.37700-2-pkshih@realtek.com
2022-09-02 11:35:51 +03:00
Ping-Ke Shih
08aa80777b wifi: rtw89: correct BA CAM allocation
BA CAM entries are global resource of hardware, so move the bitmap and
instances to rtw89_cam_info, and then use link list from rtw89_sta to
these instances.

To check the allocation, add ba_cam to debugfs:

  map:
  	mac_id:    01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  	addr_cam:  01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  	bssid_cam: 01 00 00 00 00 00 00 00
  	sec_cam:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  	ba_cam:    03 00 00 00 00 00 00 00
  VIF [0] 94:08:53:8e:ef:21
  	bssid_cam_idx=0
  	addr_cam_idx=0
  	-> bssid_cam_idx=0
  	sec_cam_bitmap=00 00 00 00 00 00 00 00
  STA [0] 38:78:62:8b:cb:c6
  	addr_cam_idx=0
  	-> bssid_cam_idx=0
  	sec_cam_bitmap=00 00 00 00 00 00 00 00
  	ba_cam tid[6]=0, tid[1]=1

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220816013247.6243-4-pkshih@realtek.com
2022-09-02 11:35:14 +03:00
Ping-Ke Shih
8b1b4730b0 wifi: rtw89: 8852c: initialize and correct BA CAM content
The bacam_v1 must do additional initialization, and H2C content of BA CAM
is also different. So, correct them accordingly.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220816013247.6243-3-pkshih@realtek.com
2022-09-02 11:35:14 +03:00
Ping-Ke Shih
2def735633 wifi: rtw89: 8852c: declare correct BA CAM number
8852A has 2 BA CAM entries, but 8852C has 8 entries. Add a field to
discriminate their differences.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220816013247.6243-2-pkshih@realtek.com
2022-09-02 11:35:13 +03:00
Zong-Zhe Yang
07732caa51 wifi: rtw89: 8852c: update TX power tables to R49
TX power byrate:
	doesn't change

TX power limit:
	configure values for KCC and UK
	refine a bit configuration vales

TX power limit_ru:
	configure values for KCC and UK
	refine a bit configuration values
	change 6GHz to follow indoor setting
	configure 6GHz values for ETSI

TX power shape:
	change with TX power limit/limit_ru

Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220812093116.56791-4-pkshih@realtek.com
2022-09-02 11:34:23 +03:00
Ping-Ke Shih
39ac0c27d0 wifi: rtw89: 8852c: update RF radio A/B parameters to R49
Update 8852c radio A/B parameters from internal HALRF_027_00_071 R49.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220812093116.56791-3-pkshih@realtek.com
2022-09-02 11:34:22 +03:00
Zong-Zhe Yang
7f700c2566 wifi: rtw89: TX power limit/limit_ru consider negative
Some chips' RF TX power limit/limit_ru tables start to configure some
negative values. Fix the setting logic to prevent negative values from
polluting fields of others.

Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220812093116.56791-2-pkshih@realtek.com
2022-09-02 11:34:22 +03:00
Ingo Molnar
1043897681 Merge branch 'linus' into x86/mm, to refresh the branch
This branch is ~14k commits behind upstream, and has an old merge base
from early into the merge window, refresh it to v6.0-rc3+fixes before
queueing up new commits.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2022-09-02 10:33:33 +02:00
Ching-Te Ku
3832a54249 rtw89: coex: Update Wi-Fi driver/firmware TDMA cycle report for RTL8852c
Because RTL8852c firmware handshake use different structure definition
with RTL8852a, so it's necessary to update a version for RTL8852c.

Signed-off-by: Ching-Te Ku <ku920601@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220725023509.43114-10-pkshih@realtek.com
2022-09-02 11:32:59 +03:00
Ching-Te Ku
747dc30e64 rtw89: coex: Add v1 Wi-Fi SCC coexistence policy
Because the later firmware had patched some new feature, it can control
the Wi-Fi/BT slots more efficiently. This patch enhance it for better
Wi-Fi SCC mode performance.

Signed-off-by: Ching-Te Ku <ku920601@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220725023509.43114-9-pkshih@realtek.com
2022-09-02 11:32:59 +03:00
Ching-Te Ku
a8a0b1f707 rtw89: coex: Move _set_policy to chip_ops
Due to the difference of Wi-Fi firmware supported feature, RTL8852C
need to defined more policy to enable the features.
(Ex: DBCC, Wi-Fi multi-role, TDMA instant and so on)

Signed-off-by: Ching-Te Ku <ku920601@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220725023509.43114-8-pkshih@realtek.com
2022-09-02 11:32:59 +03:00
Ching-Te Ku
e390cf2ebd rtw89: coex: update WL role info v1 for RTL8852C branch using
The H2C format and support feature are different. The newer Wi-Fi firmware
and driver branch need to handshake more information like DBCC or P2P
connection info.

Signed-off-by: Ching-Te Ku <ku920601@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220725023509.43114-7-pkshih@realtek.com
2022-09-02 11:32:59 +03:00
Ching-Te Ku
ce986f3dc4 rtw89: coex: Add v1 version TDMA format and parameters
RTL8852C use a later version Wi-Fi firmware, there are some parameters
need to be defined. These new parameter can avoid some unexpected
TDMA mode while Wi-Fi enter/leave lps.

Signed-off-by: Ching-Te Ku <ku920601@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220725023509.43114-6-pkshih@realtek.com
2022-09-02 11:32:58 +03:00
Ching-Te Ku
3893959cd8 rtw89: coex: Define BT B1 slot length
It is for setting up BT slot max length at BT auto slot mechanism.

Signed-off-by: Ching-Te Ku <ku920601@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220725023509.43114-5-pkshih@realtek.com
2022-09-02 11:32:58 +03:00
Ching-Te Ku
1162584c79 rtw89: coex: Add logic to parsing rtl8852c firmware type ctrl report
Add a part of logic to parse type of ctrl report from firmware, and
remove Bluetooth packet counter count from driver, the feature was
moved to firmware at rtl8852c.

Signed-off-by: Ching-Te Ku <ku920601@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220725023509.43114-4-pkshih@realtek.com
2022-09-02 11:32:58 +03:00
Ching-Te Ku
ba787c07ca rtw89: coex: Move Wi-Fi firmware coexistence matching version to chip
To configure the different chips with different coexistence version,
separated the firmware feature version matching number is necessary.

Signed-off-by: Ching-Te Ku <ku920601@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220725023509.43114-3-pkshih@realtek.com
2022-09-02 11:32:58 +03:00
Ching-Te Ku
38ede035a2 rtw89: coex: update radio state for RTL8852A/RTL8852C
Update scoreboard setting to let Bluetooth know Wi-Fi power save state.

Signed-off-by: Ching-Te Ku <ku920601@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220725023509.43114-2-pkshih@realtek.com
2022-09-02 11:32:58 +03:00