Commit graph

1,169,205 commits

Author SHA1 Message Date
Arnd Bergmann
566fb6711f Renesas ARM SoC updates for v6.2
- Drop selecting GPIOLIB and PINCTRL, which are already automatically
     selected as part of the SOC_RENESAS config option in
     drivers/soc/renesas/Kconfig.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCY2TpSgAKCRCKwlD9ZEnx
 cHQuAP9NYIwY4vqDY9cAS3cqkvf/b/EFmGnGN938/OwR3Of7NAEAj6aeW0G3REqz
 uvKdCpRVtbgBQS5zYuTjjsV7Ypx7mAs=
 =Zzmv
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmNyWQwACgkQmmx57+YA
 GNn5HQ/8CsT0MaDtoKSL7cCkxniTZrIUgKW3dqWAszIIKGidNRNOkLWK5T5tAM/a
 Yq9nUKrGrfRlVYZNCnZBQRWb5+IYC763OKavHuQPyeg8JDMK1xxk/5OHv4ijdmtP
 133ImDLIJYuN8BL8GWgyzehluxVZcFCkOQMI1G0tvqMv1k/2kLK1JW1T3yGTYvX3
 j3srI+ekwkjyv5WjrTkbLT9rMRbTCOaZixfvPMcqueWoVqN+3RGGZlHsW1EuhMjX
 6/Sq7HGYdOmDXF3eF6jT/CVC4T1R1tIoOo+XVGOzIIUToTZfPMuIVwbJKredLjQT
 9WmtBGt85ZFhPL8wQ+0MKjCFfFHE0FYmPpQqdgv494RQ5OzFaYYuA0+bcsiyW12m
 C3HGJqlsPXZG25wyewozeiybLu6nuBltarOkpQhr87HsGHrhra5pedHg8dHqOFrd
 8fqH84zoklWMhq9HPQ6QroTqnrS6F7BCweY+x0g9PEVYUHX5jR8N3tMsb0Ew0YYF
 zTjtUg3eFgTzWIyyK11gknooGdpz/uRmR5SRwNR4SVH5DGx57mDila6dGFYPpjdv
 CQ5ndEqGaZjqk3lSM7ywrz0McKAVhfUuyv18P95h5NFBoo0UhpKWzpEUMQN5F4X4
 WT/DjFks7EHnO3DgTKQdoN/CDwIjI6i/uni6OYTrjkEC9FicE3k=
 =2v6V
 -----END PGP SIGNATURE-----

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

Renesas ARM SoC updates for v6.2

  - Drop selecting GPIOLIB and PINCTRL, which are already automatically
    selected as part of the SOC_RENESAS config option in
    drivers/soc/renesas/Kconfig.

* tag 'renesas-arm-soc-for-v6.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: renesas: Drop selecting GPIOLIB and PINCTRL
  ARM: shmobile: Drop selecting GPIOLIB and PINCTRL
  soc: renesas: Kconfig: Explicitly select GPIOLIB and PINCTRL config under SOC_RENESAS

Link: https://lore.kernel.org/r/cover.1667558746.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 16:04:44 +01:00
Arnd Bergmann
6cb1253c6d Ux500 core changes for the v6.2 kernel cycle:
- Spelling error.
 
 - A non-urgent fix to not access IOmem for feeding entropy
   directly, instead copy and use.
 
 - Clean out an old register file.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmNqwPsACgkQQRCzN7AZ
 XXNgsw//SDGUnbGYw6pjT5X1cbhXdmZvxys/wgyn6vrYeFeD803N62OUk1NoVQyJ
 nBpGz0ZJ6n8wBnQMIR7jPkeVaVC3siWAxvYWchqxGUXkUVY62x5GlfKUTIL/A8PD
 mzEfPF8EB8ji/EMIYemcIcADPz4uaxwEuSl5eeUxWkclpyD+hjtHxGUWO4AD6jwS
 Z5+1lyJ3gDGhLLFBNCtZhELZ7mdfgONJuskwp/dGVSBhj5AZbizLgH0I1mCUdDQE
 d2Zv2rus1QUTUTvb4wanZgkx1hLv2Kd+cQeRQVnlZUdH2oNUZf5RRCSh36woo8VM
 sR3vsgMjoeVBvM+zWz8JfWW1Q6i6NcBxNnhBnzjoaZATHz2mUhpDQTGGn5WGnhNE
 C3Y4MMVuC21632MJxQTempdz3w1AVej63IwSGJJ2gIX9zTpSLApLyRk+L41kty4T
 Wi0ar2Ou6lW45lUzLv2FKShbYte85hRxHPmbWTZcHST008SS6XUwjIKx6frT/fOa
 WnJ+JslV/4na3Fme9Q2admeAUHJn3bpt6jsXM/u3tJzo8m3Kta/b888pmmZsS0lK
 mz/aBJhsUhode/Enwnp5x+xFiFwodz9UjDF4+zWatw/I6C470/L7aMESAA2A6Vtr
 Brh3mNJa/gO/PMycFqXkHlqm3irgxcPNhmAUQ/ROordJFrlli6I=
 =0Cgk
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmNyWNYACgkQmmx57+YA
 GNkPIRAAnU2oWm89f388bln9HIYG41UUkJIh5+w/w19yh9sxiP1hOJMYjEvrSnbG
 A5kmYhgC9bIDIOjReWljGu1e2CtzyC2cVdtpamkYKdo6u+B6bo/KXAF5wcG2olAm
 0fV/cSkGYGHWJq2Ukmkj2tQ6u8bqZxnn72uq6zasFRAH/0l8GYr21X5Jv+xovSKB
 dsTTLhxcxanU5Pw84gvYhdLteiz+KVsOiOS++CRadNGGXNyHMikA16Pdzb7e3SP9
 KVzgcJIiMH+ynAh7EOyEjCWH9/EDmGRUA9poWTImT2otN0SkXCkGpY5GTI/UoDte
 vsXToGR6Pp8hGPSS9L5ZgKK2+tMeNh110WNswB1KCBQqtL2TFvO94vJai90XRsS5
 7/Ejn62MkArHcFFe7G8tPO9Z/DweWyqDWUzt3OqK/0O4NBW4bOYMQHiYvEnLjviv
 HaqPinMKg6TsDv9DaLIDrdd1uOssH7XBWspruo7Me9LoPZn3VJ8RsNROPrATGWZI
 mNm8AuGTh5oAYQIjmxZ7yn8xo52wShN0dAb5CCkOV8xli/MOusGFQT/Ylofx1qID
 NcLlUK1E4sbt8bAn/jRRNTU2CCw+uRbw5znwoBgkS6key4bKXdIohPPeJijPFbh5
 oPh+dsjxHhYymXG7fR5UXwAEErHhBmFTHBBhI4S4Y8GBeFYikHE=
 =9Qze
 -----END PGP SIGNATURE-----

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

Ux500 core changes for the v6.2 kernel cycle:

- Spelling error.

- A non-urgent fix to not access IOmem for feeding entropy
  directly, instead copy and use.

- Clean out an old register file.

* tag 'ux500-soc-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: ux500: Drop unused register file
  ARM: ux500: do not directly dereference __iomem
  arm/mach-ux500: fix repeated words in comments

Link: https://lore.kernel.org/r/CACRpkdaPDbJKUzZHsS2POVUQEjYi+6bjU6cvbg4ox=SKPXG2ng@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 16:03:50 +01:00
Yinbo Zhu
06ebd23a33 dt-bindings: soc: add loongson-2 chipid
Add the Loongson-2 SoC chipid binding with DT schema format using
json-schema.

Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20221111054201.18528-2-zhuyinbo@loongson.cn'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 16:02:10 +01:00
Yinbo Zhu
b82621ac84 soc: loongson: add GUTS driver for loongson-2 platforms
The global utilities block controls PCIE device enabling, alternate
function selection for multiplexed signals, consistency of HDA, USB
and PCIE, configuration of memory controller, rtc controller, lio
controller, and clock control.

This patch adds a driver to manage and access global utilities block
for LoongArch architecture Loongson-2 SoCs. Initially only reading SVR
and registering soc device are supported. Other guts accesses, such
as reading firmware configuration by default, should eventually be
added into this driver as well.

Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 16:01:32 +01:00
Arnd Bergmann
4c1c97fc70 Renesas driver updates for v6.2
- Let SOC_RENESAS select GPIOLIB and PINCTRL, so this does not have to
     be handled in two (soon three: arm/arm64/riscv), places.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCY2TqQwAKCRCKwlD9ZEnx
 cEYXAP4+knQOqJcBL8WHWSTNv4z4MBMg0ztt7De991euiuVnHQEA3AFf/VOHzxlJ
 zWQi5qMo011t30HCs4grCWAwInnmoQY=
 =GYFH
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmNyVu8ACgkQmmx57+YA
 GNkXKw/9GAvcdrN4Qo0lpcBYlTy14D33tt0mEIBxzeFX/6T/h8wSb0JGHCh4WN5I
 IHf8Sw2KKYlWIIWlfcKy6PmSag12y+fxzHIzorrfTOVrws9frdZZhnJxFCS0RIHa
 mQ8HESoQXVLNUf34qOe6D4s2YO04pdXHvpCs+X7RW0cFoyGj4fVriMJoHcQmdcc3
 PWkBqnRkC4Bg9jX6Mex+g11tfupmAG2S0bWDFnK33dLsGqYcpW9PHCEuaWIRWUZa
 Cfeum6ShkPN69//ztOR44V4SKEoaPdFt6H+OvT3LQ2qvXu92ov7Vz4n127/wbtr/
 svG3tqVm8sNgknetMlaW4LNzsOX24WARP4SYFGW6vMYqDlcvHTM+5ZNACtvG71y5
 r3pawZpW1ibigsWQRWlBC7iHNH8PtGxXipjeLfVb/FJ0U66RvO+T4whwWwgXvY3q
 RAY1M4fLPDiidTVeOdAumL6Twf4fryttDnBXATzN+uXSzzbTWjqCmlJtFibEWQXQ
 tzT1ZHj9RsAuy7dLNl0AkIyVMYItAvuqyulJq3A5Gqvk0qGIc83/RPsEB4XNry6v
 jqd9v/aZoTfyGc7kAxkMzEJagezsfGWga+lotyvJ48aRwUUcRGP9jZiMuR9Es+wQ
 2doCFYjFIZ/elK1SeHzXCI0UevfeyMFa5Ug7z0oEHdve2KOHjrY=
 =vQbD
 -----END PGP SIGNATURE-----

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

Renesas driver updates for v6.2

  - Let SOC_RENESAS select GPIOLIB and PINCTRL, so this does not have to
    be handled in two (soon three: arm/arm64/riscv), places.

* tag 'renesas-drivers-for-v6.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: Kconfig: Explicitly select GPIOLIB and PINCTRL config under SOC_RENESAS

Link: https://lore.kernel.org/r/cover.1667558747.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 15:55:43 +01:00
Mark Rutland
657eef0a54 arm64: atomics: lse: remove stale dependency on JUMP_LABEL
Currently CONFIG_ARM64_USE_LSE_ATOMICS depends upon CONFIG_JUMP_LABEL,
as the inline atomics were indirected with a static branch.

However, since commit:

  21fb26bfb0 ("arm64: alternatives: add alternative_has_feature_*()")

... we use an alternative_branch (which is always available) rather than
a static branch, and hence the dependency is unnecessary.

Remove the stale dependency, along with the stale include. This will
allow the use of LSE atomics in kernels built with CONFIG_JUMP_LABEL=n,
and reduces the risk of circular header dependencies via <asm/lse.h>.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20221114125424.2998268-1-mark.rutland@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2022-11-14 14:44:14 +00:00
wangkailong@jari.cn
a75df5be8e kselftest/arm64: fix array_size.cocci warning
Fix following coccicheck warning:

tools/testing/selftests/arm64/mte/check_mmap_options.c:64:24-25:
WARNING: Use ARRAY_SIZE
tools/testing/selftests/arm64/mte/check_mmap_options.c:66:20-21:
WARNING: Use ARRAY_SIZE
tools/testing/selftests/arm64/mte/check_mmap_options.c:135:25-26:
WARNING: Use ARRAY_SIZE
tools/testing/selftests/arm64/mte/check_mmap_options.c:96:25-26:
WARNING: Use ARRAY_SIZE
tools/testing/selftests/arm64/mte/check_mmap_options.c:190:24-25:
WARNING: Use ARRAY_SIZE

Signed-off-by: KaiLong Wang <wangkailong@jari.cn>
Link: https://lore.kernel.org/r/777ce8ba.12e.184705d4211.Coremail.wangkailong@jari.cn
Signed-off-by: Will Deacon <will@kernel.org>
2022-11-14 14:43:49 +00:00
Arnd Bergmann
8db131b29f AT91 defconfig for 6.2
It contains:
 - sama7 defconfig refresh (done with make savedefconfig)
 - update sama7 defconfig with OTPC support
 - update sama7 defconfig with thermal management support
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCY2zjagAKCRCejrg/N2X7
 /a8gAQCq7wsVe4O0x3oQANerwC+YYaEYomXsoJ+8HY1xScARhgD/WNMosZZSY7M+
 +uURabTgr9kc0uTRTGkodKGDYCahnQA=
 =cV7l
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmNyUuEACgkQmmx57+YA
 GNmcJQ/9G7bE9IkG4Kg5YcZOv7/hWo/hnZI7wrWJnhehk3OpS7gygeHpw+Al/Wdk
 F74/jrnXMhm/CQgdO+ITlx4ZnkF9+PLMwzUMsKWAWi2rDkptiQVdlhGCwzXKy9iN
 HzZkiS/uw4a5s/5B96sl9oI7fwpmohIjNG7NhqcEZBJq1mJlTZDRTBTvBW5S4NPp
 ojrEUYV1TK4mQ0GqQOnAyUGz7O8JKBA6sB6Kc89AxB1jvggDVL4x6/kxu6BWF5jK
 xUZU/Tt5TUt/YklfsTgcnErgmXSyh/A8YpxdugQEo0LT5Dzfzz4c17fvjdIcLB99
 F7i69xzsOJZeNWI3IO9z7g+dFK20ecVhwW/Eoqzq0ph6RrumGX9LI45xIh87HRym
 oUN0zDNdUIYDfAlwl0MTOI7ZI8l0hhrfwGiulQXNROEv5R5ghiGbvn6ZuERfiIzs
 0pCMQzUqAkgkzmVNAJBecFrc6cFQfDQEH39tZDFHsS3ndwaUALn8gBnUpvrcATgZ
 +A/OaTo2Os98RpvtEe1IqJl+L2rDh2inzglzsQzejMT5Hhaj8s0i4/Ea71ZFkviP
 P4OGZ0NOo+KtZQ/Ne4Nfg4/ZY65/Uj/f1bwjBdFaJ6EndV5t4qFz7Gu4RkVJxIP7
 lLpGUTTPvDNLL1eFnYBeTbQXlb57JrZBOD885MPS8+dbfQoIoCc=
 =sXrZ
 -----END PGP SIGNATURE-----

Merge tag 'at91-defconfig-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/defconfig

AT91 defconfig for 6.2

It contains:
- sama7 defconfig refresh (done with make savedefconfig)
- update sama7 defconfig with OTPC support
- update sama7 defconfig with thermal management support

* tag 'at91-defconfig-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: configs: at91: sama7: add config for thermal management
  ARM: configs: at91: sama7: add config for microchip otpc
  ARM: configs: at91: sama7: use make savedefconfig

Link: https://lore.kernel.org/r/20221110115422.180893-1-claudiu.beznea@microchip.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 15:38:25 +01:00
Sebastian Reichel
ada8f95ba0 clk: rockchip: add lookup table support
Add support for mapping reset IDs to register offsets
to support gapless continous platform reset IDs.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20221018151407.63395-9-sebastian.reichel@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2022-11-14 15:35:07 +01:00
Sebastian Reichel
ff94c8660d clk: rockchip: simplify rockchip_clk_add_lookup
rockchip_clk_add_lookup is only called from within the file,
so it can be made static. The additional checks are removed
with the following reasoning:

1. The data structure is initialized by rockchip_clk_init(),
   which is called by all rockchip platforms before the clocks
   are registered. Not doing so would result in an incomplete
   clock tree at the moment, which is a fatal error. In other
   parts of the kernel these kind of checks are usually
   omitted, so this was done here. The alternative is adding
   a pr_err to inform the kernel programmer adding a new platform
   about his incorrect code. Apart from that we are also not
   checking if the clock id is within the array boundings.

2. While not used so far by any rockchip platform, 0 is a valid
   clock identifier. To align rockchip closer to other ARM
   platforms we will start using it with rk3588.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20221018151407.63395-8-sebastian.reichel@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2022-11-14 15:35:07 +01:00
Arnd Bergmann
6ef881e446 AT91 DT for 6.2
It contains:
 - interrupt support for ethernet PHYs on pcb8290 board
 - thermal management support for SAMA7G5 by adding OTP controller
   (that keeps temperature sensor calibration data), proper ADC
   bindings and describing thermal zones
 - securam node from SAMA7G5 is now described with generic name (sram)
 - remove of status = "okay" from SAM9X60-EK regulators
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCY2zevQAKCRCejrg/N2X7
 /SnDAPwKoY+yyFeL9lHoeKMqX+EoktDUB1nR5GJFThiJQ9KABQEAxCf8USyR7zVS
 wPM94RYXyMKNLk0rYrrMD+TbwdpcTwk=
 =NAdE
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmNyUgAACgkQmmx57+YA
 GNlPgg//cnPcOa+HPpGo8iCGdda9KRNClIb/k3kplABuW67hU1/NM1UNhS9PZG7B
 3/q2rDifTgo7onR0pGvBI7EtFhppAuv0hnUYk41+gfeMFAx2heD3GyqVroUYCyR7
 bPi/0BYCj/ApgqBmYEi0+No/fmQBr/jW0aTMEUE+cAl/g67ayhPW6BNw6MKmGvS7
 OyfPXfBXa+bksYBoyGoobnXjyRLysDIAb3/qRO3wQFFxvJQWAdl3sUo69cGPVeED
 Z0JW7VIFmNiXzlcQ04/R2gv6/TDNzvjzyOs+phXD92pRdk8mkFhZAvUB/7sgexiw
 7NCzqKLvcaAOaqHtwvaXmg7EXqsRo1DCzlnhRvz5O/uQou9ACIXwGnz58ggjKixF
 DjwUXo26KZ4QGeZL3UUMeln/vOdX/XbMq4tWtGadZvT1U0oSB/VxDCETyiyhUcvN
 b6nlhHa1RWCPXk/7CADiP7Rz97ayKlwDC1cdnwXc1IoTxTAyNHc2IQb8bspqNsRz
 6Yvm4zdRZ3ST513qsd5+51qqDVdJwwHtCPUzXe+fNCPcrkbNPeP4xr5bU4jxgJ0o
 loBK3p/6YCFKnBEvykl934lQkZIImbfEBkeSbxIQVJtye0cwTdwm7XsBacvzMBSU
 5LCJWBvwrZZQQpRj02e2fZiVRaMqbpS+ogjazSHx+crrVX3kaYk=
 =nb0O
 -----END PGP SIGNATURE-----

Merge tag 'at91-dt-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/dt

AT91 DT for 6.2

It contains:
- interrupt support for ethernet PHYs on pcb8290 board
- thermal management support for SAMA7G5 by adding OTP controller
  (that keeps temperature sensor calibration data), proper ADC
  bindings and describing thermal zones
- securam node from SAMA7G5 is now described with generic name (sram)
- remove of status = "okay" from SAM9X60-EK regulators

* tag 'at91-dt-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: at91: sam9x60ek: remove status = "okay" for regulators
  ARM: dts: at91: sama7g5: use generic name for securam
  ARM: dts: at91: sama7g5: add thermal zones node
  ARM: dts: at91: sama7g5: add temperature sensor
  ARM: dts: at91: sama7g5: add cells for temperature calibration
  ARM: dts: at91: sama7g5: add io-channel-cells to adc node
  ARM: dts: at91: sama7g5: add otpc node
  ARM: dts: lan966x: Add interrupt support for PHYs on pcb8290

Link: https://lore.kernel.org/r/20221110115431.180908-1-claudiu.beznea@microchip.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 15:34:40 +01:00
Elaine Zhang
2004b7b180 clk: rockchip: allow additional mux options for cpu-clock frequency changes
In order to improve the main frequency of CPU, the clock path of CPU is
simplified as follows:
                         |--\
                         |   \            |--\
 --apll--|\              |    \           |   \
         | |--apll_core--|     \          |    \
 --24M---|/              |mux1 |--[gate]--|mux2|---clk_core
                         |     /          |    /
 --gpll--|\              |    /    |------|   /
         | |--gpll_core--|   /     |      |--/
 --24M---|/              |--/      |
                                   |
 -------apll_directly--------------|

When the CPU requests high frequency, we want to use MUX2 select the
"apll_directly".
At low frequencies use MUX1 to select “apll_core" and then MUX2 to
select "apll_core_gate".

However, in this way, the CPU frequency conversion needs to be
in the following order:
1. MUX2 select to "apll_core_gate", MUX1 select "gpll_core"
2. Apll sets slow_mode, sets APLL parameters, locks APLL, and then APLL
sets normal_mode
3. MUX1 select "apll_core", MUX2 select "apll_directly"

So add pre_mux and post_mux options to cover this special requirements.

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
[rebase]
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20221018151407.63395-7-sebastian.reichel@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2022-11-14 15:34:18 +01:00
Elaine Zhang
8f6594494b clk: rockchip: add pll type for RK3588
Add RK3588 PLL support fully relying on lookup tables like
the other upstream supported rockchip platforms.

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
[rebase and modify code to avoid PLL parameter calculation]
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20221018151407.63395-6-sebastian.reichel@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2022-11-14 15:33:46 +01:00
Elaine Zhang
cf87691f14 clk: rockchip: add register offset of the cores select parent
The cores select parent register is special on RK3588.

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20221018151407.63395-5-sebastian.reichel@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2022-11-14 15:33:45 +01:00
Elaine Zhang
4f5ca304f2 dt-bindings: clock: add rk3588 cru bindings
Document the device tree bindings of the rockchip rk3588 SoC
clock and reset unit.

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20221018151407.63395-4-sebastian.reichel@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2022-11-14 15:33:45 +01:00
Heiko Stuebner
1838ce8100 Merge branch 'v6.2-shared/clockids' into v6.2-clk/next 2022-11-14 15:29:22 +01:00
Sebastian Reichel
0a8eb7dae6 dt-bindings: reset: add rk3588 reset definitions
Add reset ID defines for rk3588.

Compared to the downstream bindings and previous rockchip
generations this uses continous gapless reset IDs starting
at 0 instead of register offsets as IDs. Thus all numbers
are different between upstream and downstream, but I kept
the names exactly the same.

Co-Developed-by: Elaine Zhang <zhangqing@rock-chips.com>
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20221018151407.63395-3-sebastian.reichel@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2022-11-14 15:28:47 +01:00
Sebastian Reichel
f204a60e54 dt-bindings: clock: add rk3588 clock definitions
Add clock ID defines for rk3588.

Compared to the downstream bindings written by Elaine, this uses
continous gapless clock IDs starting at 0. Thus all numbers are
different between downstream and upstream, but I kept exactly the
same names.

Co-Developed-by: Elaine Zhang <zhangqing@rock-chips.com>
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20221018151407.63395-2-sebastian.reichel@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2022-11-14 15:28:47 +01:00
Richard Acayan
8d3a9ec6ae dt-bindings: iommu: arm-smmu: add sdm670 compatible
The Snapdragon 670 needs the IOMMU for GENI I2C. Add a compatible string in
the documentation to represent its support.

Signed-off-by: Richard Acayan <mailingradian@gmail.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20221111003606.126795-2-mailingradian@gmail.com
Signed-off-by: Will Deacon <will@kernel.org>
2022-11-14 14:13:28 +00:00
Arnd Bergmann
377eb47039 Minor improvements in ARM DTS for v6.2
1. Aspeed: fix qcom,dc-scm-v1-bmc compatible in the bindings.
 2. Marvell: include bindings in maintainers entry.
 3. Cleanup DTS according to bindings (panel endpoint unit address,
    incorrect spi-max-frequency, generic node names).
 4. Few indentation fixes.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmNswkQQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1/wbD/4s09J5k8k5Ta/deRG2wWv8ibMLBVSjqv2e
 oWeBtGlHZMBNSqM7zuIzVReKwiRf3fdYM3M8TIE7dyhpcFT6s4NF2dze+M3NOJf4
 KKYO7Qls1+URz7a5YhsClRv15/dcJTJR3oeBjr7PwXh8jz9pqDJDDVGByzkI1N/Z
 xI+G+TybZifO/0c+sHGniQ/lEhRYGjEzqGyG5iHhAPdPAZp8BSrZn+G5zCILwR7e
 qEfmW06fvZOUJU0WHMWa7dubCLeGRECB/G35pN9qsAvTJY8qDA4OhdsTqUKTwZL4
 mWJBlhKf18zTWXHDyMc1ypoNWdRe9CcsEnOA+1Y6Rx/16M3O7jl0fT8u4T/gpVGF
 H4Ss0pXZdSKeHZe93A4iiY9Q+OenrIOxrEbwJHIkTmmsxS4x9KzJKBvIvEySbKGF
 67g1Ca2r5+G3CdH67RUEpvoF3cWs3rbrNiPHoB0G+7aUpvFjpUd6BQHLR2rz6Rd+
 gVlF/L0h/ZYyfgUFCLwAQXuJJr0HJigpyE2PdZ4AorNIcMApd9SYQWphPnaURC6X
 P+Ql17Ou1c0K+Kmx/+yqR7QCoA8A9e4q/Cdsgi2XAUaKEqAiFkHyCk0HtNMqsQGv
 o7F9y6UY4WNVP8xzskh1khT0anaVmI0kj3I/QQfaCyIPGwnAY0cBsn9OguQJRY59
 JlkD4plj6w==
 =r72Y
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmNyTAgACgkQmmx57+YA
 GNlZ8w/9GFQPPBI/ZbFBLYb64sUEHNa7VbiHHS3h7iXTJJndyI93VqA/+2pYof5Z
 /f18IlBNi2JKYWGPlpgX8L7NUj6G3Rc0ON1EYIwn8zd1USsig0gZ72vUdWuoP/We
 AIN4ucKaVkxGReFq8IDArWtltEAjiqOpKDShrSbmm+bWKX33cZH7EdGHxYL7iEoe
 cxw0JnAf4jXIbJ/XLbqAJVlmW/0SakoBgq4OoTElDkFGL78lk+t7ulYux15gNEX1
 ZfEC4STIBgtGlCkNTZZMXzVX6oj8x8JjP8JPoxQ5VEkNlriw7Rb8SKTbs6EtTvAL
 v3uJYI2TEGLeI1rfuisxBF2+Y21OMoLqtWistm1dHwhqkfW26RRf/rPOPF8W6HP0
 CRT+5Ikm9Z7LRqY4lAE3aJAutNH+FgZ59l/DDS07fUM2xxGgdNXCi6ianwYxoFil
 WV5mn590iac9cyBHF22fDxOSp+TTxeTqNALbWIqah/kG48UeH12e0bdv6U5u0uaD
 1+vHV9uKrTpKACMW75riajdh0ZpyvK9hwn4w1gMpYgA43jUpo63RDmxIYQgPeoxF
 ZbLYYn3YrjRv15IFj0JKzt3wb1utFah/VyB8N110GwPUotU56WvGlSSVhKJSKKia
 eM/MDasw91gnl/R6ByyBR7iUON4ZpyAjgPzRtv4QQzvqRKDVW0o=
 =1+Mw
 -----END PGP SIGNATURE-----

Merge tag 'dt-cleanup-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt into soc/dt

Minor improvements in ARM DTS for v6.2

1. Aspeed: fix qcom,dc-scm-v1-bmc compatible in the bindings.
2. Marvell: include bindings in maintainers entry.
3. Cleanup DTS according to bindings (panel endpoint unit address,
   incorrect spi-max-frequency, generic node names).
4. Few indentation fixes.

* tag 'dt-cleanup-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt:
  dt-bindings: arm: aspeed: adjust qcom,dc-scm-v1-bmc compatible after rename
  ARM: dts: sunxi: correct indentation
  ARM: dts: omap: correct indentation
  ARM: dts: kirkwood: correct indentation
  ARM: dts: armada: correct indentation
  ARM: dts: ti: correct indentation
  ARM: dts: aspeed: align SPI node name with dtschema
  MAINTAINERS: ARM: marvell: include bindings
  ARM: dts: sunplus: sp7021: drop incorrect spi-max-frequency
  ARM: dts: am335x: drop panel endpoint unit address

Link: https://lore.kernel.org/r/20221110092111.18581-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 15:09:12 +01:00
José Expósito
af89dfde2a HID: uclogic: Standardize test name prefix
Commit 961bcdf956 ("drm/tests: Change "igt_" prefix to "drm_test_"")
introduced a new naming convention for the KUnit tests present in the
DRM subsystem: "drm_test_<module>_<test name>".

This naming convention is very convenient because it allows to easily
run all subsystem tests or all driver tests using kunit.py's wildcards.

Follow the naming conventions used in the DRM subsystem adapted to the
HID subsystem: "hid_test_<module>_<test name>".

Signed-off-by: José Expósito <jose.exposito89@gmail.com>
Reviewed-by: Maíra Canal <mairacanal@riseup.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2022-11-14 15:03:48 +01:00
José Expósito
a6f4f16627 HID: uclogic: Fix frame templates for big endian architectures
When parsing a frame template with a placeholder indicating the number
of buttons present on the frame its value was incorrectly set on big
endian architectures due to double little endian conversion.

In order to reproduce the issue and verify the fix, run the HID KUnit
tests on the PowerPC architecture:

  $ ./tools/testing/kunit/kunit.py run --kunitconfig=drivers/hid \
    --arch=powerpc --cross_compile=powerpc64-linux-gnu-

Fixes: 867c892544 ("HID: uclogic: Allow to generate frame templates")
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2022-11-14 15:02:38 +01:00
Yauhen Kharuzhy
9861a25fc2 HID: hid-sensor-custom: Allow more than one hinge angle sensor
Some devices has two sets of accelerometers and the sensor hub exports
two hinge angle 'sensors' based on accelerometer values. To allow more
than one sensor of the same type, use PLATFORM_DEVID_AUTO instead of
PLATFORM_DEVID_NONE when registering platform device for it.

Checked on the Lenovo Yoga Book YB1-X91L tablet.

Signed-off-by: Yauhen Kharuzhy <jekhor@gmail.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2022-11-14 15:01:05 +01:00
Arnd Bergmann
be15e7571f Renesas DT binding updates for v6.2
- Move renesas.yaml from arm to soc, and document RZ/Five support.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCY2TqkwAKCRCKwlD9ZEnx
 cKWvAQD1K3DrMpuP6Yq1Xt0UDOFb4T/RBGyIXDycMkPLGwAIegEA8xPyDSTZCsTp
 qs9GUXL9KBtX3bDOuxLfvWLfct2lrwE=
 =sQ9h
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmNyShcACgkQmmx57+YA
 GNnLhBAAvGgpOGYgthzgVp1Qp+4NiFYeXZpWiDRaV/Xs1zBFNzwXV/9m4bXdxoa7
 K3RZlhslRYjy3KYka6+O4rpyTt6GhFbII2qjtsQg66eHL5GhUHcIhuj8vLDYMLrh
 SUqqgm++4/FjrlogcG9R5JQSTTl7zm1q8KRuGe/qMIH3GUTRCDgudWd3r1bMjpzq
 XyUEMmJ8V7nc+do1Mv0R6NF3W+rPuboe2Ktqq5x8X5AxKy6WFyQxoPd5AQVbu3mp
 lK6Z07Oh6EWdIspCs8RuS1g/zBm+rQqoKTKQmHc9ZjhbJt8MJZDVSkU9DyDV+bLK
 v+yR1nAha8crABlC7NK9eIP1mcxMfKZEA7fQlbEvN2j0TtHcQwrKQ/qAeGhovOBu
 7otXKDyKDCORkC8L7PWDJjY2VdSQiGj0qctu/YdjxZ+BEe/9DJqS4nBXOxFg0jDm
 bz8yDTSED8+LYgRknmba42ZwyGpzbehSi+xxSB63hnYN31L51XSyQn94w7A0MNcj
 zICKTHnA8kZ+nlIvWENLXTfINBX/MfTdzZcv89mAE+fR72+i9bcdwWxhS+hBA7If
 U5XdfiMsPGuCXXzi3ykGk/PmWzqWSyv5nwZKXlJIhCdJgptr4OS8wYlukLmo0mDk
 MMQ76JKX/5/pCt5g+DHl4YvnaLMGo4HvIfz597CdySufWvJAQQU=
 =sU0C
 -----END PGP SIGNATURE-----

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

Renesas DT binding updates for v6.2

  - Move renesas.yaml from arm to soc, and document RZ/Five support.

* tag 'renesas-dt-bindings-for-v6.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  dt-bindings: soc: renesas: renesas.yaml: Document Renesas RZ/Five SoC
  dt-bindings: soc: renesas: Move renesas.yaml from arm to soc

Link: https://lore.kernel.org/r/cover.1667558749.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 15:00:55 +01:00
Geert Uytterhoeven
553b20b211 m68k: defconfig: Update defconfigs for v6.1-rc1
- Shuffle crypto configuration (cfr. commit  f1f142ad43
    ("crypto: Kconfig - add submenus")).

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Link: https://lore.kernel.org/r/c11de475ba9ba580e7e20cc349919ecfc36c8407.1666026267.git.geert@linux-m68k.org
2022-11-14 14:56:11 +01:00
Arnd Bergmann
6902029ec8 Renesas ARM DT updates for v6.2
- DMA, SPI (MSIOF), external interrupt (INTC-EX), PWM (PWM and TPU),
     SDHI, HyperFLASH/QSPI (RPC), and serial ((H)SCIF) support for the
     R-Car V4H SoC,
   - I/O expander, eMMC, and QSPI FLASH support for the White Hawk
     development board,
   - Preparatory work to share r9a07g043.dtsi between the ARM-based
     RZ/G2UL (R9A07G043U) and the RISC-V-based RZ/Five (R9A07G043F) SoCs,
   - Miscellaneous fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCY2To9AAKCRCKwlD9ZEnx
 cOidAPkBvQIHN6l35LIwlG9OVejdui5xAYjjKZpA24ADyN/DVQD/T9Mso4hQV7pz
 EOL3Nuqdpv1Egt+RXknPHQ6vnJZwawA=
 =77KX
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmNySPIACgkQmmx57+YA
 GNnjpRAAlaSNWp3Er8gJ2oA1Ff92UOA3H4XlfJcrN9pxf9yo0jKQY41Mby8OVttd
 BmMMU9OMEGqvU4MYRYWpZteFMbiMo8QI/FCXQs/PONpZbtL2/OkMwk9P8ppRWDN1
 KraSfzL+b35ZcjqNMNyyEgoxrvL3OhuOJyXQyelyOCuYVZS2mhf7A2xvBbTxw9Tg
 SqA6o1X+5UBTxUBteWjK8CUpJdK/2RPChlQkHKJFZFOgHFyMjjhITvZuDR6enQ9j
 ts4UyE0almw8B2NMtGdqnRfGJWy8eGMVS1B9LXoQegLX74joRX/4dPvM/Ri3Xrrn
 FCfx310kW5e+EXtSmeFSpyxixJfxOHWKHNUoV84OT69BMZUV9t6tfyNMcg6Qgh+U
 05wxZ5XmGTUGGDZWApBxdI0u6iRFtEaZBpGLnnB1r4FsL8qyFicpHdAS5gP+nLu3
 dOM8wVGAr3Q/rdpFjPG/4yKzNwDxdSjRg4GwL53pf8e5dGBapPBIpFi85cCt6hYA
 cKQOdIfHMT11l0Ix0AUO1g37HMk+bZV03qFOCQ++stIaG3XwaekNN+yao/hSK96j
 aFAjXnb+sBjmlXFnGig4hSM3OQBvzPopWbtVeuT1bkL3WhDAhk4GtgRbyRUH4Wlr
 x+cC1iL6VsDfZ5bmtRDwBqSW3y0hLn+1nH6E18vzsRWYo+mn8pw=
 =pf+Q
 -----END PGP SIGNATURE-----

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

Renesas ARM DT updates for v6.2

  - DMA, SPI (MSIOF), external interrupt (INTC-EX), PWM (PWM and TPU),
    SDHI, HyperFLASH/QSPI (RPC), and serial ((H)SCIF) support for the
    R-Car V4H SoC,
  - I/O expander, eMMC, and QSPI FLASH support for the White Hawk
    development board,
  - Preparatory work to share r9a07g043.dtsi between the ARM-based
    RZ/G2UL (R9A07G043U) and the RISC-V-based RZ/Five (R9A07G043F) SoCs,
  - Miscellaneous fixes and improvements.

* tag 'renesas-arm-dt-for-v6.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: (21 commits)
  arm64: dts: renesas: r9a07g043: Split out RZ/G2UL SoC specific parts
  arm64: dts: renesas: r9a07g043: Introduce SOC_PERIPHERAL_IRQ() macro to specify interrupt property
  ARM: dts: renesas: Miscellaneous whitespace fixes
  arm64: dts: renesas: r8a779a0: Update to R-Car Gen4 compatible values
  arm64: dts: renesas: r8a779g0: Add remaining HSCIF nodes
  arm64: dts: renesas: r8a779g0: Add SCIF nodes
  arm64: dts: renesas: white-hawk-cpu: Add QSPI FLASH support
  arm64: dts: renesas: r8a779g0: Add RPC node
  arm64: dts: renesas: white-hawk-cpu: Add eMMC support
  arm64: dts: renesas: r8a779g0: Add SDHI node
  arm64: dts: renesas: rzg2l: Drop WDT2 nodes
  arm64: dts: renesas: r8a779g0: Add TPU device node
  arm64: dts: renesas: r8a779g0: Add PWM device nodes
  arm64: dts: renesas: r8a779g0: Fix HSCIF0 "brg_int" clock
  arm64: dts: renesas: condor-common: Add missing bootargs
  arm64: dts: renesas: white-hawk-cpu: Add PCA9654 I/O Expander
  arm64: dts: renesas: r8a779g0: Add INTC-EX node
  arm64: dts: renesas: r8a779g0: Add MSIOF nodes
  arm64: dts: renesas: r8a779g0: Add DMA support
  arm64: dts: renesas: rzg2ul-smarc: Move spi1 pinmux to carrier board DTSI
  ...

Link: https://lore.kernel.org/r/cover.1667558740.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 14:56:01 +01:00
Chuck Lever
5a01c80544 NFSD: Fix trace_nfsd_fh_verify_err() crasher
Now that the nfsd_fh_verify_err() tracepoint is always called on
error, it needs to handle cases where the filehandle is not yet
fully formed.

Fixes: 93c128e709 ("nfsd: ensure we always call fh_verify_error tracepoint")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
2022-11-14 08:43:35 -05:00
Adam Skladowski
2fd6e1ad7e iommu/arm-smmu-qcom: Add SM6115 support
Add the Qualcomm SM6115 platform to the list of compatible,
this target uses MMU500 for both APSS and GPU.

Signed-off-by: Adam Skladowski <a39.skl@gmail.com>
Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
Link: https://lore.kernel.org/r/20221030094258.486428-6-iskren.chernev@gmail.com
Signed-off-by: Will Deacon <will@kernel.org>
2022-11-14 13:42:32 +00:00
Adam Skladowski
728b22a572 dt-bindings: arm-smmu: Add compatible for Qualcomm SM6115
Add compatible for the Qualcomm SM6115 platform to the ARM SMMU
DeviceTree binding.

Signed-off-by: Adam Skladowski <a39.skl@gmail.com>
Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
Acked-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20221030094258.486428-5-iskren.chernev@gmail.com
Signed-off-by: Will Deacon <will@kernel.org>
2022-11-14 13:42:31 +00:00
Melody Olvera
7b52f53ce1 drivers: arm-smmu-impl: Add QDU1000 and QRU1000 iommu implementation
Add compatible for Qualcomm QDU1000 and QRU1000 SoCs to add iommu
support for them.

Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
Link: https://lore.kernel.org/r/20221026190534.4004945-3-quic_molvera@quicinc.com
Signed-off-by: Will Deacon <will@kernel.org>
2022-11-14 13:39:05 +00:00
Melody Olvera
6313f4b5a4 dt-bindings: arm-smmu: Add 'compatible' for QDU1000 and QRU1000
Add compatible bindings for Qualcomm QDU1000 and QRU1000 platforms.

Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
Link: https://lore.kernel.org/r/20221026190534.4004945-2-quic_molvera@quicinc.com
Signed-off-by: Will Deacon <will@kernel.org>
2022-11-14 13:39:05 +00:00
AngeloGioacchino Del Regno
e1ff91f9d2 pinctrl: mediatek: Fix EINT pins input debounce time configuration
The External Interrupt Controller (EINTC) on all of the supported
MediaTek SoCs does support input debouncing, but not all of them
index the debounce time values (DBNC_SETTING registers) the same way.

Before this change, in some cases, as an example, requesting a debounce
time of 16 milliseconds would mistakenly set the relative DBNC_SETTING
register to 0x2, resulting in a way shorter debounce time of 500uS.

To fix the aforementioned issue, define three different debounce_time
arrays, reflecting the correct register index for each value and for
each register index variant, and make sure that each SoC pinctrl
driver uses the right one.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20221111094106.18486-1-angelogioacchino.delregno@collabora.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2022-11-14 14:20:41 +01:00
Andy Shevchenko
06de519345 pinctrl: Move for_each_maps() to namespace and hide iterator inside
First of all, while for_each_maps() is private to pin control subsystem
it's still better to have it put into a namespace.

Besides that, users are not relying on iterator variable, so hide it
inside for-loop.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20221111120048.42968-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2022-11-14 14:19:33 +01:00
Thierry Reding
5a00473607 pinctrl: tegra: Separate Tegra194 instances
Tegra194 has two separate instances of the pin controller, one called
AON (in the always-on domain) and another called "main". Instead of
treating them as a single pin controller, split them up into two
separate controllers. Doing so allows the mapping between the pinmux
and GPIO controllers to be trivial identity mappings and more cleanly
separates the AON from the main IP blocks.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Link: https://lore.kernel.org/r/20221104142345.1562750-4-thierry.reding@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2022-11-14 14:16:46 +01:00
Bjorn Andersson
b6bcef163a interconnect: qcom: osm-l3: Simplify osm_l3_set()
The aggregation over votes for all nodes in the provider will always
only find the bandwidth votes for the destination side of the path.
Further more, the average kBps value will always be 0.

Simplify the logic by directly looking at the destination node's peak
bandwidth request.

Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Tested-by: Steev Klimaszewski <steev@kali.org>
Reviewed-by: Sibi Sankar <quic_sibis@quicinc.com>
Link: https://lore.kernel.org/r/20221111032515.3460-5-quic_bjorande@quicinc.com
Signed-off-by: Georgi Djakov <djakov@kernel.org>
2022-11-14 15:05:30 +02:00
Bjorn Andersson
9235253ec7 interconnect: qcom: osm-l3: Add per-core EPSS L3 support
The EPSS instance in e.g. SM8350 and SC8280XP has per-core L3 voting
enabled. In this configuration, the "shared" vote is done using the
REG_L3_VOTE register instead of PERF_STATE.

Rename epss_l3 to clarify that it's affecting the PERF_STATE register
and add a new L3_VOTE description. Given platform lineage it's assumed
that the L3_VOTE-based case will be the predominant one, so use this for
a new generic qcom,epss-l3 compatible.

While adding the EPSS generic, also add qcom,osm-l3.

Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Tested-by: Steev Klimaszewski <steev@kali.org>
Reviewed-by: Sibi Sankar <quic_sibis@quicinc.com>
Link: https://lore.kernel.org/r/20221111032515.3460-4-quic_bjorande@quicinc.com
Signed-off-by: Georgi Djakov <djakov@kernel.org>
2022-11-14 15:05:30 +02:00
Bjorn Andersson
d623264f62 interconnect: qcom: osm-l3: Squash common descriptors
Each platform defines their own OSM L3 descriptor, but in practice
there's only two: one for OSM and one for EPSS. Remove the duplicated
definitions.

Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Tested-by: Steev Klimaszewski <steev@kali.org>
Reviewed-by: Sibi Sankar <quic_sibis@quicinc.com>
Link: https://lore.kernel.org/r/20221111032515.3460-3-quic_bjorande@quicinc.com
Signed-off-by: Georgi Djakov <djakov@kernel.org>
2022-11-14 15:05:30 +02:00
Bjorn Andersson
4529992c94 interconnect: qcom: osm-l3: Use platform-independent node ids
The identifiers used for nodes needs to be unique in the running system,
but defining them per platform results in a lot of duplicated
definitions and prevents us from using generic compatibles.

As these identifiers are not exposed outside the kernel, change to use
driver-local numbers, picked completely at random.

Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Tested-by: Steev Klimaszewski <steev@kali.org>
Reviewed-by: Sibi Sankar <quic_sibis@quicinc.com>
Link: https://lore.kernel.org/r/20221111032515.3460-2-quic_bjorande@quicinc.com
Signed-off-by: Georgi Djakov <djakov@kernel.org>
2022-11-14 15:05:30 +02:00
Dmitry Osipenko
6d0bfef7da drm/gem-vram: Fix deadlock in drm_gem_vram_vmap()
Recently DRM framebuffer core and all drivers were moved to unlocked
vmapping functions that take the reservation lock. The drm_gem_vram_vmap()
was missed out by accident and now deadlocks drivers that use drm_gem_vram
helpers when framebuffer is updated, like Bochs driver. Remove the locking
from drm_gem_vram_v[un]map() functions to fix the deadlock.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Fixes: 79e2cf2e7a ("drm/gem: Take reservation lock for vmap/vunmap operations")
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20221113233850.427704-1-dmitry.osipenko@collabora.com
2022-11-14 15:55:21 +03:00
ruanjinjie
c53717e1e3 xen/platform-pci: add missing free_irq() in error path
free_irq() is missing in case of error in platform_pci_probe(), fix that.

Signed-off-by: ruanjinjie <ruanjinjie@huawei.com>
Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Link: https://lore.kernel.org/r/20221114112124.1965611-1-ruanjinjie@huawei.com
Signed-off-by: Juergen Gross <jgross@suse.com>
2022-11-14 13:29:14 +01:00
Marek Marczykowski-Górecki
5e29500eba xen-pciback: Allow setting PCI_MSIX_FLAGS_MASKALL too
When Xen domain configures MSI-X, the usual approach is to enable MSI-X
together with masking all of them via the config space, then fill the
table and only then clear PCI_MSIX_FLAGS_MASKALL. Allow doing this via
QEMU running in a stub domain.

Previously, when changing PCI_MSIX_FLAGS_MASKALL was not allowed, the
whole write was aborted, preventing change to the PCI_MSIX_FLAGS_ENABLE
bit too.

Note the Xen hypervisor intercepts this write anyway, and may keep the
PCI_MSIX_FLAGS_MASKALL bit set if it wishes to. It will store the
guest-requested state and will apply it eventually.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Link: https://lore.kernel.org/r/20221114103110.1519413-1-marmarek@invisiblethingslab.com
Signed-off-by: Juergen Gross <jgross@suse.com>
2022-11-14 13:29:10 +01:00
Yang Yingliang
da36a2a76b xen/pcpu: fix possible memory leak in register_pcpu()
In device_add(), dev_set_name() is called to allocate name, if it returns
error, the name need 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: f65c9bb3fb ("xen/pcpu: Xen physical cpus online/offline sys interface")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/20221110152441.401630-1-yangyingliang@huawei.com
Signed-off-by: Juergen Gross <jgross@suse.com>
2022-11-14 13:29:07 +01:00
Christophe JAILLET
639b2e2ff1 x86/xen: Use kstrtobool() instead of strtobool()
strtobool() is the same as kstrtobool().
However, the latter is more used within the kernel.

In order to remove strtobool() and slightly simplify kstrtox.h, switch to
the other function name.

While at it, include the corresponding header file (<linux/kstrtox.h>)

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Link: https://lore.kernel.org/r/e91af3c8708af38b1c57e0a2d7eb9765dda0e963.1667336095.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Juergen Gross <jgross@suse.com>
2022-11-14 13:29:01 +01:00
Sami Tolvanen
2598ac6ec4 arm64: ftrace: Define ftrace_stub_graph only with FUNCTION_GRAPH_TRACER
The 0-day bot reports that arm64 builds with CONFIG_CFI_CLANG +
CONFIG_FTRACE are broken when CONFIG_FUNCTION_GRAPH_TRACER is not
enabled:

 ld.lld: error: undefined symbol: __kcfi_typeid_ftrace_stub_graph
 >>> referenced by entry-ftrace.S:299 (arch/arm64/kernel/entry-ftrace.S:299)
 >>>               arch/arm64/kernel/entry-ftrace.o:(.text+0x48) in archive vmlinux.a

This is caused by ftrace_stub_graph using SYM_TYPE_FUNC_START when
the address of the function is not taken in any C translation unit.

Fix the build by only defining ftrace_stub_graph when it's actually
needed, i.e. with CONFIG_FUNCTION_GRAPH_TRACER.

Link: https://lore.kernel.org/lkml/202210251659.tRMs78RH-lkp@intel.com/
Fixes: 883bbbffa5 ("ftrace,kcfi: Separate ftrace_stub() and ftrace_stub_graph()")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Link: https://lore.kernel.org/r/20221109192831.3057131-1-samitolvanen@google.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2022-11-14 12:28:52 +00:00
Russell King (Oracle)
f424f2c184 ARM: findbit: add unwinder information
Add unwinder information so oops in the findbit functions can create a
proper backtrace.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2022-11-14 12:00:58 +00:00
Russell King (Oracle)
2511d032f0 ARM: findbit: operate by words
Convert the implementations to operate on words rather than bytes
which makes bitmap searching faster.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2022-11-14 12:00:58 +00:00
Russell King (Oracle)
2953a3e187 ARM: findbit: convert to macros
Since the pairs of _find_first and _find_next functions are pretty
similar, use macros to generate this code. This commit does not
change the generated code.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2022-11-14 12:00:58 +00:00
Russell King (Oracle)
bceab1431e ARM: findbit: provide more efficient ARMv7 implementation
Provide a more efficient ARMv7 implementation to determine the first
set bit in the supplied value.

Signed-off-by: Russell King (Oracle) <rmk@armlinux.org.uk>
2022-11-14 12:00:58 +00:00
Russell King (Oracle)
7e0093870e ARM: findbit: document ARMv5 bit offset calculation
Document the ARMv5 bit offset calculation code.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2022-11-14 12:00:57 +00:00
Li Huafei
9fbed16c3f ARM: 9259/1: stacktrace: Convert stacktrace to generic ARCH_STACKWALK
Historically architectures have had duplicated code in their stack trace
implementations for filtering what gets traced. In order to avoid this
duplication some generic code has been provided using a new interface
arch_stack_walk(), enabled by selecting ARCH_STACKWALK in Kconfig, which
factors all this out into the generic stack trace code. Convert ARM to
use this common infrastructure.

When initializing the stack frame of the current task, arm64 uses
__builtin_frame_address(1) to initialize the frame pointer, skipping
arch_stack_walk(), see the commit c607ab4f91 ("arm64: stacktrace:
don't trace arch_stack_walk()"). Since __builtin_frame_address(1) does
not work on ARM, unwind_frame() is used to unwind the stack one layer
forward before calling walk_stackframe().

Signed-off-by: Li Huafei <lihuafei1@huawei.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2022-11-14 12:00:57 +00:00