Commit graph

1,188,286 commits

Author SHA1 Message Date
Steen Hegelund
552b7d131a net: microchip: sparx5: Add VCAP debugfs KUNIT test
This tests the functionality of the debugFS support:

- finding valid keyset on an address
- raw VCAP output
- full rule VCAP output

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 11:33:02 +00:00
Steen Hegelund
71c9de9952 net: microchip: sparx5: Add VCAP locking to protect rules
This ensures that the VCAP cache and the lists maintained in the VCAP
instance is protected when accessed by different clients.

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 11:33:02 +00:00
Steen Hegelund
72d84dd609 net: microchip: sparx5: Add VCAP debugFS key/action support for the VCAP API
This add support for displaying the keys and actions in a rule.
The keys and action display format will be determined by the size and the
type of the key or action. The longer keys will typically be displayed as a
hexadecimal byte array.

The actionset is not decoded in full as the Sparx5 IS2 only has one
supported action, so this will be added later with other VCAP types.

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 11:33:02 +00:00
Steen Hegelund
3a7921560d net: microchip: sparx5: Add VCAP rule debugFS support for the VCAP API
This add support to show all rules in a VCAP instance. The information
shown is:

 - rule id
 - address range
 - size
 - chain id
 - keyset name, subword size, register span
 - actionset name, subword size, register span
 - counter value
 - sticky bit (one bit width counter)

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 11:33:02 +00:00
Steen Hegelund
d4134d41e3 net: microchip: sparx5: Add raw VCAP debugFS support for the VCAP API
This adds support for decoding VCAP rules with a minimum number of
attributes: address, rule size and keyset.

This allows for a quick inspection of a VCAP instance to determine if the
rule are present and in the correct order.

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 11:33:02 +00:00
Steen Hegelund
e0305cc1d1 net: microchip: sparx5: Add VCAP debugFS support
Add a debugFS root folder for Sparx5 and add a vcap folder underneath with
the VCAP instances and the ports

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 11:33:02 +00:00
Steen Hegelund
277e9179ef net: microchip: sparx5: Ensure VCAP last_used_addr is set back to default
This ensures that the last_used_addr in a VCAP instance is returned to the
default value when all rules have been deleted.

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 11:33:02 +00:00
Steen Hegelund
bcddc196d4 net: microchip: sparx5: Ensure L3 protocol has a default value
This ensures that the l3_proto always have a valid value and that any
dissector parsing errors causes the flower rule to be discarded.

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 11:33:02 +00:00
Arnd Bergmann
92f3bfaced Renesas RISC-V SoC updates for v6.2
- Add Kconfig option for Renesas RISC-V SoCs.
 -----BEGIN PGP SIGNATURE-----
 
 iHQEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCY3dg4wAKCRCKwlD9ZEnx
 cAzkAPjBbXga6sPDUe1RELWr641OLFhviL5PvgLVd///DnbOAP0R2X3TZSZmyl+I
 gyfyr7SSYMVeXDSLKy67n8j8C3ONDA==
 =Xlpn
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN7YRYACgkQmmx57+YA
 GNm5mQ/+IC+pyVZw3HsEi1oKdmXnttYn86pKHRRjVCs/LNfxzZscQHL0ccz4clbc
 GzdQkbpI3hg6LOZMZbqI0Lrl11mm2kaAQLEfFrkljtTA3CEtE5RiBzhencbHKyfZ
 T+vNp0XoR+2+qgq9jZIqObqXfgwCe1HpW032b46FCB9KC13k98kidzZIffGK/klw
 FghUsipgxN2cXyrAf8vzrYv2UkLvWuvlwZ5rt342pxJlcC7cvABkCtsIKvITPwoM
 kO/ZObLgTiVwMz7AK09vfWbyEG717P3kR08YyEKH898ZUEwm3I32KWNezmxPfoLw
 El/jtJpJ3ZeWxgzXLPLuex1XSTD8Nff+kGzJzUBRxE+w7r5I23GRDwArGbm6+MKO
 57kE7FRN845FpdHDKtxU2MblF+1YGwl7tGmAJbz+M0MCNWIaErlT1UXvj7tG8R0g
 5pGGaGsVF1z0KkDDj5Gmj6voFhhFkHCU/Xu71Pv16NxIP6Fh1y3/obY6zlokDiLF
 kDjUK3ltYOh1ePLtJa46762PU3+iYJo6m4t17l/0i7SgH4TtP7D/ZklxbTEbOQCP
 TihFmU7RSt6MsFBRfXvh7VLNCbKMCUfr6GLi7U8xyFF/7YFI9POsnkghSzUT1Afy
 vn0bF19T1JADfY/CfaDufMyP5rc6QKptnHMIvW4HWYYQ7o/jAxY=
 =4RxG
 -----END PGP SIGNATURE-----

Merge tag 'renesas-riscv-soc-for-v6.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/soc

Renesas RISC-V SoC updates for v6.2

  - Add Kconfig option for Renesas RISC-V SoCs.

* tag 'renesas-riscv-soc-for-v6.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  riscv: Kconfig.socs: Add ARCH_RENESAS kconfig option

Link: https://lore.kernel.org/r/cover.1668788933.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 12:29:26 +01:00
Arnd Bergmann
54721ff7d6 i.MX SoC change for 6.2:
- A couple of cleanups from Geert Uytterhoeven to drop unneeded include
   of pinctrl machine header from i.MX3 and MXS code.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmN4i6MUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM5mAggAgNb4qmqK7Wvg4d+3BmeiAfPcJXVx
 C6bpFLPvOyDa7JWGAmg60o/IJV+Memw9FTG01aiIuM3xzEZkckKHHXLVgqhp+QyD
 dz88oipq4s2OdBsBo6VVMPmBr23tdsbw6gC1HdQNynjJd2vSD0qyB8GdoxqXTnm/
 xzfilYu2HrzazNuC7aj12lvjt56OM+6TDoB5D2MJUUNIR65wIIjRyW/hPlZh0nwI
 s9uhQK8JmyVsl23KqIB2vdCfQ0Y2YpFBo7iw5U+NaYyYdnG+2LC92JJKh0UO3Wks
 xqa+HIdVsGC0yq6W0qJyhQ8NaqwZc14fOsLpUpMQroN+hBASEOSFSZdH8w==
 =0IFy
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN7YMoACgkQmmx57+YA
 GNmB2A//ZHzq90VkmE7ZrLrUPLybARMA4sidmaPNWJv+08QcyRLifAFM67DxkyxI
 JsXPNIRTh3SIIGm49YF7Afqz0I530UvWSC2v22fOrhWaiEMvLpmt5pdvEdznFvu1
 3TPpF/5yeQYkJCmomKl/ALwjmGt2ot5MhujnZ8JqZtrPbfZ3NfrPc3IYnsLiT9Kw
 Ax+pCmdeRK6eSDqLKfDdPWuxGdvyepwjPAgXw0cMDaSWdVBmh366vF/lQ9uc77s2
 /eEmP11XnRzx0n1X7+pHEaxkli93Km89K9g+v9y+MVbcFRjg5s/xHgTfymTtUMva
 g6ZZSdV3fewnuO6G8yl2R33nf044bQwAoCwPGc2/XpZHOIXrO2dIOH1IWa9bE5jU
 2RpIhzCENn41YvteY89DzfFiRT9ODkYL26aZbfZXDA3ovUWcsV4g/0nDnWdZPjv6
 14U1cJvc34waKd9OinPUYiSl+lq6aw+xdI3nDJabR0PWgVE/Lxzbcc36u8kPn+w4
 pXLdlvSyu0STlFoWTx01rNoZ1+4Fm2fBW0wGA79yhreYSnoTpu30owf6ca3NoyLK
 x6zg2v8q6v9rTlYgZuERbrbmfV+74KI5V6cq7WgcwoIm3Le74O52M5bn046Dlp8Q
 n5N8xZPpAUBOlqCuyLfBUBHY7bEtRPz1iAnd05NmIUe8aHGKgCw=
 =Nqrs
 -----END PGP SIGNATURE-----

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

i.MX SoC change for 6.2:

- A couple of cleanups from Geert Uytterhoeven to drop unneeded include
  of pinctrl machine header from i.MX3 and MXS code.

* tag 'imx-soc-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: imx3: Remove unneeded #include <linux/pinctrl/machine.h>
  ARM: mxs: Remove unneeded #include <linux/pinctrl/consumer.h>

Link: https://lore.kernel.org/r/20221119125733.32719-2-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 12:28:10 +01:00
David S. Miller
2158cfb076 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf
Pablo Neira Ayuso says:

====================
The following patchset contains late Netfilter fixes for net:

1) Use READ_ONCE()/WRITE_ONCE() to update ct->mark, from Daniel Xu.
   Not reported by syzbot, but I presume KASAN would trigger post
   a splat on this. This is a rather old issue, predating git history.

2) Do not set up extensions for set element with end interval flag
   set on. This leads to bogusly skipping this elements as expired
   when listing the set/map to userspace as well as increasing
   memory consumpton when stateful expressions are used. This issue
   has been present since 4.18, when timeout support for rbtree set
   was added.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 11:28:07 +00:00
Arnd Bergmann
b8d0b1bef2 IXP4xx patches for v6.2:
- Dropped the final static mappings.
 
 - Fixed some errors in the MAINTAINERS file.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmN6sMIACgkQQRCzN7AZ
 XXPW9BAAlsK+1EebeOZksh++jnfFsYChPOexuK1IKkNYUwHmy/eQfwON/QJmwAiu
 u8Hjwo2Ixfg9ZnofJ8kUxXDPtEjVSVkNscCk9jEReFjPlI6c9iAR46fNAa9qaENk
 oKCmOmfZ402qBLpbUK2AsC2Oi8VS5sRVltN0ke2kfjYoXugQd/YjclxLaOLGd6j4
 oie0cP+wLmqczPEsH1FPrd94Y1wrpopvLYN9JztM1UxknSP3RDukkb0www7ygxFT
 5aaYJ6lf6z2WgyiUX82yNNbVi+64F37P5I/Nhbe1lOAMEzvgTfkt1gkLjdP0gZ9g
 N2MNAWPlInudlRveIAqDqLbzDn5deM/SSIp5lrvA47Ht8f8cBlKU7dB1eGZIJ/0c
 fVblJV4F4KC0sMJplhgp5taLCrcDSvxldjZU3zFHbhQNTKx0YhM08L7SzQImoxTx
 gGpCvWdyyCiqYf5dpawCGbk/di1kZEEIhR2CfI3U5EwD66KGDUVAokb3wdUpbkfH
 WSry/MYCDwnLPc1gFLbsRkVEV9IvdFEMe2JWCED+qU3sVyTt4unNTUE+wDPzjml3
 I33/Rsaow3hTOBayzhrCDqmR4WWZbn0c64slnjRMglhw7YkzF+UTYiK7EUNtFSq1
 EDJI35CxlKv1a7gX0EnCRaLPZ09joGFcN7sVpf6+nll4i4uz+1s=
 =DFhx
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN7YKwACgkQmmx57+YA
 GNmtnQ//ermYN2LyTWRlAQSFx+zbfgd90feC1UGEmYt2/Xp3rLCGZ9B66/AR85uR
 lj0bjMv4Nifd+/dXZGCPjYAxX0xuiWuhiIh6zkQKw387bIDBQWiV9uBodJTNM4dk
 smLuVTUcnQFePXWELs1A2bklnFWwFB3Tm8EA01P9a4WF5Gl8FC4Xshy5DRMLu2kH
 e2slVY2Qbw+ZH6x6BhtCA9b5sIdE+mnO+tBbvn+RGUOxzSdeUmJUpzkkwwHK62yN
 Xb4FLsTHjb7Qq1i5DKHHmo72aGHrlL5+4mNRpV6y1cwFlBGzr659vUABdCGF5O+I
 qv+j2kcLM9pbdl5utHcRQMnVqiDfD0ghi/+WhPrfISuTpCwR66hI7zMJWkWz81lJ
 argmG1fng4GlX0B2KDvXiM8FhmCKKnbu4U/kbR81+hX05PJ9xtET8v+2iFlz1z2z
 9nzzGgHnSYs0Nmi/t/7xdKU9JCVfjxypznEJPXrmPMP7YvynDdOiUoCUYyK6r427
 bltRnt8sY5CQZSYyLkjgqfTmqv94ER66BrCzzc9Omx/LZ75eCb+lRpAT5MQh0oAj
 jKKr/fASPEy4EGe8vUxzZV1bxq0CG1qmtdO93qWF+cmDDre91hCopQNScOpljpP7
 70/iE44zRwj6zTmoKjcgpaFxacOKiqag5gt1KjML1dNOqi0+aVQ=
 =AHLE
 -----END PGP SIGNATURE-----

Merge tag 'ixp4xx-for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into arm/soc

IXP4xx patches for v6.2:

- Dropped the final static mappings.

- Fixed some errors in the MAINTAINERS file.

* tag 'ixp4xx-for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: ixp4xx: Remove unused static map
  MAINTAINERS: adjust ARM/INTEL IXP4XX ARM ARCHITECTURE to ixp4xx clean-up

Link: https://lore.kernel.org/r/CACRpkdYNwyZ1FDM07MkUfYyYGtXFQfy1xP9Utc5+K2+gn_ZW9g@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 12:27:40 +01:00
Arnd Bergmann
cafd3d346a i.MX fixes for 6.1, part 3:
- Fix a small memory leak in mach-mxs code.
 - Correct PCIe pad configuration for imx8mp-evk board.
 - Fix ref/tcxo clock frequency property for imx6q-prti6q board.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmN4hkUUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM4PhwgAmV0aEOsxk+tUOwc7Tcw96Og82xOj
 M20kLbglLlN0ipgWGOFjov2+5k7tautTDNS4R8rPxuM+YKRwrkihPa3x5qvcOl3y
 ionJx9/JsZPBNmbWLlKqsXO3ST+YqlbgmLEi/fCKNMqXbQHmBJjdnrDq/Kb1WopC
 YIHb1R5T4KMAmhnYQzjrmxgf/mDMTpcJAwOX4XXGMTJ5Knp4NoMNFGaHrvnbc6EK
 7FWZtApuX2e+M2Bke+STODeJFkoGZb/iCbruS7xuiSECbGZVpYL4SYXIaCSdDvTC
 w6Jbjyx5rXDqVWLmvQU9Jr8nNv2YlEWEZ+AX25OLSrKVWMznSzORigd5WQ==
 =dJzd
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN7YIIACgkQmmx57+YA
 GNmD5g//RhkG47HCEqFt0c5sg8S5iX0u//aigLytgr5ludb7G6fEzxhl8aJsxIRP
 aXaSJj730ZUyqeb8cp69W02epi++Nm/5J9TarTlGWB/YGeJyxcoOyd/mGcZT94Nv
 RDFFNdR7miOlg6QQqO7bjNzZMs05qaOmm22F5qOQpglsUJTWGoy3Cwy3cMzjQt5W
 c/dMgV+Q7DZcyqMMWIUDlZidfmoi9CYgdlf37HqZ21W+bg248/MkQLLu+dqrIUGR
 VukP0w6A8NjF9i1m5ud0YVmZ6NzeXdLEP0IDPxXi60eJXivNZT0EezIomM3V0yUf
 xOlFE4Zz7EtY2haC/4QpWiPRH7l46PMdN+9kePXlTAJodnqRgxfSmxIOU0kTBVXc
 WvDGVZKPNIqHb07QB99+MaO+gFG2KL5JGpxwF5ZIKoMM1Nyo9J1upUUttk/lw7pJ
 3CSXeglSSmwijVEJ3fy/N4cPN4432wxlqJlS+hm9w0ZlGpxEffKPlH82S6OgVvaW
 YUIlQj8+HWdq1rUdgNkUEakslHUtdTW1nhcJPUlGmtv1LHVk8zClmri7cr3ZgS/C
 bx0tiUuTuQwyxEU1DliOEfR5LBzgztcjb1aPLY+llLOo/2YdhtT8Zx5CgTDpvyk7
 dF/BR5Wlp8HptAazmylIUBSu1ltaPzHmkPrkL7nGSjfhgR2/ylw=
 =hzE+
 -----END PGP SIGNATURE-----

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

i.MX fixes for 6.1, part 3:

- Fix a small memory leak in mach-mxs code.
- Correct PCIe pad configuration for imx8mp-evk board.
- Fix ref/tcxo clock frequency property for imx6q-prti6q board.

* tag 'imx-fixes-6.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: dts: imx6q-prti6q: Fix ref/tcxo-clock-frequency properties
  arm64: dts: imx8mp-evk: correct pcie pad settings
  ARM: mxs: fix memory leak in mxs_machine_init()

Link: https://lore.kernel.org/r/20221119073812.GQ16229@T480
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 12:26:58 +01:00
Arnd Bergmann
e7135a2843 - RSB bus communication fixes
- missing IOMMU reference property to H6 Hantro G2
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQSPRixG1tysKC2PKM10Ba7+DO8kkwUCY3fnrQAKCRB0Ba7+DO8k
 k6W1APwNIbTq+OWpgQpJckCY9GfWGmxinY90BInBcK/yd7FNfAEAx/zXrPj0RjA1
 cIyZirTwvOESV4KjGeuIBXWG+IAqeAQ=
 =fyuv
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN7YFkACgkQmmx57+YA
 GNlw+xAAgrOFQqqwdXqngNVQNNrt+xAhGBfDy45aTLbPJsx2cM25BgZ9w4EwRjRV
 kEqUPg51Ph8Junk0k+zvDi7iHU2Oml8ve/nn6QMfithu/uKDnWOerd7w0zkbUGyx
 oD3eHlMZPmzSB26YyZNvBQ3XOHpSJZiihWVkeiBnxyUt9hk15eLbmrEvrdn8khWx
 j1YRQ1PfowrH+IdDDx1zkNPoMRSS9IwguZm69JfN5HWFc6oxNT78wtoGN13sww/f
 dZs+4Syq0fwTKNPynuQcWb7JSpuk0iRiHyNM3mZIuCrkO8nQEd53Gcxfq6cAVqEk
 FGdLwHIeLq4eCVnxc9l7612QNwdpy8wqdlvTEL3Mp/eCfWnXPH6kbn4SNVJ1dpcd
 4j2zdcnab5atdQpDpzLb4rrw2SZ/k9kSfISPWQKHJP+eK5Kh1OyIP0fHD/L9trAL
 muP1A0q56Xhzvc/rSashtmGZbMIpT2efxqEO1YNo33BQcuBWLoHE+tmXf2zb/iNl
 ithqHYTObLI/PiOaPFqw27/9qh7WhIHYsSetFdDvk9j6c7BuiIuXhZBZdaXcHVgK
 7BWzExQfgvjWGFMnVguZKx7tfNQC84barazNJXmowVFPCI/DBCgZCCd5GbM//Pgg
 atMDDZeDbXjjMzVCfStmGuPxPnpuoYdl6vbq3esHv6SMAzerZSY=
 =yQ3J
 -----END PGP SIGNATURE-----

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

- RSB bus communication fixes
- missing IOMMU reference property to H6 Hantro G2

* tag 'sunxi-fixes-for-6.1-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: dts: allwinner: h6: Add IOMMU reference to Hantro G2
  media: dt-bindings: allwinner: h6-vpu-g2: Add IOMMU reference property
  bus: sunxi-rsb: Support atomic transfers
  bus: sunxi-rsb: Remove the shutdown callback

Link: https://lore.kernel.org/r/Y3ftpBFk5+fndA4B@jernej-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 12:26:16 +01:00
Arnd Bergmann
37cd15e68f AT91 fixes for 6.1 #2
It contains:
 - fix UDC on at91sam9g20ek boards by adding vbus pin
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCY3d/IAAKCRCejrg/N2X7
 /ehgAQDTXTadbdVgo/QTu0MV0d7i3HNbwatmCA/wFn1Ugj3lsQD9Ejvmlk0oR++G
 o444+3nrvUiSWcBHMrjPAIfyKxDKLwE=
 =OsHK
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN7YDsACgkQmmx57+YA
 GNlYyQ/+JXkffYqstBAvmTVh0DYUSFkaJacNdzIgn90jH583jNoqVZ2U4IEF2o+2
 noYUIj8ysZ2H8IdzAHDn9s0UbHKsccomWVvjGUOmzta6RVaAB+euG9WwaO6xX5bs
 Nl6vAGGvy+3YXaMzfdDLWSsm8q07ZRP2uwoll1sEmZH0D57MiNEILhXcQTzR/y7g
 dqL0Zxt9e/OxF14LUQD0h5tI3p3t95ZkhUH+R+QHHmasHFHVKo47wZwNDiyForEV
 2Qfj/VFOTdHbUH3h2n0jsz/Nt3AUFcYcJYWZiTFSNlYhdm/uaLG+Eev+N2nbeWel
 7kls262PQAzL/9KAiunGjIz2SIM760pEhbGnkNSQXQBAMmvQWWQ6p1Xs6aZMfMc8
 W7MMa9L/KX7lTdJtkNJUL6Wvd2HT196CtWQHp0oizq8QWhMqPRmEmBbUp8jxvVJf
 KfjPePnWuiVDSnM7ZEkf4xRYadxv5KPzjfPqn9AJ0J/azvH/DT07G91kzewcqptO
 zdBDxZ2hq7Strz8H5yai+57YhODLzGYjbCvZZsiFARCRbq7NFQpu//BVPv6vnI7i
 q4TMPDHQO/1lUtDglfD2+P9sCrO1t36XKZp+NDiTs2KGXrQnDOhu7a6qSwjR8GUJ
 L+w8J2VAxmfdXy06A7+urH/LXpj9khJG/vWnvTDSgZ76mmHuDrY=
 =TiA5
 -----END PGP SIGNATURE-----

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

AT91 fixes for 6.1 #2

It contains:
- fix UDC on at91sam9g20ek boards by adding vbus pin

* tag 'at91-fixes-6.1-2' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: at91: sam9g20ek: enable udc vbus gpio pinctrl

Link: https://lore.kernel.org/r/20221118131205.301662-1-claudiu.beznea@microchip.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 12:25:47 +01:00
Arnd Bergmann
dc0e2470f4 Fix possible memory leak in optee_register_device()
-----BEGIN PGP SIGNATURE-----
 
 iQJOBAABCgA4FiEEFV+gSSXZJY9ZyuB5LinzTIcAHJcFAmN3c8caHGplbnMud2lr
 bGFuZGVyQGxpbmFyby5vcmcACgkQLinzTIcAHJfC2A//VGSf7dOiZCQRPA6HMqwV
 2XWXLNklhJD+kH8xQLziImJm8BjvgFlpWiZ+E94s0sLKoLq+0BEu6RnYims1gq+1
 WuB7uEjrzT0o1hHHLnDmvfkkH0WMJZnE/ZvKJP9XyaySTFqd/OwQ5GKR4oakaRIr
 wNm4PkdhQpZjGuI+rhidoRshktjcoiQeX1R9l4S4pNRs3GYga5m+ByXNOMK+Sh+N
 4+h+mHOTvR7ZUkSJrZ+foaV7K/XAdGV52VfWGIvC7zQBzPDY8u6sdV3w3h/DOk1C
 mV34oHPnSBJLxI2BefVVq3o0vhkCEcEonIYa/PHWuIHdZ6BNlmhvzIJcUGQhLacM
 l7hnuGwLFktSyYszQMibFiMiR3t4urVgeL/kJ4X48xhEuUb0PHNgLAO7I5XmQUyc
 88lqMZirVY0ZMqOjuR+/xB31xDX1c+swC3X97ycJF6gCn/jyPtjOZkKkpYSpjxOQ
 Qt/ZIEx2Hv0hE5naV1AAMj7qWye5nVn2VNrQcvzSdJULFfUKjo4/giREpFwq467u
 7LGBMA0LM7R7y+Rd9vU0/E6WGkO/bN49dI/wCrNhusjLVIy8bR8PnP9Ewby9/0fT
 +h73/Jr5nG5+ppyRiZ/9fIM3d2Mx/PV2LMAo+M0TqBTwpOE6wDpUNTn043M0FY6M
 leTxCky62OgSudZ324anK3Y=
 =9iZM
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN7YBQACgkQmmx57+YA
 GNmhLxAApeGqV2+G26gng+tanO/e7BlHpZI1JNuzFu1O6aQJZYbbZj6QTOjSLXh6
 pArgdjlLOmi4yMp9xd1Blj1V+p+gQ41QciC8Edk7di76FMnC/cPrzDi5setGwZAR
 pFrHemM79HLo3hRl1RI8aUKv3OUXGs0X9gsDhbCyWjMXWd8bZnSH6Nq5wZo869Ab
 WkS8jAxhA4NmslZtFyP1/lSEhe5f+h8CQZ7AydfuGd+rRURRit9hmcetHgIS+uN/
 LFKi5/YqAJ844IL7CpSL4SP06vD6hUKAGTnYx7zTeDHmkxZkCv4V9NpdYaZt1bF0
 RQqV6EzShy+sl1aq/w9P7B4jgmir7QiNw7Vaqwqwpu0EYvkrROU0yucMSRs1qLgl
 vM4Ey5yiBWWpWnQfXC/9Wut511UTaRnXuJqIu9gGFqgs2zQFovwreW+nED+1CFtO
 62/nPaiAi10XYY573ht+r/N75mkl3uAxn83DM1DF6+TWYEPG1pCnZeJ3eMCg780S
 dEj+T+G1xKExpbj31KimrJCUbaLeKt8flBNBAvnK0cRJcU9PPP+wXB4wXJwQYgoj
 yqbNIKfp705eNuhNqDmf5yV+UrMW/HZ5Ja4kaQ230aqnbypXQmbbfHEOc1CuCf8f
 v/3ZHgZXXeqyV4ZxkFbFrIKzk8/zN+xkYMWcV5VI0YLX6VjJdS0=
 =zobC
 -----END PGP SIGNATURE-----

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

Fix possible memory leak in optee_register_device()

* tag 'optee-fix-for-6.1' of https://git.linaro.org/people/jens.wiklander/linux-tee:
  tee: optee: fix possible memory leak in optee_register_device()

Link: https://lore.kernel.org/r/Y3d2OuJ60U30OkZe@jade
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 12:25:08 +01:00
KaiLong Wang
b96e74bb43 LoongArch: Fix unsigned comparison with less than zero
Eliminate the following coccicheck warning:

./arch/loongarch/kernel/unwind_prologue.c:84:5-13: WARNING: Unsigned
expression compared with zero: frame_ra < 0

Signed-off-by: KaiLong Wang <wangkailong@jari.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2022-11-21 19:02:57 +08:00
Huacai Chen
54e6cd42a1 LoongArch: Set _PAGE_DIRTY only if _PAGE_MODIFIED is set in {pmd,pte}_mkwrite()
Set _PAGE_DIRTY only if _PAGE_MODIFIED is set in {pmd,pte}_mkwrite().
Otherwise, _PAGE_DIRTY silences the TLB modify exception and make us
have no chance to mark a pmd/pte dirty (_PAGE_MODIFIED) for software.

Reviewed-by: Guo Ren <guoren@kernel.org>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2022-11-21 19:02:57 +08:00
Huacai Chen
bf2f34a506 LoongArch: Set _PAGE_DIRTY only if _PAGE_WRITE is set in {pmd,pte}_mkdirty()
Now {pmd,pte}_mkdirty() set _PAGE_DIRTY bit unconditionally, this causes
random segmentation fault after commit 0ccf7f168e ("mm/thp: carry
over dirty bit when thp splits on pmd").

The reason is: when fork(), parent process use pmd_wrprotect() to clear
huge page's _PAGE_WRITE and _PAGE_DIRTY (for COW); then pte_mkdirty() set
_PAGE_DIRTY as well as _PAGE_MODIFIED while splitting dirty huge pages;
once _PAGE_DIRTY is set, there will be no tlb modify exception so the COW
machanism fails; and at last memory corruption occurred between parent
and child processes.

So, we should set _PAGE_DIRTY only when _PAGE_WRITE is set in {pmd,pte}_
mkdirty().

Cc: stable@vger.kernel.org
Cc: Peter Xu <peterx@redhat.com>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2022-11-21 19:02:57 +08:00
Huacai Chen
e428e96135 LoongArch: Clear FPU/SIMD thread info flags for kernel thread
If a kernel thread is created by a user thread, it may carry FPU/SIMD
thread info flags (TIF_USEDFPU, TIF_USEDSIMD, etc.). Then it will be
considered as a fpu owner and kernel try to save its FPU/SIMD context
and cause such errors:

[   41.518931] do_fpu invoked from kernel context![#1]:
[   41.523933] CPU: 1 PID: 395 Comm: iou-wrk-394 Not tainted 6.1.0-rc5+ #217
[   41.530757] Hardware name: Loongson Loongson-3A5000-7A1000-1w-CRB/Loongson-LS3A5000-7A1000-1w-CRB, BIOS vUDK2018-LoongArch-V2.0.pre-beta8 08/18/2022
[   41.544064] $ 0   : 0000000000000000 90000000011e9468 9000000106c7c000 9000000106c7fcf0
[   41.552101] $ 4   : 9000000106305d40 9000000106689800 9000000106c7fd08 0000000003995818
[   41.560138] $ 8   : 0000000000000001 90000000009a72e4 0000000000000020 fffffffffffffffc
[   41.568174] $12   : 0000000000000000 0000000000000000 0000000000000020 00000009aab7e130
[   41.576211] $16   : 00000000000001ff 0000000000000407 0000000000000001 0000000000000000
[   41.584247] $20   : 0000000000000000 0000000000000001 9000000106c7fd70 90000001002f0400
[   41.592284] $24   : 0000000000000000 900000000178f740 90000000011e9834 90000001063057c0
[   41.600320] $28   : 0000000000000000 0000000000000001 9000000006826b40 9000000106305140
[   41.608356] era   : 9000000000228848 _save_fp+0x0/0xd8
[   41.613542] ra    : 90000000011e9468 __schedule+0x568/0x8d0
[   41.619160] CSR crmd: 000000b0
[   41.619163] CSR prmd: 00000000
[   41.622359] CSR euen: 00000000
[   41.625558] CSR ecfg: 00071c1c
[   41.628756] CSR estat: 000f0000
[   41.635239] ExcCode : f (SubCode 0)
[   41.638783] PrId  : 0014c010 (Loongson-64bit)
[   41.643191] Modules linked in: acpi_ipmi vfat fat ipmi_si ipmi_devintf cfg80211 ipmi_msghandler rfkill fuse efivarfs
[   41.653734] Process iou-wrk-394 (pid: 395, threadinfo=0000000004ebe913, task=00000000636fa1be)
[   41.662375] Stack : 00000000ffff0875 9000000006800ec0 9000000006800ec0 90000000002d57e0
[   41.670412]         0000000000000001 0000000000000000 9000000106535880 0000000000000001
[   41.678450]         9000000105291800 0000000000000000 9000000105291838 900000000178e000
[   41.686487]         9000000106c7fd90 9000000106305140 0000000000000001 90000000011e9834
[   41.694523]         00000000ffff0875 90000000011f034c 9000000105291838 9000000105291830
[   41.702561]         0000000000000000 9000000006801440 00000000ffff0875 90000000002d48c0
[   41.710597]         9000000128800001 9000000106305140 9000000105291838 9000000105291838
[   41.718634]         9000000105291830 9000000107811740 9000000105291848 90000000009bf1e0
[   41.726672]         9000000105291830 9000000107811748 2d6b72772d756f69 0000000000343933
[   41.734708]         0000000000000000 0000000000000000 0000000000000000 0000000000000000
[   41.742745]         ...
[   41.745252] Call Trace:
[   42.197868] [<9000000000228848>] _save_fp+0x0/0xd8
[   42.205214] [<90000000011ed468>] __schedule+0x568/0x8d0
[   42.210485] [<90000000011ed834>] schedule+0x64/0xd4
[   42.215411] [<90000000011f434c>] schedule_timeout+0x88/0x188
[   42.221115] [<90000000009c36d0>] io_wqe_worker+0x184/0x350
[   42.226645] [<9000000000221cf0>] ret_from_kernel_thread+0xc/0x9c

This can be easily triggered by ltp testcase syscalls/io_uring02 and it
can also be easily fixed by clearing the FPU/SIMD thread info flags for
kernel threads in copy_thread().

Cc: stable@vger.kernel.org
Reported-by: Qi Hu <huqi@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2022-11-21 19:02:57 +08:00
Huacai Chen
c56ab8e85d LoongArch: SMP: Change prefix from loongson3 to loongson
SMP operations can be shared by Loongson-2 series and Loongson-3 series,
so we change the prefix from loongson3 to loongson for all functions and
data structures.

Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2022-11-21 19:02:57 +08:00
Huacai Chen
538eafc6de LoongArch: Combine acpi_boot_table_init() and acpi_boot_init()
Combine acpi_boot_table_init() and acpi_boot_init() since they are very
simple, and we don't need to check the return value of acpi_boot_init().

Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2022-11-21 19:02:57 +08:00
Tiezhu Yang
83f638bca0 LoongArch: Makefile: Use "grep -E" instead of "egrep"
The latest version of grep claims the egrep is now obsolete so the build
now contains warnings that look like:
	egrep: warning: egrep is obsolescent; using grep -E

Fix this up by changing the LoongArch Makefile to use "grep -E" instead.

Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2022-11-21 19:02:57 +08:00
Lu Wei
19d04a947d net: microchip: sparx5: Fix return value in sparx5_tc_setup_qdisc_ets()
Function sparx5_tc_setup_qdisc_ets() always returns negative value
because it return -EOPNOTSUPP in the end. This patch returns the
rersult of sparx5_tc_ets_add() and sparx5_tc_ets_del() directly.

Fixes: 211225428d ("net: microchip: sparx5: add support for offloading ets qdisc")
Signed-off-by: Lu Wei <luwei32@huawei.com>
Reviewed-by: Daniel Machon <daniel.machon@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 11:02:33 +00:00
Yang Yingliang
25c94b0515 Drivers: hv: vmbus: fix possible memory leak in vmbus_device_register()
If device_register() returns error in vmbus_device_register(),
the name allocated by dev_set_name() must be freed. As comment
of device_register() says, it should use put_device() to give
up the reference in the error path. So fix this by calling
put_device(), then the name can be freed in kobject_cleanup().

Fixes: 09d50ff8a2 ("Staging: hv: make the Hyper-V virtual bus code build")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Link: https://lore.kernel.org/r/20221119081135.1564691-3-yangyingliang@huawei.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
2022-11-21 10:57:42 +00:00
Yang Yingliang
f92a4b50f0 Drivers: hv: vmbus: fix double free in the error path of vmbus_add_channel_work()
In the error path of vmbus_device_register(), device_unregister()
is called, which calls vmbus_device_release().  The latter frees
the struct hv_device that was passed in to vmbus_device_register().
So remove the kfree() in vmbus_add_channel_work() to avoid a double
free.

Fixes: c2e5df616e ("vmbus: add per-channel sysfs info")
Suggested-by: Michael Kelley <mikelley@microsoft.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Link: https://lore.kernel.org/r/20221119081135.1564691-2-yangyingliang@huawei.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
2022-11-21 10:57:41 +00:00
David S. Miller
418e0721d4 Merge branch 'gve-alternate-missed-completions'
Jeroen de Borst says:

====================
gve: Handle alternate miss-completions

Some versions of the virtual NIC present miss-completions in
an alternative way. Let the diver handle these alternate completions
and announce this capability to the device.

The capability is announced uing a new AdminQ command that sends
driver information to the device. The device can refuse a driver
if it is lacking support for a capability, or it can adopt it's
behavior to work around OS specific issues.

Changed in v5:
- Removed comments in fucntion calls
- Switched ENOTSUPP back to EOPNOTSUPP and made sure it gets passed
Changed in v4:
- Clarified new AdminQ command in cover letter
- Changed EOPNOTSUPP to ENOTSUPP to match device's response
Changed in v3:
- Rewording cover letter
- Added 'Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>'
Changes in v2:
- Changed the subject to include 'gve:'
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 10:52:14 +00:00
Jeroen de Borst
a5affbd8a7 gve: Handle alternate miss completions
The virtual NIC has 2 ways of indicating a miss-path
completion. This handles the alternate.

Signed-off-by: Jeroen de Borst <jeroendb@google.com>
Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 10:52:14 +00:00
Jeroen de Borst
c2a0c3ed5b gve: Adding a new AdminQ command to verify driver
Check whether the driver is compatible with the device
presented.

Signed-off-by: Jeroen de Borst <jeroendb@google.com>
Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 10:52:14 +00:00
Neil Armstrong
62e73f0006 arm64: dts: amlogic: add initial Odroid Go Ultra DTS
This adds initial support for the Hardkernel Odroid Go Ultra.

The Odroid Go Ultra is a portable gaming device with the following
characteristics:
- Amlogic S922X SoC
- RK817 & RK818 PMICs
- 2GiB LPDDR4
- On board 16GiB eMMC
- Micro SD Card slot
- 5inch 854×480 MIPI-DSI TFT LCD
- Earphone stereo jack, 0.5Watt 8Ω Mono speaker
- Li-Polymer 3.7V/4000mAh Battery
- USB-A 2.0 Host Connector
- x16 GPIO Input Buttons
- 2x ADC Analog Joysticks
- USB-C Port for USB2 Device and Charging

The following are not yet handled:
- Battery RK818 Gauge and Charging
- Earphone stereo jack detect
- 5inch 854×480 MIPI-DSI TFT LCD

Link: https://lore.kernel.org/r/20221031-b4-odroid-go-ultra-initial-v2-2-a3df1e09b0af@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2022-11-21 11:51:56 +01:00
Neil Armstrong
66af218f86 dt-bindings: amlogic: document Odroid Go Ultra compatible
This documents the Odroid Go Ultra, a portable gaming device,
with the following characteristics:
- Amlogic S922X SoC
- RK817 & RK818 PMICs
- 2GiB LPDDR4
- On board 16GiB eMMC
- Micro SD Card slot
- 5inch 854×480 MIPI-DSI TFT LCD
- Earphone stereo jack, 0.5Watt 8Ω Mono speaker
- Li-Polymer 3.7V/4000mAh Battery
- USB-A 2.0 Host Connector
- x16 GPIO Input Buttons
- 2x ADC Analog Joysticks
- USB-C Port for USB2 Device and Charging

Acked-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20221031-b4-odroid-go-ultra-initial-v2-1-a3df1e09b0af@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2022-11-21 11:51:56 +01:00
Dmitry Vyukov
d9e8da5585 NFC: nci: Extend virtual NCI deinit test
Extend the test to check the scenario when NCI core tries to send data
to already closed device to ensure that nothing bad happens.

Signed-off-by: Dmitry Vyukov <dvyukov@google.com>
Cc: Bongsu Jeon <bongsu.jeon@samsung.com>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 10:49:58 +00:00
David S. Miller
148b1da886 Merge branch 'axiennet-mdio-bus-freq'
Andy Chiu says:

====================
net: axienet: Use a DT property to configure frequency of the MDIO bus

Some FPGA platforms have to set frequency of the MDIO bus lower than 2.5
MHz. Thus, we use a DT property, which is "clock-frequency", to work
with it at boot time. The default 2.5 MHz would be set if the property
is not pressent. Also, factor out mdio enable/disable functions due to
the api change since 253761a0e6.

Changelog:
--- v5 ---
1. Make dt-binding patch prior to the implementation patch.
2. Disable mdio bus in error path.
3. Update description of some functions.
--- v4 ---
1. change MAX_MDIO_FREQ to DEFAULT_MDIO_FREQ as suggested by Andrew.
--- v3 RESEND ---
1. Repost the exact same patch again
--- v3 ---
1. Fix coding style, and make probing of the driver fail if MDC overflow
--- v2 ---
1. Use clock-frequency, as defined in mdio.yaml, to configure MDIO
   clock.
2. Only print out frequency if it is set to a non-standard value.
3. Reduce the scope of axienet_mdio_enable and remove
   axienet_mdio_disable because no one really uses it anymore.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 10:36:04 +00:00
Andy Chiu
2e1f2c1066 net: axienet: set mdio clock according to bus-frequency
Some FPGA platforms have 80KHz MDIO bus frequency constraint when
connecting Ethernet to its on-board external Marvell PHY. Thus, we may
have to set MDIO clock according to the DT. Otherwise, use the default
2.5 MHz, as specified by 802.3, if the entry is not present.

Also, change MAX_MDIO_FREQ to DEFAULT_MDIO_FREQ because we may actually
set MDIO bus frequency higher than 2.5MHz if undelying devices support
it. And properly disable the mdio bus clock in error path.

Signed-off-by: Andy Chiu <andy.chiu@sifive.com>
Reviewed-by: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 10:36:03 +00:00
Andy Chiu
6830604ec0 dt-bindings: describe the support of "clock-frequency" in mdio
mdio bus frequency is going to be configurable at boottime by a property
in DT now, so add a description to it.

Signed-off-by: Andy Chiu <andy.chiu@sifive.com>
Reviewed-by: Greentime Hu <greentime.hu@sifive.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 10:36:03 +00:00
Andy Chiu
29f8eefba3 net: axienet: Unexport and remove unused mdio functions
Both axienet_mdio_{enable/disable} functions are no longer used in
xilinx_axienet_main.c due to 253761a0e6. And axienet_mdio_disable is
not even used in the mdio.c. So unexport and remove them.

Signed-off-by: Andy Chiu <andy.chiu@sifive.com>
Reviewed-by: Greentime Hu <greentime.hu@sifive.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 10:36:03 +00:00
Hans de Goede
e32354bb8f platform/x86/intel/hid: Add module-params for 5 button array + SW_TABLET_MODE reporting
The driver has DMI-quirk tables for force-enabling 5 button array support
and for 2 different ways of enabling SW_TABLET_MODE reporting.

Add module parameters to allow user to enable the driver behavior currently
only available through DMI quirks.

This is useful for users to test this in bug-reports and for users to use
as a workaround while new DMI quirks find their way upstream.

Link: https://gitlab.freedesktop.org/libinput/libinput/-/issues/822
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20221120224820.746478-1-hdegoede@redhat.com
2022-11-21 11:17:58 +01:00
Hans de Goede
301e0d766d platform/x86: ideapad-laptop: Make touchpad_ctrl_via_ec a module option
Remove the ACPI-HID + DMI-id deny-lists for touchpad_ctrl_via_ec and
instead make it a module option which defaults to false.

The touchpad sysfs attribute allowing directly writing VPCCMD_W_TOUCHPAD
from userspace has been leading to a lot of bug-reports / patches adding
both ACPI HID + dmi-id based deny-lists for it which then need to be
expanded all the time going forward leading to a high maintenance load.

At the same time the touchpad sysfs attribute is not a standard Linux
userspace API. So it is not used in standard desktop-enviroments, instead
it is only used in the following 2 rare circumstances:

1. Ideapad specific control-panel like applets
2. Custom scripts written by users

For 1. these applets need to already deal with the touchpad sysfs attr
sometimes not being there because of the existing deny lists so hiding
it be default should not cause an issue; and most desktop environments
already have a touchpad-disable option in their native control-panel,
so having an ideapad specific toggle for this is not necessary.

For 2. since these users are already customizing their systems they
can add the module option if they want to keep using the touchpad
sysfs attribute.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Tested-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Link: https://lore.kernel.org/r/20221117110244.67811-7-hdegoede@redhat.com
2022-11-21 11:16:49 +01:00
Hans de Goede
a10ba160d4 platform/x86: ideapad-laptop: Stop writing VPCCMD_W_TOUCHPAD at probe time
Commit d69cd7eea9 ("platform/x86: ideapad-laptop: Disable touchpad_switch
for ELAN0634") from Janary 2021 added a flag hiding the touchpad sysfs-attr
and disabling ideapad_sync_touchpad_state() because some devices
"do not use EC to switch touchpad".

At the same time this added a write(VPCCMD_W_TOUCHPAD, 1) call at probe
time on these same devices. This seems to be copied from the rfkill code
which does something similar when hw rfkill support is disabled.

But for the rfkill code this is known to be necessary on some models,
where as for the touchpad control no motivation is given for doing this
and prior to this patch there were no reports of needing to do this.

So this seems unnecessary; and it is best to avoid poking the hardware
unnecessary to avoid unwanted side effects, so remove this.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Tested-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Link: https://lore.kernel.org/r/20221117110244.67811-6-hdegoede@redhat.com
2022-11-21 11:16:41 +01:00
Hans de Goede
5829f8a897 platform/x86: ideapad-laptop: Send KEY_TOUCHPAD_TOGGLE on some models
On recent Ideapad models the EC does not control the touchpad at all,
so instead of sending KEY_TOUCHPAD_ON/ _OFF on touchpad toggle hotkey
events, ideapad-laptop should send KEY_TOUCHPAD_TOGGLE and let userspace
handle the toggling.

Check for this by checking if the value read from VPCCMD_R_TOUCHPAD
actually changes when receiving a touchpad-toggle hotkey event; and
if it does not change send KEY_TOUCHPAD_TOGGLE to userspace to let
userspace enable/disable the touchpad in software.

Note this also drops the priv->features.touchpad_ctrl_via_ec check from
ideapad_sync_touchpad_state() so that KEY_TOUCHPAD_TOGGLE will be send
on laptops where this is not set too. This can be safely dropped now
because the i8042_command(I8042_CMD_AUX_ENABLE/_DISABLE) call is now
guarded by its own feature flag.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Tested-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Link: https://lore.kernel.org/r/20221117110244.67811-5-hdegoede@redhat.com
2022-11-21 11:12:23 +01:00
Hans de Goede
c69e7d843d platform/x86: ideapad-laptop: Only toggle ps2 aux port on/off on select models
Recently there have been multiple patches to disable the ideapad-laptop's
touchpad control code, because it is causing issues on various laptops:

Commit d69cd7eea9 ("platform/x86: ideapad-laptop: Disable touchpad_switch for ELAN0634")
Commit a231224a60 ("platform/x86: ideapad-laptop: Disable touchpad_switch")

The turning on/off of the ps2 aux port was added specifically for
the IdeaPad Z570, where the EC does toggle the touchpad on/off LED and
toggles the value returned by reading VPCCMD_R_TOUCHPAD, but it does not
actually turn on/off the touchpad.

The ideapad-laptop code really should not be messing with the i8042
controller on all devices just for this special case.

Add a new ctrl_ps2_aux_port flag set based on a DMI based allow-list
for devices which need this workaround, populating it with just
the Ideapad Z570 for now.

This also adds a module parameter so that this behavior can easily
be enabled on other models which may need it.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Tested-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Link: https://lore.kernel.org/r/20221117110244.67811-4-hdegoede@redhat.com
2022-11-21 11:12:18 +01:00
Hans de Goede
f4dd8c44bb platform/x86: ideapad-laptop: Do not send KEY_TOUCHPAD* events on probe / resume
The sending of KEY_TOUCHPAD* events is causing spurious touchpad OSD
showing on resume.

Disable the sending of events on probe / resume to fix this.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Tested-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Link: https://lore.kernel.org/r/20221117110244.67811-3-hdegoede@redhat.com
2022-11-21 11:12:13 +01:00
Hans de Goede
289a59895e platform/x86: ideapad-laptop: Refactor ideapad_sync_touchpad_state()
Add an error exit for read_ec_data() failing instead of putting the main
body in an if (success) block.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Tested-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Link: https://lore.kernel.org/r/20221117110244.67811-2-hdegoede@redhat.com
2022-11-21 11:11:50 +01:00
Dan Carpenter
62a45b384a net: microchip: sparx5: prevent uninitialized variable
Smatch complains that:

    drivers/net/ethernet/microchip/sparx5/sparx5_dcb.c:112
    sparx5_dcb_apptrust_validate() error: uninitialized symbol 'match'.

This would only happen if the:

	if (sparx5_dcb_apptrust_policies[i].nselectors != nselectors)

condition is always true (they are not equal).  The "nselectors"
variable comes from dcbnl_ieee_set() and it is a number between 0-256.
This seems like a probably a real bug.

Fixes: 23f8382cd9 ("net: microchip: sparx5: add support for apptrust")
Signed-off-by: Dan Carpenter <error27@gmail.com>
Reviewed-by: Daniel Machon <daniel.machon@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 10:06:47 +00:00
Christoph Hellwig
36273e5b4e udf: remove ->writepage
->writepage is a very inefficient method to write back data, and only
used through write_cache_pages or as a fallback when no ->migrate_folio
method is present.

Set ->migrate_folio to the generic buffer_head based helper, and remove
the ->writepage implementation in extfat.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jan Kara <jack@suse.cz>
2022-11-21 11:05:01 +01:00
Christoph Hellwig
a27c442d61 ext2: remove ->writepage
->writepage is a very inefficient method to write back data, and only
used through write_cache_pages or as a fallback when no ->migrate_folio
method is present.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jan Kara <jack@suse.cz>
2022-11-21 11:05:01 +01:00
Jan Kara
bc943f4872 ext2: Don't flush page immediately for DIRSYNC directories
We do not need to writeout modified directory blocks immediately when
modifying them while the page is locked. It is enough to do the flush
somewhat later which has the added benefit that inode times can be
flushed as well. It also allows us to stop depending on
write_one_page() function.

Signed-off-by: Jan Kara <jack@suse.cz>
2022-11-21 11:04:57 +01:00
Uwe Kleine-König
76ad5c0a45 media: v4l2-core/tuner-core: Convert to i2c's .probe_new()
The probe function doesn't make use of the i2c_device_id * parameter so it
can be trivially converted.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
[hverkuil: deleted kerneldoc reference to removed id argument]
2022-11-21 11:04:46 +01:00
Uwe Kleine-König
80458f6311 media: usb: go7007: s2250-board: Convert to i2c's .probe_new()
The probe function doesn't make use of the i2c_device_id * parameter so it
can be trivially converted.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2022-11-21 11:04:46 +01:00
Uwe Kleine-König
14fb55160c media: tuners/tua9001: Convert to i2c's .probe_new()
The probe function doesn't make use of the i2c_device_id * parameter so it
can be trivially converted.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2022-11-21 11:04:45 +01:00