Commit graph

2890 commits

Author SHA1 Message Date
Arnd Bergmann
c3fe295c2e Powerdomain drivers for rv1126 and rk3588 socs, keep current state of
power-domains instead of always enabling when adding them, add rv1126
 io domains and add binding for another "general register files" syscon.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmMb4uEQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgZ3iB/4wlzvfB7fEZFjydhKp3hgXn/1Q1fkGZWtP
 JHhQC5NS1jd1IRTFr4PNx5Imp9He0CqCnNbgXf9D/3lbJbK5q2GydZ+ir68fJ3KS
 lu8kMrbeR3FAWq2PWHswDz+ttziKNjLb7x6o30+oBfGAhMq9bRrg9f65Q9dNCHEe
 xQy4lXP+LYHlYZRYN1k9MYD5oetYmFQAmCamR1dwzX/QiyI/zj36/IaVk5LT/Ywn
 nyF6HR+6pESMSuTpBgLEWPoolMS9LWu4iYXU3j3py8AwZzq4ukC9v8uH28DOlVa7
 FPAAk/33eRqnzX7oTnvyGzJH0FYMA60BkHtW5jDaQPSCcuaMGYiT
 =aXMw
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmMfS4YACgkQmmx57+YA
 GNk8zQ//f7xINfYva0Ptx2tHORVn/ei5t5yZ4enroZO+8LdDX6AyDAu03PAvfEAn
 DughmkIyCwQVZWjKJCAqh5j4PP8IVDRFHw2PZtjNuTXMrXUB4X9AsQXzY5anayr/
 E8ebMoYSZAujlVhzl+0Eoq0OkXkF5OKmYLoXD4X1CrDjbEDYmkl3OUR+e39JGYH7
 NWyh+pnR+z9zi00GGyy79n/I8hDmy+8STJrySw9oZxFyq6IFbelVuMPrbUK5PUZb
 v1Xb3cRpybraO7IGhYzkSTbbZbGqz6pUAea0JeAtdrAqNGM9JDeCXF0x5hfth/9l
 RpU+P2NPAV2D3LO0rcwJSDoraJ1TSg26M/Ou+zM2GgR+y6uRKSdkDk3dx4FlBx4G
 XrAsAgBV8ak5AvWsD4W1WXHHu7EqdMHBoTwZVlVUT79IJlZM0EvXtTtgiI5HM7Gl
 5F/Ybl1FdmDzP1L11UCKCnxBYgTDaiHwT598s8G4bKlmsKBYo/yP1jKwA4weVOdv
 W36yPe3DqK9xkt/zkpJHf+mW9aj7Ib3Bp2ET/K8Rky0BFHjFSKHz/nutkHpxmibD
 psUFyrBuHx/Owqj0F1HXsXPpvZDrlkwdphVN9YA2yZM1h52IEkUyVJvjfJhlN0E1
 kuLfxJycqTNJJlHYTgUaZR0lphwZYafiOnmgIqfqxTmIR8dPZL4=
 =niMz
 -----END PGP SIGNATURE-----

Merge tag 'v6.1-rockchip-drivers1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/drivers

Powerdomain drivers for rv1126 and rk3588 socs, keep current state of
power-domains instead of always enabling when adding them, add rv1126
io domains and add binding for another "general register files" syscon.

* tag 'v6.1-rockchip-drivers1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  soc: rockchip: power-domain: add power domain support for rk3588
  soc: rockchip: power-domain: do not enable domain when adding it
  dt-bindings: power: rockchip: Add bindings for rk3588
  dt-bindings: arm: rockchip: add rk5388 compatible string to pmu.yaml
  dt-bindings: power: add power-domain header for rk3588
  soc: rockchip: io-domain: Add RV1126 IO domains
  dt-bindings: power: rockchip: Document RV1126 PMU IO domains
  soc: rockchip: power-domain: Add RV1126 power domains
  dt-bindings: power: rockchip: Document RV1126 power-controller
  dt-bindings: power: Add power-domain header for RV1126
  dt-bindings: soc: grf: add pcie30-{phy,pipe}-grf

Link: https://lore.kernel.org/r/2252399.ElGaqSPkdT@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-09-12 17:08:54 +02:00
Finley Xiao
6541b424ce soc: rockchip: power-domain: add power domain support for rk3588
This driver is modified to support RK3588 SoCs.

Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
[port of downstream code incl. merging in fixes]
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20220906143825.199089-7-sebastian.reichel@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2022-09-09 19:06:41 +02:00
Elaine Zhang
47bceb7cda soc: rockchip: power-domain: do not enable domain when adding it
It's not need to power on all pd when add pm domain. Instead
use PD's real status in pm_genpd_init().

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20220906143825.199089-6-sebastian.reichel@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2022-09-09 19:06:40 +02:00
Samuel Holland
e3c95edb1b soc: sunxi: sram: Fix debugfs info for A64 SRAM C
The labels were backward with respect to the register values. The SRAM
is mapped to the CPU when the register value is 1.

Fixes: 5e4fb64297 ("drivers: soc: sunxi: add support for A64 and its SRAM C")
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Samuel Holland <samuel@sholland.org>
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20220815041248.53268-7-samuel@sholland.org
2022-09-08 22:28:42 +02:00
Samuel Holland
49fad91a7b soc: sunxi: sram: Fix probe function ordering issues
Errors from debugfs are intended to be non-fatal, and should not prevent
the driver from probing.

Since debugfs file creation is treated as infallible, move it below the
parts of the probe function that can fail. This prevents an error
elsewhere in the probe function from causing the file to leak. Do the
same for the call to of_platform_populate().

Finally, checkpatch suggests an octal literal for the file permissions.

Fixes: 4af34b572a ("drivers: soc: sunxi: Introduce SoC driver to map SRAMs")
Fixes: 5828729beb ("soc: sunxi: export a regmap for EMAC clock reg on A64")
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Samuel Holland <samuel@sholland.org>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20220815041248.53268-6-samuel@sholland.org
2022-09-08 22:28:03 +02:00
Samuel Holland
90e10a1fcd soc: sunxi: sram: Prevent the driver from being unbound
This driver exports a regmap tied to the platform device (as opposed to
a syscon, which exports a regmap tied to the OF node). Because of this,
the driver can never be unbound, as that would destroy the regmap. Use
builtin_platform_driver_probe() to enforce this limitation.

Fixes: 5828729beb ("soc: sunxi: export a regmap for EMAC clock reg on A64")
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20220815041248.53268-5-samuel@sholland.org
2022-09-08 22:27:24 +02:00
Samuel Holland
fd362baad2 soc: sunxi: sram: Actually claim SRAM regions
sunxi_sram_claim() checks the sram_desc->claimed flag before updating
the register, with the intent that only one device can claim a region.
However, this was ineffective because the flag was never set.

Fixes: 4af34b572a ("drivers: soc: sunxi: Introduce SoC driver to map SRAMs")
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20220815041248.53268-4-samuel@sholland.org
2022-09-08 22:25:38 +02:00
Paolo Abeni
9f8f1933dc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
drivers/net/ethernet/freescale/fec.h
  7d650df99d ("net: fec: add pm_qos support on imx6q platform")
  40c79ce13b ("net: fec: add stop mode support for imx8 platform")

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2022-09-08 18:38:30 +02:00
Arnd Bergmann
3e3dcb464c Amlogic Drivers changes for v6.1:
- Hold reference returned by of_get_parent() in meson_pwrc
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmMV/tcACgkQd9zb2sjI
 SdF8ahAAptU1Uwy3jQIzp+A6mDpTRLDP++yFPygNBkCiLi2PukPQBAnFKYjujpx2
 ygk2ECU5DO4xBL8IdAVabz7CI9uAoIdmCgKi3nMiaLjeIDhWpgLhEc2t4B9mD4Nf
 Vh5c904guPUoa4cOZK8K2obpSIpDS1WfvFRv8X9DR9oYhVGrvQYgEm9cPsyEZIMy
 wBHkVIh0m1NJ4fn9JSeps7Fo5zVKjsoLeN5QAUkl0A4sbXddJAAYhVqzsIHt8FSy
 Zl/FOckoSH8nxYws+rcaUqv1qcVUJ1cAM018NFtN8DwFJvOGnHFGJ1qgZVlKB+sV
 JyLFJeJRt4naF84oLLO7R0IORV7GLJ+i4vxmTHbGZKS0dXb81oPBjz56N/CbZMCN
 yf2gIyMi8aaDSN1IWtyQIJiI8bWu7o3kKhrbwRJIIjSkIMZCa/UXNqP7WWMCZs0y
 Va7Dmfjb7WsrHtFK7pKU0h4jYBjA/Ry5KvrI+n4WiVOdKKkaxD3hNZT8y5IczOkD
 fhIOm8yZNeOJxkK5jGNWdrDeCiksEg/Tag6DkasaOeLq8mb67AU01mYqmnPshvfu
 Vu+BRodnjAuosF6Dlmr9pes+/f8S0zdcj98V1iowtzo8ijhpWx/zdPvVmgLnm1Jb
 wCeSTKsoj5FjutWY7eLMxWib1fOI0pec3hfU8bwedbjg0QgA7cw=
 =0oZH
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmMZ9lwACgkQmmx57+YA
 GNnhLg/+KLYuNXk0Tt7pOP1N7nchT7FZnsHOhGyeRS1NVxnVInOS7KAunav1+66/
 Q2KQuo2WQJ5wAw408vtXQqiIokUcGz2cfoipA/0JQpe0m0P+HESiNj8MtBGd60cH
 IYEJ/BpInRp6lTvnYxlmYocoa20i3h622zTS00ZoqctkYjkLItr2qwDfB2ENMioU
 etg2r5J+I/W7cinFvaraGp/qaNeLZh9XMGCe3C7vOSjWuT+Ewg2Z0XOrZeiLjWgo
 teCYBj7POKoBXkT6+HGKGpXuZunMMoWxViuEp1bst4NwRaPVavKJ4tLggvrX8zjI
 FLftyi78oPz6czrrHsapez7EqwOnu8BFWMdjDkCN/5fi366iYrutQy7upRi5XOzV
 PeCMbbrV0HbMoSgwRQ8uH0IbOWDo0kF6Q3P14pqk2rBM64f8yaMpTPrOmUrourCY
 bUwC7iY8LjYDLZO5TpFLWYxNhrFnPmY8GnDSIqokf5qXG21+E7AAZ48RPUMMDcEo
 VPr0+w8xg8dxrVyScJXmCeX3mDdbsu0ET6D1wGsbUl4tNvCE5X1pEa0qd6SV6gIM
 knTQh5Izo1o4MN8abNgEVIURQ08lAhLzniLf9eTdhI2L3GlPKRzxaVVfO0TlEkdh
 8oE9lnar6ECFHe7Vem9diuCRXdd5SJFncoT/DEaVsaMg0v+wU9Y=
 =HzXE
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-drivers-for-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into arm/drivers

Amlogic Drivers changes for v6.1:
- Hold reference returned by of_get_parent() in meson_pwrc

* tag 'amlogic-drivers-for-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  soc: amlogic: meson-pwrc: Hold reference returned by of_get_parent()

Link: https://lore.kernel.org/r/ea093c00-a4bb-fb80-3430-71916b2853f8@baylibre.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-09-08 16:04:12 +02:00
Rajendra Nayak
cdad59c2d8 soc: qcom: icc-bwmon: force clear counter/irq registers
In some SoCs we have to force clear the counter/irq clear registers as
they are not self clearing after they are written into.
sc7280 seems to be one such SoC, handle this with a quirk flag.

Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220902043511.17130-4-quic_rjendra@quicinc.com
2022-09-05 21:51:08 -05:00
Rajendra Nayak
1335fc5b24 soc: qcom: icc-bwmon: add support for sc7280 LLCC BWMON
Add support for sc7280 BWMON instance measuring traffic between LLCC and
memory with the v5 register layout.

Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220902043511.17130-3-quic_rjendra@quicinc.com
2022-09-05 21:51:08 -05:00
Sean Anderson
914f8b228e soc: fsl: qbman: Add CGR update function
This adds a function to update a CGR with new parameters. qman_create_cgr
can almost be used for this (with flags=0), but it's not suitable because
it also registers the callback function. The _safe variant was modeled off
of qman_cgr_delete_safe. However, we handle multiple arguments and a return
value.

Signed-off-by: Sean Anderson <sean.anderson@seco.com>
Acked-by: Camelia Groza <camelia.groza@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-09-05 14:27:39 +01:00
Sean Anderson
d0e17a4653 soc: fsl: qbman: Add helper for sanity checking cgr ops
This breaks out/combines get_affine_portal and the cgr sanity check in
preparation for the next commit. No functional change intended.

Signed-off-by: Sean Anderson <sean.anderson@seco.com>
Acked-by: Camelia Groza <camelia.groza@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-09-05 14:27:39 +01:00
Jianqun Xu
570ed4e5b0 soc: rockchip: io-domain: Add RV1126 IO domains
Add IO domains support for RV1126 SoC.

Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Signed-off-by: Jagan Teki <jagan@edgeble.ai>
Link: https://lore.kernel.org/r/20220818124132.125304-6-jagan@edgeble.ai
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2022-09-05 11:53:47 +02:00
Jagan Teki
66296e0a31 soc: rockchip: power-domain: Add RV1126 power domains
Add power domains support for RV1126 SoC.

Cypto, VO and NPU domains will add it future patches.

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Signed-off-by: Jagan Teki <jagan@edgeble.ai>
Link: https://lore.kernel.org/r/20220818124132.125304-4-jagan@edgeble.ai
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2022-09-05 11:53:46 +02:00
Liang He
9491cff16a soc: amlogic: meson-pwrc: Hold reference returned by of_get_parent()
We should hold the reference returned by of_get_parent() and use
it to call of_node_put() for refcount balance.

Signed-off-by: Liang He <windhl@126.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://lore.kernel.org/r/20220726073841.1320509-1-windhl@126.com
2022-09-05 09:23:54 +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
Allen-KH Cheng
21370ecddf soc: mediatek: mutex: Add mt8186 mutex mod settings for mdp3
Add mt8186 mutex mod settings for mdp3.

Co-developed-by: Xiandong Wang <xiandong.wang@mediatek.com>
Signed-off-by: Xiandong Wang <xiandong.wang@mediatek.com>
Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220831172151.10215-3-allen-kh.cheng@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-08-31 21:27:30 +02:00
Christophe JAILLET
385ba16dbf soc: mediatek: pm-domains: Simplify some error message
dev_err_probe() already prints the error code in a human readable way, so
there is no need to duplicate it as a numerical value at the end of the
message.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/e6ba80d8e27fdb2b1527c7eae6687e481960c81d.1659735996.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-08-31 15:07:56 +02:00
Nícolas F. R. A. Prado
9d0d887ac7 soc: mediatek: mtk-svs: Explicitly include bitfield header
Commit a92438c5a3 ("soc: mediatek: mtk-svs: Use bitfield access macros
where possible") introduced the use of FIELD_GET and FIELD_PREP macros,
which are defined in the bitfield header. Add an explicit include for it
so we're sure to have the symbols defined independently of the config.

Fixes: a92438c5a3 ("soc: mediatek: mtk-svs: Use bitfield access macros where possible")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220829204439.3748648-1-nfraprado@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-08-30 10:56:22 +02:00
Bjorn Andersson
d820048361 v6.0-rc1 +
20220825043859.30066-2-manivannan.sadhasivam@linaro.org +
 20220825043859.30066-3-manivannan.sadhasivam@linaro.org
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmMNdEEVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FkiYP/02o4/t9/60E7vEDZBZLOE30P51d
 ehSqeBmb1Pah5nC2OaLNW4LYw9dBX7zWSCWFgV/be6WhUnOGpNawfpG8kF2bZsXg
 Z4uBoUm3dYQh8R0K88d3dgYOVEwrtO8mItRPw5iwnaqjDOcBiDX2EBbr05sp3TUe
 sh8hr9HbtN6SRrwKHHWi6oyh7oieflJfBw7yJxPWPfsCIGcpC6GiYuherbCbX9TC
 9rr2m6DluwfS5OEIbQ8i9i1KKouNCEEec/Gn6Gq11SmveufUvjI053XEkD0lr2FB
 ibpiku8LVDS9FXmKm8kDpiP3SYTL/UAFJPzbj0oJfCNSWKyjmeYjg1XCGYU19LHR
 YqmS6znHoTDj6DaFnIs2eVXwW7N51f3b3LRjdWBVwKoYqQHdKXYPSiKxV9fjq7il
 LFIuJoYBwvnoawk3AGK8xyiE24aKYevze2qz3xK7X6lJLKSd3ywDkG6s63ZZcm8N
 B5E4vILXVe/SvGajuJSdYmFlVTi5SPCGxfA8MhaSTx9SGKebMEtczhPnrwqtFr0o
 0H22dBoDhk/TNzI6giJUvPQPA5ii6/gUEbV7rJPpkOWoMsSHoV7fD9PdUItLfoZP
 IBmsBmvl0BiP0xx/DEgiSJz6f6xnbvwbBl+Ig9d320TuBOsIEq+vmQzmoDS4DwGB
 Ye2ddphnXqRNV/Wp
 =nFe6
 -----END PGP SIGNATURE-----

Merge tag '20220825043859.30066-3-manivannan.sadhasivam@linaro.org' into drivers-for-6.1

v6.0-rc1 +
20220825043859.30066-2-manivannan.sadhasivam@linaro.org +
20220825043859.30066-3-manivannan.sadhasivam@linaro.org

Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2022-08-29 21:22:56 -05:00
Manivannan Sadhasivam
c13d7d261e soc: qcom: llcc: Pass LLCC version based register offsets to EDAC driver
The LLCC EDAC register offsets varies between each SoCs. Until now, the
EDAC driver used the hardcoded register offsets. But this caused crash
on SM8450 SoC where the register offsets has been changed.

So to avoid this crash and also to make it easy to accommodate changes for
new SoCs, let's pass the LLCC version specific register offsets to the
EDAC driver.

Currently, two set of offsets are used. One is starting from LLCC version
v1.0.0 used by all SoCs other than SM8450. For SM8450, LLCC version
starting from v2.1.0 is used.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Sai Prakash Ranjan <quic_saipraka@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220825043859.30066-3-manivannan.sadhasivam@linaro.org
2022-08-29 21:20:20 -05:00
Manivannan Sadhasivam
5365cea199 soc: qcom: llcc: Rename reg_offset structs to reflect LLCC version
The register offsets used by the LLCC block retains its layout for multiple
versions. For instance, starting from version v1.0.0 to v2.0.1 the offsets
are same. And starting from v2.1.0, the offsets changed.

But the current reg_offset naming convention is confusing. So to reflect
this change correctly in driver, let's encode the start version from which
the offsets got changed in reg_offset struct name. This will be
llcc_v1_reg_offset for v1.0.0 and llcc_v2_1_reg_offset for v2.1.0.
This will allow multiple SoCs to use the same reg_offset clearly.

And in the future if the offsets got changed again, then that specific
version could be encoded in the struct name.

Suggested-by: Sai Prakash Ranjan <quic_saipraka@quicinc.com>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Sai Prakash Ranjan <quic_saipraka@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220825043859.30066-2-manivannan.sadhasivam@linaro.org
2022-08-29 21:20:20 -05:00
Jeff Johnson
ff6d365898 soc: qcom: qmi: use const for struct qmi_elem_info
Currently all usage of struct qmi_elem_info, which is used to define
the QMI message encoding/decoding rules, does not use const. This
prevents clients from registering const arrays. Since these arrays are
always pre-defined, they should be const, so add the const qualifier
to all places in the QMI interface where struct qmi_elem_info is used.

Once this patch is in place, clients can independently update their
pre-defined arrays to be const, as demonstrated in the QMI sample
code.

Signed-off-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220822153435.7856-1-quic_jjohnson@quicinc.com
2022-08-29 17:33:01 -05:00
Jinpeng Cui
7eb89c17ab soc: qcom: icc-bwmon: remove redundant ret variable
Return value from devm_regmap_field_bulk_alloc() 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>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220823133620.211902-1-cui.jinpeng2@zte.com.cn
2022-08-29 17:30:27 -05:00
Abel Vesa
0425c5c6eb soc: qcom: stats: Add SDM845 stats config and compatible
SDM845 is a special case compared to the other platforms that use RPMh
stats, since it only has 2 stats (aosd and cxsd), while the others have
a 3rd one (ddr).

So lets add dedicated stats config and compatible for SDM845 to make the
driver aware of this num_records difference.

Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220812101240.1869605-2-abel.vesa@linaro.org
2022-08-29 16:38:52 -05:00
YueHaibing
0e5732e4d5 soc: qcom: Make QCOM_RPMPD depend on OF
WARNING: unmet direct dependencies detected for PM_GENERIC_DOMAINS_OF
  Depends on [n]: PM_GENERIC_DOMAINS [=y] && OF [=n]
  Selected by [m]:
  - QCOM_RPMPD [=m] && PM [=y] && QCOM_SMD_RPM [=m]

PM_GENERIC_DOMAINS_OF depends on OF, so QCOM_RPMPD also depends on it.

Fixes: 7d0221fb59 ("soc/qcom: Make QCOM_RPMPD select PM_GENERIC_DOMAINS/_OF")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220820113202.23940-1-yuehaibing@huawei.com
2022-08-29 16:18:29 -05:00
Liang He
1085f50806 soc: brcmstb: pm-arm: Fix refcount leak and __iomem leak bugs
In brcmstb_pm_probe(), there are two kinds of leak bugs:

(1) we need to add of_node_put() when for_each__matching_node() breaks
(2) we need to add iounmap() for each iomap in fail path

Fixes: 0b741b8234 ("soc: bcm: brcmstb: Add support for S2/S3/S5 suspend states (ARM)")
Signed-off-by: Liang He <windhl@126.com>
Link: https://lore.kernel.org/r/20220707015620.306468-1-windhl@126.com
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2022-08-29 10:30:22 -07:00
AngeloGioacchino Del Regno
a92438c5a3 soc: mediatek: mtk-svs: Use bitfield access macros where possible
In order to enhance readability and safety during registers setup
and value retrieval, redefine a few register related macros and
convert all open-coded instances of bitfield setting/retrieval
to use the FIELD_PREP() and FIELD_GET() macros.
While at it, some macros were renamed to further enhance readability.

This commit brings no functional changes.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Link: https://lore.kernel.org/r/20220825184616.2118870-3-nfraprado@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-08-26 17:32:12 +02:00
AngeloGioacchino Del Regno
43819e3853 soc: mediatek: mtk-svs: Commonize t-calibration-data fuse array read
Commonize the repeating pattern for reading the "t-calibration-data"
efuse data in a new function svs_thermal_efuse_get_data(), reducing
the size of this driver.

No functional changes.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Link: https://lore.kernel.org/r/20220825184616.2118870-2-nfraprado@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-08-26 17:32:12 +02:00
AngeloGioacchino Del Regno
02aace9be3 soc: mediatek: mtk-svs: Use devm variant for dev_pm_opp_of_add_table()
In error cases, this driver never calls dev_pm_opp_of_remove_table():
instead of doing that, simple switch to a devm variant, which will
automagically do that for us.

Fixes: 681a02e950 ("soc: mediatek: SVS: introduce MTK SVS engine")
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220726141653.177948-6-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-08-25 15:27:57 +02:00
AngeloGioacchino Del Regno
1cd80c0678 soc: mediatek: mtk-svs: Drop of_match_ptr() for of_match_table
If CONFIG_OF is not set, we get a -Wunused-const-variable: dropping
of_match_ptr() solves that issue.

Fixes: 681a02e950 ("soc: mediatek: SVS: introduce MTK SVS engine")
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220726141653.177948-5-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-08-25 15:27:51 +02:00
AngeloGioacchino Del Regno
93cd9b3e60 soc: mediatek: mtk-svs: Remove hardcoded irqflags
The interrupt flags are specified in devicetree: forcing them into
the driver is suboptimal and not very useful.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220726141653.177948-4-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-08-25 15:27:46 +02:00
AngeloGioacchino Del Regno
2efddd28a2 soc: mediatek: mtk-svs: Switch to platform_get_irq()
Instead of using irq_of_parse_and_map() to retrieve the interrupt from
devicetree, switch to platform_get_irq() instead: this function will
conveniently also write an error message in case the irq is not found.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220726141653.177948-3-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-08-25 15:26:18 +02:00
Jean Delvare
2778caedb5 soc: mediatek: Let PMIC Wrapper and SCPSYS depend on OF
With the following configuration options:
CONFIG_OF is not set
CONFIG_MTK_PMIC_WRAP=y
CONFIG_MTK_SCPSYS=y
we get the following build warnings:

  CC      drivers/soc/mediatek/mtk-pmic-wrap.o
drivers/soc/mediatek/mtk-pmic-wrap.c:2138:34: warning: ‘of_pwrap_match_tbl’ defined but not used [-Wunused-const-variable=]
drivers/soc/mediatek/mtk-pmic-wrap.c:1953:34: warning: ‘of_slave_match_tbl’ defined but not used [-Wunused-const-variable=]
  CC      drivers/soc/mediatek/mtk-scpsys.o
drivers/soc/mediatek/mtk-scpsys.c:1084:34: warning: ‘of_scpsys_match_tbl’ defined but not used [-Wunused-const-variable=]

Looking at the code, both drivers can only bind to OF-defined device
nodes, so these drivers are useless without OF and should therefore
depend on it.

Also drop of_match_ptr() from both drivers. We already know what it
will resolve to, so we might as well save cpp some work.

Developers or QA teams who wish to test-build the code can still do
so by enabling CONFIG_OF, which is available on all architectures and
has no dependencies.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reported-by: kernel test robot <lkp@intel.com>
Link: https://lore.kernel.org/all/202207240252.ZY5hSCNB-lkp@intel.com/
Cc: Matthias Brugger <matthias.bgg@gmail.com>
Cc: Chenglin Xu <chenglin.xu@mediatek.com>
Link: https://lore.kernel.org/r/20220730144833.0a0d9825@endymion.delvare
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-08-25 15:20:31 +02:00
Marek Vasut
df88005bd8 soc: imx: gpcv2: Assert reset before ungating clock
In case the power domain clock are ungated before the reset is asserted,
the system might freeze completely. This is likely due to a device is an
undefined state being attached to bus, which sporadically leads to a bus
hang. Assert the reset before the clock are enabled to assure the device
is in defined state before being attached to bus.

Fixes: fe58c887fb ("soc: imx: gpcv2: add support for optional resets")
Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2022-08-21 21:34:48 +08:00
Konrad Dybcio
5257841aaa soc: qcom: socinfo: Add PM6125 ID
PM6125 has the ID 45. Add it.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220723100225.92053-2-konrad.dybcio@somainline.org
2022-08-18 14:13:46 -05:00
Konrad Dybcio
fd40048901 soc: qcom: socinfo: Add an ID for SM6375
Add an ID for SM6375, also known as BLAIR.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220723100225.92053-1-konrad.dybcio@somainline.org
2022-08-18 14:13:46 -05:00
Liang He
90681f53b9 soc: qcom: smem_state: Add refcounting for the 'state->of_node'
In qcom_smem_state_register() and qcom_smem_state_release(), we
should better use of_node_get() and of_node_put() for the reference
creation and destruction of 'device_node'.

Fixes: 9460ae2ff3 ("soc: qcom: Introduce common SMEM state machine code")
Signed-off-by: Liang He <windhl@126.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220721135217.1301039-2-windhl@126.com
2022-08-18 14:13:46 -05:00
Liang He
af8f6f39b8 soc: qcom: smsm: Fix refcount leak bugs in qcom_smsm_probe()
There are two refcount leak bugs in qcom_smsm_probe():

(1) The 'local_node' is escaped out from for_each_child_of_node() as
the break of iteration, we should call of_node_put() for it in error
path or when it is not used anymore.
(2) The 'node' is escaped out from for_each_available_child_of_node()
as the 'goto', we should call of_node_put() for it in goto target.

Fixes: c97c4090ff ("soc: qcom: smsm: Add driver for Qualcomm SMSM")
Signed-off-by: Liang He <windhl@126.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220721135217.1301039-1-windhl@126.com
2022-08-18 14:13:46 -05:00
Krzysztof Kozlowski
14af4ce084 soc: qcom: icc-bwmon: add support for SDM845 LLCC BWMON
The SDM845 comes with few instances of Bandwidth Monitor.  The already
supported one monitors traffic between CPU and Last Level Cache
Controller (LLCC) and in downstream sources is called BWMON v4 (or v4 of
register layout).

SDM845 also has also BWMON instance measuring traffic between LLCC and
memory with different register layout: called v5.

Add support for this "LLCC" BWMON.  Differences against existing v4 one:
1. No global interrupts.
2. Different register layout.
3. Different shift of interrupt fields.
4. Smaller sampling window.

Cc: Rajendra Nayak <quic_rjendra@quicinc.com>
Cc: Sibi Sankar <quic_sibis@quicinc.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Tested-by: Steev Klimaszewski <steev@kali.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220728113748.170548-10-krzysztof.kozlowski@linaro.org
2022-08-18 14:13:46 -05:00
Krzysztof Kozlowski
e6f34184dd soc: qcom: icc-bwmon: add per-variant quirks
BWMON v5 lacks global interrupt registers.  Other BWMON versions differ
as well, so add quirks for easier customization of code flow.

Cc: Rajendra Nayak <quic_rjendra@quicinc.com>
Cc: Sibi Sankar <quic_sibis@quicinc.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Tested-by: Steev Klimaszewski <steev@kali.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220728113748.170548-9-krzysztof.kozlowski@linaro.org
2022-08-18 14:13:46 -05:00
Krzysztof Kozlowski
ec63dcd3c8 soc: qcom: icc-bwmon: use regmap and prepare for BWMON v5
Refactor the code to prepare it for supporting BWMON v5 which comes with
different register layout by:
1. Adding use of MMIO regmap and regmap fields which allows to keep one
   code logic with different register maps.
2. The "clear" type registers do not allow reading, therefore regmap
   requires using cache with default values.
3. regmap has an effect of introducing barriers after each readl/writel,
   which should negligible effect as only few writes were relaxed.
4. Additionally usage of regmap fields removes need of shifting the
   register values.
5. Add "V4" prefix to names of all defines with register addresses (so
   BWMON_V4_xxx) to differentiate it from V5.  The actual register values
   are shared so keep their naming.
6. While changing the defines, pad register addresses to three digits
   for readability.

Cc: Rajendra Nayak <quic_rjendra@quicinc.com>
Cc: Sibi Sankar <quic_sibis@quicinc.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Tested-by: Steev Klimaszewski <steev@kali.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220728113748.170548-8-krzysztof.kozlowski@linaro.org
2022-08-18 14:13:46 -05:00
Krzysztof Kozlowski
650db9fa2c soc: qcom: icc-bwmon: store count unit per variant
Versions v4 and v5 of BWMON on SDM845 use different unit count, so allow
easier variant customization by storing its value in struct
icc_bwmon_data.

Cc: Rajendra Nayak <quic_rjendra@quicinc.com>
Cc: Sibi Sankar <quic_sibis@quicinc.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Sibi Sankar <quic_sibis@quicinc.com>
Tested-by: Steev Klimaszewski <steev@kali.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220728113748.170548-7-krzysztof.kozlowski@linaro.org
2022-08-18 14:13:46 -05:00
Krzysztof Kozlowski
956deab551 soc: qcom: icc-bwmon: clear all registers on init
The hardware programming guide recommends to clear all registers on
first initialization, through separate field in BWMON_CLEAR register.

This makes sense in general but especially if driver is rebound to avoid
spurious/early interrupts.

Cc: Rajendra Nayak <quic_rjendra@quicinc.com>
Cc: Sibi Sankar <quic_sibis@quicinc.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Tested-by: Steev Klimaszewski <steev@kali.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220728113748.170548-6-krzysztof.kozlowski@linaro.org
2022-08-18 14:13:46 -05:00
Krzysztof Kozlowski
1dd5246ea6 soc: qcom: icc-bwmon: store reference to variant data in container
Instead of copying pieces of variant-specific data (struct
icc_bwmon_data) into the state container (struct icc_bwmon), just store
a pointer to it.

This simplifies a bit the code and allows later to grow easily the
variant-specific data for new BWMON v5.

Cc: Rajendra Nayak <quic_rjendra@quicinc.com>
Cc: Sibi Sankar <quic_sibis@quicinc.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Sibi Sankar <quic_sibis@quicinc.com>
Tested-by: Steev Klimaszewski <steev@kali.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220728113748.170548-5-krzysztof.kozlowski@linaro.org
2022-08-18 14:13:46 -05:00
Krzysztof Kozlowski
2b5d8b02f5 soc: qcom: icc-bwmon: drop unused registers
BWMON_GLOBAL_IRQ_STATUS and BWMON_ZONE_COUNT defines are not used.

Cc: Rajendra Nayak <quic_rjendra@quicinc.com>
Cc: Sibi Sankar <quic_sibis@quicinc.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Sibi Sankar <quic_sibis@quicinc.com>
Tested-by: Steev Klimaszewski <steev@kali.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220728113748.170548-4-krzysztof.kozlowski@linaro.org
2022-08-18 14:13:46 -05:00
Krzysztof Kozlowski
6356c7bb53 soc: qcom: icc-bwmon: re-use IRQ enable/clear define
The interrupt enable, status and clear registers have the same layout,
so BWMON_GLOBAL_IRQ_ENABLE_ENABLE define can be used also for clearing
IRQ, instead of hard-coded value.

Cc: Rajendra Nayak <quic_rjendra@quicinc.com>
Cc: Sibi Sankar <quic_sibis@quicinc.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Sibi Sankar <quic_sibis@quicinc.com>
Tested-by: Steev Klimaszewski <steev@kali.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220728113748.170548-3-krzysztof.kozlowski@linaro.org
2022-08-18 14:13:46 -05:00
Marco Felsch
b64b46fbaa Revert "soc: imx: imx8m-blk-ctrl: set power device name"
This reverts commit 8239d67f59.

This change confuses the sysfs cleanup path since the rename is done
after the device registration.

Fixes: 8239d67f59 ("soc: imx: imx8m-blk-ctrl: set power device name")
Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2022-08-17 16:35:44 +08:00
Lad Prabhakar
ebd0e06f30 soc: renesas: Identify RZ/Five SoC
Add support for identifying the (R9A07G043) RZ/Five SoC.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Link: https://lore.kernel.org/r/20220722141506.20171-3-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2022-08-16 09:24:44 +02:00
Geert Uytterhoeven
1b37236de8 soc: renesas: Identify R-Car H3Ne-1.7G
Add support for identifying the R-Car H3Ne-1.7G (R8A779MB) SoC.

As this is a different grading of the already supported R-Car H3-N ES3.0
(R8A77951) SoC, support for it is enabled through the existing
ARCH_R8A77951 configuration symbol.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/8670482178567897571edc0dfc60017453544071.1656072871.git.geert+renesas@glider.be
2022-08-16 09:20:34 +02:00
William Zhang
7bb49d774f arm64: bcmbca: Make BCM4908 drivers depend on ARCH_BCMBCA
With Broadcom Broadband arch ARCH_BCMBCA supported in the kernel, this
patch series migrate the ARCH_BCM4908 symbol to ARCH_BCMBCA. Hence
replace ARCH_BCM4908 with ARCH_BCMBCA in subsystem Kconfig files.

Signed-off-by: William Zhang <william.zhang@broadcom.com>
Acked-by: Guenter Roeck <linux@roeck-us.net> (for watchdog)
Acked-by: Bjorn Helgaas <bhelgaas@google.com> (for drivers/pci)
Acked-by: Wolfram Sang <wsa@kernel.org> (for i2c)
Acked-by: Philipp Zabel <p.zabel@pengutronix.de> (for reset)
Link: https://lore.kernel.org/r/20220803175455.47638-7-william.zhang@broadcom.com
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2022-08-15 09:55:34 -07:00
Guilherme G. Piccoli
751c3e19d0 soc: bcm: brcmstb: Document panic notifier action and remove useless header
The panic notifier of this driver is very simple code-wise, just a
memory write to a special position with some numeric code. But this
is not clear from the semantic point-of-view, and there is no public
documentation about that either.

After discussing this in the mailing-lists [0] and having Florian
explained it very well, document that in the code for the future
generations asking the same questions. Also, while at it, remove
a useless header.

[0] https://lore.kernel.org/lkml/781cafb0-8d06-8b56-907a-5175c2da196a@gmail.com

Cc: Brian Norris <computersforpeace@gmail.com>
Cc: Doug Berger <opendmb@gmail.com>
Cc: Justin Chen <justinpopo6@gmail.com>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Markus Mayer <mmayer@broadcom.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Guilherme G. Piccoli <gpiccoli@igalia.com>
Link: https://lore.kernel.org/r/20220719195325.402745-5-gpiccoli@igalia.com
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2022-08-15 09:36:56 -07:00
Lad Prabhakar
41a21e578d soc: renesas: Kconfig: Enable IRQC driver for RZ/G2L SoC
Select RENESAS_RZG2L_IRQC config option if ARCH_RZG2L is enabled
so that IRQC driver is enabled on RZ/G2L (and alike) SoC's.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Link: https://lore.kernel.org/r/20220718192824.7246-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2022-08-15 10:19:01 +02:00
Linus Torvalds
507f811f20 More power management updates for 5.20-rc1
- Fix return error code in mtk_cpu_dvfs_info_init (Yang Yingliang).
 
  - Minor cleanups and support for new boards for Qcom cpufreq drivers
    (Bryan O'Donoghue, Konrad Dybcio, Pierre Gondois, and Yicong Yang).
 
  - Fix sparse warnings for Tegra cpufreq driver (Viresh Kumar).
 
  - Make dev_pm_opp_set_regulators() accept NULL terminated list (Viresh
    Kumar).
 
  - Add dev_pm_opp_set_config() and friends and migrate other users and
    helpers to using them (Viresh Kumar).
 
  - Add support for multiple clocks for a device (Viresh Kumar and
    Krzysztof Kozlowski).
 
  - Configure resources before adding OPP table for Venus (Stanimir
    Varbanov).
 
  - Keep reference count up for opp->np and opp_table->np while they are
    still in use (Liang He).
 
  - Minor OPP cleanups (Viresh Kumar and Yang Li).
 
  - Add a trace event for cpuidle to track missed (too deep or too
    shallow) wakeups (Kajetan Puchalski).
 -----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEE4fcc61cGeeHD/fCwgsRv/nhiVHEFAmLxUA0SHHJqd0Byand5
 c29ja2kubmV0AAoJEILEb/54YlRxypYQAK/sYS76XzKRjVsPmC082FVlA9Helhsa
 Op50DSnhfzYAWrtRZM5VPsV2CgQkmc5KCmZJSd1ZKIFcOpjlJT/rvaVaSH7Ltcn5
 52GOus6KXKCL3FegQLy3bLcmKkEJIXb3uhWE2VlSuj2cxx6KE2g4bUwPE0pRr++Y
 RkfaT6hcUzxxOAKw1cQhdXgBoXKL/ZeypmpZ95joYuas/mozKskM5SQFX455JCQ9
 t4vaRzrsHzxi5ELiML75TYMY97sF367wSs+4jZSgPBllbJcRXEMg+JkTccKRYrsZ
 k/kDvP5xVFzKT/dYpNpW3u/pl94+xZuh5WLF9/AqwC/qs7kLPJJ0/8mfTTd63DjZ
 3KrkimiQ3d2XMAL4L6FoK+T8v6MwzmlN0elmHHdtmu9mY+v01CwAzjpxdvaFoELK
 V6BCRRX8KNwYsrAJ4EpDK9TvPYJf8yT3jvGDcjPZY9RYlebje0Q825XOcxea4Dfe
 oFxiEWgfK9gzOBvaa24oifKDy2RVy6FvR43qQeiPG4AWAFjr4qP9cDO4q5OL/BuE
 sXpsGY5NE/e8JH9hkgmUK1ms50zk4UMbRC5ZoZuHWyiaFlJdMRF3cUGHe3ylPrxb
 XOFZz8Zl4WeAqBjGGHuiMedwEbmQH2RhdAMCQO1nxoq3UXy6E2/ojI1G1uQ9IEm0
 5FFouJ+bEnqO
 =LBb0
 -----END PGP SIGNATURE-----

Merge tag 'pm-5.20-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull more power management updates from Rafael Wysocki:
 "These are ARM cpufreq updates and operating performance points (OPP)
  updates plus one cpuidle update adding a new trace point.

  Specifics:

   - Fix return error code in mtk_cpu_dvfs_info_init (Yang Yingliang).

   - Minor cleanups and support for new boards for Qcom cpufreq drivers
     (Bryan O'Donoghue, Konrad Dybcio, Pierre Gondois, and Yicong Yang).

   - Fix sparse warnings for Tegra cpufreq driver (Viresh Kumar).

   - Make dev_pm_opp_set_regulators() accept NULL terminated list
     (Viresh Kumar).

   - Add dev_pm_opp_set_config() and friends and migrate other users and
     helpers to using them (Viresh Kumar).

   - Add support for multiple clocks for a device (Viresh Kumar and
     Krzysztof Kozlowski).

   - Configure resources before adding OPP table for Venus (Stanimir
     Varbanov).

   - Keep reference count up for opp->np and opp_table->np while they
     are still in use (Liang He).

   - Minor OPP cleanups (Viresh Kumar and Yang Li).

   - Add a trace event for cpuidle to track missed (too deep or too
     shallow) wakeups (Kajetan Puchalski)"

* tag 'pm-5.20-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (55 commits)
  cpuidle: Add cpu_idle_miss trace event
  venus: pm_helpers: Fix warning in OPP during probe
  OPP: Don't drop opp->np reference while it is still in use
  OPP: Don't drop opp_table->np reference while it is still in use
  cpufreq: tegra194: Staticize struct tegra_cpufreq_soc instances
  dt-bindings: cpufreq: cpufreq-qcom-hw: Add SM6375 compatible
  dt-bindings: opp: Add msm8939 to the compatible list
  dt-bindings: opp: Add missing compat devices
  dt-bindings: opp: opp-v2-kryo-cpu: Fix example binding checks
  cpufreq: Change order of online() CB and policy->cpus modification
  cpufreq: qcom-hw: Remove deprecated irq_set_affinity_hint() call
  cpufreq: qcom-hw: Disable LMH irq when disabling policy
  cpufreq: qcom-hw: Reset cancel_throttle when policy is re-enabled
  cpufreq: qcom-cpufreq-hw: use HZ_PER_KHZ macro in units.h
  cpufreq: mediatek: fix error return code in mtk_cpu_dvfs_info_init()
  OPP: Remove dev{m}_pm_opp_of_add_table_noclk()
  PM / devfreq: tegra30: Register config_clks helper
  OPP: Allow config_clks helper for single clk case
  OPP: Provide a simple implementation to configure multiple clocks
  OPP: Assert clk_count == 1 for single clk helpers
  ...
2022-08-08 14:29:00 -07:00
Linus Torvalds
3bd6e5854b asm-generic: updates for 6.0
There are three independent sets of changes:
 
  - Sai Prakash Ranjan adds tracing support to the asm-generic
    version of the MMIO accessors, which is intended to help
    understand problems with device drivers and has been part
    of Qualcomm's vendor kernels for many years.
 
  - A patch from Sebastian Siewior to rework the handling of
    IRQ stacks in softirqs across architectures, which is
    needed for enabling PREEMPT_RT.
 
  - The last patch to remove the CONFIG_VIRT_TO_BUS option and
    some of the code behind that, after the last users of this
    old interface made it in through the netdev, scsi, media and
    staging trees.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLqPPEACgkQmmx57+YA
 GNlUbQ/+NpIsiA0JUrCGtySt8KrLHdA2dH9lJOR5/iuxfphscPFfWtpcPvcXQWmt
 a8u7wyI8SHW1ku4U0Y5sO0dBSldDnoIqJ5t4X5d7YNU9yVtEtucqQhZf+GkrPlVD
 1HkRu05B7y0k2BMn7BLhSvkpafs3f1lNGXjs8oFBdOF1/zwp/GjcrfCK7KFzqjwU
 dYrX0SOFlKFd4BZC75VfK+XcKg4LtwIOmJraRRl7alz2Q5Oop2hgjgZxXDPf//vn
 SPOhXJN/97i1FUpY2TkfHVH1NxbPfjCV4pUnjmLG0Y4NSy9UQ/ZcXHcywIdeuhfa
 0LySOIsAqBeccpYYYdg2ubiMDZOXkBfANu/sB9o/EhoHfB4svrbPRDhBIQZMFXJr
 MJYu+IYce2rvydA/nydo4q++pxR8v1ES1ZIo8bDux+q1CI/zbpQV+f98kPVRA0M7
 ajc+5GTIqNIsvHzzadq7eYxcj5Bi8Li2JA9sVkAQ+6iq1TVyeYayMc9eYwONlmqw
 MD+PFYc651pKtXZCfkLXPIKSwS0uPqBndAibuVhpZ0hxWaCBBdKvY9mrWcPxt0kA
 tMR8lrosbbrV2K48BFdWTOHvCs2FhHQxPGVPZ/iWuxTA0hHZ9tUlaEkSX+VM57IU
 KCYQLdWzT8J9vrgqSbgYKlb6pSPz6FIjTfut6NZMmshIbavHV/Q=
 =aTR0
 -----END PGP SIGNATURE-----

Merge tag 'asm-generic-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic

Pull asm-generic updates from Arnd Bergmann:
 "There are three independent sets of changes:

   - Sai Prakash Ranjan adds tracing support to the asm-generic version
     of the MMIO accessors, which is intended to help understand
     problems with device drivers and has been part of Qualcomm's vendor
     kernels for many years

   - A patch from Sebastian Siewior to rework the handling of IRQ stacks
     in softirqs across architectures, which is needed for enabling
     PREEMPT_RT

   - The last patch to remove the CONFIG_VIRT_TO_BUS option and some of
     the code behind that, after the last users of this old interface
     made it in through the netdev, scsi, media and staging trees"

* tag 'asm-generic-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
  uapi: asm-generic: fcntl: Fix typo 'the the' in comment
  arch/*/: remove CONFIG_VIRT_TO_BUS
  soc: qcom: geni: Disable MMIO tracing for GENI SE
  serial: qcom_geni_serial: Disable MMIO tracing for geni serial
  asm-generic/io: Add logging support for MMIO accessors
  KVM: arm64: Add a flag to disable MMIO trace for nVHE KVM
  lib: Add register read/write tracing support
  drm/meson: Fix overflow implicit truncation warnings
  irqchip/tegra: Fix overflow implicit truncation warnings
  coresight: etm4x: Use asm-generic IO memory barriers
  arm64: io: Use asm-generic high level MMIO accessors
  arch/*: Disable softirq stacks on PREEMPT_RT.
2022-08-05 10:07:23 -07:00
Linus Torvalds
c1c76700a0 SPDX changes for 6.0-rc1
Here is the set of SPDX comment updates for 6.0-rc1.
 
 Nothing huge here, just a number of updated SPDX license tags and
 cleanups based on the review of a number of common patterns in GPLv2
 boilerplate text.  Also included in here are a few other minor updates,
 2 USB files, and one Documentation file update to get the SPDX lines
 correct.
 
 All of these have been in the linux-next tree for a very long time.
 
 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -----BEGIN PGP SIGNATURE-----
 
 iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCYupz3g8cZ3JlZ0Brcm9h
 aC5jb20ACgkQMUfUDdst+ynPUgCgslaf2ssCgW5IeuXbhla+ZBRAzisAnjVgOvLN
 4AKdqbiBNlFbCroQwmeQ
 =v1sg
 -----END PGP SIGNATURE-----

Merge tag 'spdx-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx

Pull SPDX updates from Greg KH:
 "Here is the set of SPDX comment updates for 6.0-rc1.

  Nothing huge here, just a number of updated SPDX license tags and
  cleanups based on the review of a number of common patterns in GPLv2
  boilerplate text.

  Also included in here are a few other minor updates, two USB files,
  and one Documentation file update to get the SPDX lines correct.

  All of these have been in the linux-next tree for a very long time"

* tag 'spdx-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx: (28 commits)
  Documentation: samsung-s3c24xx: Add blank line after SPDX directive
  x86/crypto: Remove stray comment terminator
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_406.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_398.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_391.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_390.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_385.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_320.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_319.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_318.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_298.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_292.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_179.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_168.RULE (part 2)
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_168.RULE (part 1)
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_160.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_152.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_149.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_147.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_133.RULE
  ...
2022-08-04 12:12:54 -07:00
Rafael J. Wysocki
f6e0b468da OPP updates for 5.20-rc1
- Make dev_pm_opp_set_regulators() accept NULL terminated list (Viresh
   Kumar).
 
 - Add dev_pm_opp_set_config() and friends and migrate other
   users/helpers to using them (Viresh Kumar).
 
 - Add support for multiple clocks for a device (Viresh Kumar and
   Krzysztof Kozlowski).
 
 - Configure resources before adding OPP table for Venus (Stanimir
   Varbanov).
 
 - Keep reference count up for opp->np and opp_table->np while they are
   still in use (Liang He).
 
 - Minor cleanups (Viresh Kumar and Yang Li).
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEx73Crsp7f6M6scA70rkcPK6BEhwFAmLoprIACgkQ0rkcPK6B
 Ehz2nBAApgYUDGkEjWcJufIxW1mH77uonzmWUV2jQBEcCvYnjdwhJ0RpQUT75Xnk
 hTYJ5v9UKwOVl+puPguUe7UzSmWcsI9AzJCj0Vr/LBiln+sawoI51lqOaNjCJkmZ
 VytQJB23DNsYJAG/0xM42+syu+IONJ4vCP/9m35sWlevfFihbfQsEK+iEKsseVgd
 sEwPvHyixLWyeaoAf+6apOBP2Lf+/3R8h6Iv0U8n8jOzUpQQ5r/RSDyZeARP7gze
 64aXvsvr7D0Mc9GpevDJKGtPFbRNfq5I4Lg5MOZ8NQVjXOqlWJil3oYEnKQxIH0Y
 EEzcrSuWi3SEeHrQfj+GFs/D7z2ZHqmbg7yb4P7zSeqLvG+7Ey9aYOXOg5LykrYk
 1rZQzenLMF91RnhdRLI22SJngokOYZjWBFp62mPqmEYtx2VsYQlxqGtJoCHYDRx3
 QRp0ZYJBnHQMt7saiIRFdAAIz7/G5lkiUplVzqAWe7AEpUG3Y7kvIqfwi69s3I5S
 ERSf3qqx3dUGFXYoxwglEwaf8ZvKQnPOzOLmbyc9Hrj2MclfKf9vW+0/4J6iiDlu
 ITpsqEWUhtEjwCt3lbM6PWNRrCJHi6YkKw0sORxEWR639cqckmk6ZAuaRPeOob6a
 nZ/UvwU2LMRG1zZyrsB3bbUkijJ019RPySmjCXApLsoNT1qpUr0=
 =NHBQ
 -----END PGP SIGNATURE-----

Merge tag 'opp-updates-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm

Pull operating performance points (OPP) updates for 5.20-rc1 from Viresh
Kumar:

"- Make dev_pm_opp_set_regulators() accept NULL terminated list (Viresh
   Kumar).

 - Add dev_pm_opp_set_config() and friends and migrate other
   users/helpers to using them (Viresh Kumar).

 - Add support for multiple clocks for a device (Viresh Kumar and
   Krzysztof Kozlowski).

 - Configure resources before adding OPP table for Venus (Stanimir
   Varbanov).

 - Keep reference count up for opp->np and opp_table->np while they are
   still in use (Liang He).

 - Minor cleanups (Viresh Kumar and Yang Li)."

* tag 'opp-updates-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm: (43 commits)
  venus: pm_helpers: Fix warning in OPP during probe
  OPP: Don't drop opp->np reference while it is still in use
  OPP: Don't drop opp_table->np reference while it is still in use
  OPP: Remove dev{m}_pm_opp_of_add_table_noclk()
  PM / devfreq: tegra30: Register config_clks helper
  OPP: Allow config_clks helper for single clk case
  OPP: Provide a simple implementation to configure multiple clocks
  OPP: Assert clk_count == 1 for single clk helpers
  OPP: Add key specific assert() method to key finding helpers
  OPP: Compare bandwidths for all paths in _opp_compare_key()
  OPP: Allow multiple clocks for a device
  dt-bindings: opp: accept array of frequencies
  OPP: Make dev_pm_opp_set_opp() independent of frequency
  OPP: Reuse _opp_compare_key() in _opp_add_static_v2()
  OPP: Remove rate_not_available parameter to _opp_add()
  OPP: Use consistent names for OPP table instances
  OPP: Use generic key finding helpers for bandwidth key
  OPP: Use generic key finding helpers for level key
  OPP: Add generic key finding helpers and use them for freq APIs
  OPP: Remove dev_pm_opp_find_freq_ceil_by_volt()
  ...
2022-08-03 17:49:38 +02:00
Linus Torvalds
47b62edcd4 ARM: SoC drivers for 6.0
The SoC driver updates contain changes to improve support for
 additional SoC variants, as well as cleanups an minor bugfixes
 in a number of existing drivers.
 
 Notable updates this time include:
 
  - Support for Qualcomm MSM8909 (Snapdragon 210) in various drivers
 
  - Updates for interconnect drivers on Qualcomm Snapdragon
 
  - A new driver support for NMI interrupts on Fujitsu A64fx
 
  - A rework of Broadcom BCMBCA Kconfig dependencies
 
  - Improved support for BCM2711 (Raspberry Pi 4) power management
    to allow the use of the V3D GPU
 
  - Cleanups to the NXP guts driver
 
  - Arm SCMI firmware driver updates to add tracing support, and
    use the firmware interfaces for system power control and for
    power capping.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLo+0UACgkQmmx57+YA
 GNkkFw//eyeMxsJ/pqp0HeXTX7s2p0+39IQiak0hjFNe3XN12PIMRAHHtutKlt7F
 K0fKksokY9p+o1M86/5D4l7v7S6DcHQk2MdUD5AeMu/If7cfL0TI2mdIAVnoad4o
 p54ABR0q2Tr/Dr/2GK8kZPTnXkPPLd951mgCG/jwrlPgG3KjTgjhEWg86+F2s/B/
 P8ryYakCYfsxPJGnZqyw63JuVet9Tnv87jySxabukNfSRR8RbJ+OVKXxaBBmvYkA
 +UuDEkcuPtlrEyUoNe+WtM07BdxP6tl/jRwZ4EenQtFDSLCQnapgHK3bVRbLs/WL
 naKJZgI7OOwU8fjRi90/zYoPBW6UQ9OoxcmshNwgFM5yBLJtVgGM+Fp8XNfPIvm0
 BYvE7jf8cEtFDAOYWuB8jCdvBen8qzt5eeUpV+uOjHDxiWwfif15yUDxCE3GB7Ov
 vSPRpuTec/6Ry5hIbqcsrTcZRihnJbAJqDOHdlSVX3M+ohXcf5OMLd+IbD+oHgpo
 vSKvitkDnCKvdR6Uw1GSNAgeVm1ItMBlcL/8VsurOEUXR301pFNGdHEGuuxDu1Mm
 rEzk37ajYmiol5uBYIU8mdYrlK2+52sWd5/22zIwhMIEgQbuPbouYWPfUSP9bb+U
 9NlvjGVxK5U73UqcU/56nn7W9uRt0ArzSzON53wnBW3WjkcgMLk=
 =0dZI
 -----END PGP SIGNATURE-----

Merge tag 'arm-drivers-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull ARM SoC drivers from Arnd Bergmann:
 "The SoC driver updates contain changes to improve support for
  additional SoC variants, as well as cleanups an minor bugfixes
  in a number of existing drivers.

  Notable updates this time include:

   - Support for Qualcomm MSM8909 (Snapdragon 210) in various drivers

   - Updates for interconnect drivers on Qualcomm Snapdragon

   - A new driver support for NMI interrupts on Fujitsu A64fx

   - A rework of Broadcom BCMBCA Kconfig dependencies

   - Improved support for BCM2711 (Raspberry Pi 4) power management to
     allow the use of the V3D GPU

   - Cleanups to the NXP guts driver

   - Arm SCMI firmware driver updates to add tracing support, and use
     the firmware interfaces for system power control and for power
     capping"

* tag 'arm-drivers-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (125 commits)
  soc: a64fx-diag: disable modular build
  dt-bindings: soc: qcom: qcom,smd-rpm: add power-controller
  dt-bindings: soc: qcom: aoss: document qcom,sm8450-aoss-qmp
  dt-bindings: soc: qcom,rpmh-rsc: simplify qcom,tcs-config
  ARM: mach-qcom: Add support for MSM8909
  dt-bindings: arm: cpus: Document "qcom,msm8909-smp" enable-method
  soc: qcom: spm: Add CPU data for MSM8909
  dt-bindings: soc: qcom: spm: Add MSM8909 CPU compatible
  soc: qcom: rpmpd: Add compatible for MSM8909
  dt-bindings: power: qcom-rpmpd: Add MSM8909 power domains
  soc: qcom: smd-rpm: Add compatible for MSM8909
  dt-bindings: soc: qcom: smd-rpm: Add MSM8909
  soc: qcom: icc-bwmon: Remove unnecessary print function dev_err()
  soc: fujitsu: Add A64FX diagnostic interrupt driver
  soc: qcom: socinfo: Fix the id of SA8540P SoC
  soc: qcom: Make QCOM_RPMPD depend on PM
  tty: serial: bcm63xx: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  spi: bcm63xx-hsspi: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  clk: bcm: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  hwrng: bcm2835: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  ...
2022-08-02 08:10:10 -07:00
Linus Torvalds
e233cc59d0 ARM: SoC updates for 6.0
The updates for arch/arm/mach-* platform code this time are mainly
 minor cleanups.
 
 Most notably, the DaVinci DM644x/DM646x SoC support gets removed. This was
 also scheduled for later removal early next year, but Linus Walleij asked
 for having them removed earlier to avoid problems for the GPIO subsystem.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLo+zkACgkQmmx57+YA
 GNkA9g/7BEprYGJ43eLY+sl4GNcNbtybxNdog62NIb+v/HyiLUuhsApJIbwy8lFn
 IIkaFwDt8xb/tFLtHyDO+ZqCycSlNLqWVT6c3//qhUREj1Ll01zQI8KEYO2GSqnG
 qV1fiF2ARrT/SUWwAEP9Rw+e/dCz3yQvNQQdrIRSOhAJy7D2R25/OSeQ/0I/bswH
 qY6VXUr6obV+fV++CuWjvkPhSI4Oa28j7QC47/rj634KoHXxIky1OH1xMyYCMd7l
 vPj0UbWvQrEM4EhLblLHDba3QBMyN9EzrTvByDDbFNBkYjostIKUXPl9mr2o5rgr
 7c+dfDz7a5LY00te3InxB+0Ij+bnrGUmAc3ohzQbdvRMFMzB67imcv1rEcX4I3K6
 2BekFz33xseYA8sVi4p2kDd8EGeNJrMoQVnD+eRJzPEwxVTRs0OmbRoeZwmsCuqb
 x8BPO9YZtcc/SsnTc2gIGvz2hdzgKro7paSTJGbs+6wQN02ZR7yFO4hSpfWaSpzu
 RcgtSq/wdTSZq721WGCKPP6qHqTxetas/n7VlVBl8u79OclVicfngkYsiKYs65nI
 zmLfMUGthaXny5Q70EYEcpBx8d1V2b5+rl/pp2i2yA8r/ry0EDvkuVTeRZqJgEsa
 zP8i4InDm4ca8vhdzLoyJtHgTTQxoIv+1sa8dUGEgbE6YpzucZ8=
 =LkG0
 -----END PGP SIGNATURE-----

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

Pull ARM SoC updates from Arnd Bergmann:
 "The updates for arch/arm/mach-* platform code this time are mainly
  minor cleanups.

  Most notably, the DaVinci DM644x/DM646x SoC support gets removed. This
  was also scheduled for later removal early next year, but Linus
  Walleij asked for having them removed earlier to avoid problems for
  the GPIO subsystem"

* tag 'arm-soc-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (38 commits)
  ARM: at91: setup outer cache .write_sec() callback if needed
  ARM: at91: add sam_linux_is_optee_available() function
  ARM: Marvell: Update PCIe fixup
  ARM: bcmbca: Include full family name in Kconfig
  ARM: bcm: NSP: Removed forced thermal selection
  ARM: debug: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  arm: bcmbca: Add BCMBCA sub platforms
  arm: bcmbca: Move BCM63138 ARCH_BCM_63XX to ARCH_BCMBCA
  MAINTAINERS: Move BCM63138 to bcmbca arch entry
  ARM: shmobile: rcar-gen2: Increase refcount for new reference
  ARM: davinci: Delete DM646x board files
  ARM: davinci: Delete DM644x board files
  firmware: xilinx: Add TF_A_PM_REGISTER_SGI SMC call
  cpufreq: zynq: Fix refcount leak in zynq_get_revision
  ARM: OMAP2+: Kconfig: Fix indentation
  ARM: OMAP2+: Fix refcount leak in omap3xxx_prm_late_init
  ARM: OMAP2+: pdata-quirks: Fix refcount leak bug
  ARM: OMAP2+: display: Fix refcount leak bug
  ARM: OMAP2+: Fix refcount leak in omapdss_init_of
  ARM: imx25: support silicon revision 1.2
  ...
2022-08-02 08:02:59 -07:00
Arnd Bergmann
99978d2fd9 More Qualcomm driver changes for v5.20
This adds support for booting secondary cores, SPM, SMD-RPM and RPM
 power-domain support for the MSM8909 platform.
 
 It drops an unnecessary print in icc-bwmon, corrects SA8540P entries in
 socinfo and a Kconfig build dependency for QCOM_RPMPD.
 
 Lastly it continues to clean up up the Devicetree bindings for the
 Qualcomm drivers.
 -----BEGIN PGP SIGNATURE-----
 
 iQJPBAABCAA5FiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmLYinIbHGJqb3JuLmFu
 ZGVyc3NvbkBsaW5hcm8ub3JnAAoJEAsfOT8Nma3FryMQANQKam+7lJrykwF3bt8t
 e/ZR1SWPcKTu5dudsnA2GACnycQ8XQr5M06HRVghwveleXbjHyE3beLEy/NwfbTL
 P4ufdDtg/UCwZXJ+p2ZDtbKIWQQU1qgItekYiN3lDEnb3Y5R7vI2h2mhdDOZh8yn
 HtzI5EeI5gMilZ7yYtqPR3DrXpfdYBaGANshyzmP07eDTz+UyaSSKoALsy7jeWB2
 9d4/inH35Tuqv/98oLaf+gK1vH89AVA13N6fVaQxgPOne3FN1bsqBFGc/RvW+phH
 CG+D86lrxq7iChdEcvcoPCkabYi4lNqhbKZOiAAimqrwFCIksVJSE7adDul0JcPF
 g0ml1jWIx+Jsj5TmuRH01CaxCuLtv9WKARi64vqA8dwSYuak8irP3WXbbtv/sNgW
 PokJovzDwwSs71Rh8PmlXC//XY8gbsVj/umI8lEsS5/PrvdCXYsRTjRzvZ5uNtiQ
 5s1fm6xMT2AMbp+Y6ZcnmPhuGntfiJZFj9GivfZuaYF44Ov6mRScHnRADC9oXpBf
 7qlaC1T05PBUHOMB19xpOOsqtBpfX9TCaCqhsVxhH4bjzzYoMuV+yYlI3CqPv3yL
 v9bKfMkbsOpZywCxyve2d6jqCeL8fA2iPw3MzFIlmESRA4MwdXswmxHCE3C7FOHA
 SZkdXKa4EeWQRBf9g5ri3EM/
 =gLQ3
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLZTeMACgkQmmx57+YA
 GNmWzg//eCc5hZXF1HumCX21ueWjwnAaZWZZECe+Plc0GB6nMnPVgCw2S29SCfYQ
 cpR1B0YME/AgK7GiwdxW7mh9wtRzAtR7aSn2Z3nsmF7lMTJI5mJTDVIApoCvgHDu
 5eyFIoiwtWYKFht5TLvC56fnOW73Jp6m5K4HElH2q6A387uurc8ClmuhnG7Dbhsp
 WCYB7aqfqYlMybf8EYo3BAng63v6wLDf93+HyGokRiRHeh/h7xF4liLVY9XCNxOH
 NSxBn8zZDRttEww+xSP+hDpTo316YG3SiNf3XW5ojVMrSUsbJM76DMTuPW70LJvK
 obL4SL7zPeo7yH0NiHK699k+jchozb6Uq9WNnWHc3b5ABXK1RV0BoUNPtTHjiYBs
 ojJnqjPmGJHaLmrvqEihyzRxXJtFMFU22t2EwdUmxQyYdgffS35W6lJtlNP/q7ph
 i+DFoyKsmH8T9zNibNXjoV5NAo73OyKKriWjQS/DYR2/T/kwooXo9h9RS8rppo4M
 kqumzGT2gdLoYI/1hBgXurQpMr231XvesLNSNJpQNz3UfYC0cuC7nAe6EQ5Jn2Da
 hLQrRSj+TMghSq8dw5yOx1fvWjyYT1uFKiSgOkWXvX6Pcui6UC5oJ3zivv7JOXuc
 Jjn+0B31KIBUyh8hq4cNrGaF8edVf8Y0vxp0mKsnnYjQxxuZHkc=
 =TP2T
 -----END PGP SIGNATURE-----

Merge tag 'qcom-drivers-for-5.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/drivers

More Qualcomm driver changes for v5.20

This adds support for booting secondary cores, SPM, SMD-RPM and RPM
power-domain support for the MSM8909 platform.

It drops an unnecessary print in icc-bwmon, corrects SA8540P entries in
socinfo and a Kconfig build dependency for QCOM_RPMPD.

Lastly it continues to clean up up the Devicetree bindings for the
Qualcomm drivers.

* tag 'qcom-drivers-for-5.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  dt-bindings: soc: qcom: qcom,smd-rpm: add power-controller
  dt-bindings: soc: qcom: aoss: document qcom,sm8450-aoss-qmp
  dt-bindings: soc: qcom,rpmh-rsc: simplify qcom,tcs-config
  ARM: mach-qcom: Add support for MSM8909
  dt-bindings: arm: cpus: Document "qcom,msm8909-smp" enable-method
  soc: qcom: spm: Add CPU data for MSM8909
  dt-bindings: soc: qcom: spm: Add MSM8909 CPU compatible
  soc: qcom: rpmpd: Add compatible for MSM8909
  dt-bindings: power: qcom-rpmpd: Add MSM8909 power domains
  soc: qcom: smd-rpm: Add compatible for MSM8909
  dt-bindings: soc: qcom: smd-rpm: Add MSM8909
  soc: qcom: icc-bwmon: Remove unnecessary print function dev_err()
  soc: qcom: socinfo: Fix the id of SA8540P SoC
  soc: qcom: Make QCOM_RPMPD depend on PM

Link: https://lore.kernel.org/r/20220720230648.2113609-1-bjorn.andersson@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-21 15:00:19 +02:00
Arnd Bergmann
f740949d41 soc: a64fx-diag: disable modular build
The NMI infrastructure cannot currently be used in loadable modules:

ERROR: modpost: "free_nmi" [drivers/soc/fujitsu/a64fx-diag.ko] undefined!
ERROR: modpost: "request_nmi" [drivers/soc/fujitsu/a64fx-diag.ko] undefined!
ERROR: modpost: "enable_nmi" [drivers/soc/fujitsu/a64fx-diag.ko] undefined!

Disable this for now to make allmodconfig build again. We may revisit
this and export those symbols instead in the future.

Reported-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-20 17:58:18 +02:00
Stephan Gerhold
fddb663de9 soc: qcom: spm: Add CPU data for MSM8909
Given the lack of public documentation for the SPM, the configuration
data is taken without modification from Qualcomm's msm-3.10 release [1].
It is pretty much identical to the one for MSM8916, except that 0x3B is
missing in the sequence for standalone power collapse for some reason.

[1]: https://git.codelinaro.org/clo/la/kernel/msm-3.10/-/blob/LA.BR.1.2.3-00910-8x09.0/arch/arm/boot/dts/qcom/msm8909-pm8909-pm.dtsi

Signed-off-by: Stephan Gerhold <stephan.gerhold@kernkonzept.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220705143523.3390944-7-stephan.gerhold@kernkonzept.com
2022-07-18 18:05:07 -05:00
Stephan Gerhold
488f1d96c3 soc: qcom: rpmpd: Add compatible for MSM8909
MSM8909 has the same power domains as MSM8916, so just define another
compatible for the existing definition.

Signed-off-by: Stephan Gerhold <stephan.gerhold@kernkonzept.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220705143523.3390944-5-stephan.gerhold@kernkonzept.com
2022-07-18 18:05:07 -05:00
Stephan Gerhold
73579f2a99 soc: qcom: smd-rpm: Add compatible for MSM8909
Add the new "qcom,rpm-msm8909" compatible to the driver so the interface
to the Resource Power Manager (RPM) is initialized correctly on MSM8909.

Signed-off-by: Stephan Gerhold <stephan.gerhold@kernkonzept.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220705143523.3390944-3-stephan.gerhold@kernkonzept.com
2022-07-18 18:05:07 -05:00
Yang Li
947bb0d165 soc: qcom: icc-bwmon: Remove unnecessary print function dev_err()
Eliminate the follow coccicheck warning:
./drivers/soc/qcom/icc-bwmon.c:349:2-9: line 349 is redundant because platform_get_irq() already prints an error

Fixes: b9c2ae6cac ("soc: qcom: icc-bwmon: Add bandwidth monitoring driver")
Signed-off-by: Yang Li <yang.lee@linux.alibaba.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220714075532.104665-1-yang.lee@linux.alibaba.com
2022-07-18 16:34:11 -05:00
Hitomi Hasegawa
64f89dfaa4
soc: fujitsu: Add A64FX diagnostic interrupt driver
Register the NMI/IRQ corresponding to the A64FX's device definition
dedicated to diagnostic interrupts, so that when this interrupt is
sent using the BMC, it causes a panic. This can be used to obtain
a kernel dump.

Signed-off-by: Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>
Link: https://lore.kernel.org/r/20220520074119.3574753-2-hasegawa-hitomi@fujitsu.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-18 13:37:08 +02:00
Parikshit Pareek
5bed21af00 soc: qcom: socinfo: Fix the id of SA8540P SoC
Change the id of SA8540P to its correct value, i.e., 461.
Also, map the id 460 to its correct values, i.e. SA8295P.

Fixes: 76ee15ae1b ("soc: qcom: socinfo: Add some more PMICs and SoCs")
Signed-off-by: Parikshit Pareek <quic_ppareek@quicinc.com>
Reviewed-by: Eric Chanudet <echanude@redhat.com>
Tested-by: Eric Chanudet <echanude@redhat.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220711083957.12091-1-quic_ppareek@quicinc.com
2022-07-16 10:09:08 -05:00
Konrad Dybcio
a6232f2aa9 soc: qcom: Make QCOM_RPMPD depend on PM
QCOM_RPMPD requires PM_GENERIC_DOMAINS/_OF, which in turns requires
CONFIG_PM. I forgot about the latter in my earlier patch (it's still
in -next as of the time of committing, hence no Fixes: tag). Fix it.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220707212158.32684-1-konrad.dybcio@somainline.org
2022-07-16 10:08:56 -05:00
Arnd Bergmann
3c37074f0d Qualcomm driver updates for v5.20
This introduces a new driver that requests interconnect bandwidth based
 on throughput measurements of the bwmon hardware blocks found associated
 with, among other things, the CPU subsystem on many Qualcomm platforms.
 
 It introduces support for the SCM wrapper driver to vote for
 interconnect bandwidth for operations that needs bandwidth to the crypto
 engine. This ensures both performance and guards against issues caused
 by lacking votes for this path.
 
 The socinfo driver gains knowledge about the SC7180P SoC.
 
 It contains a range of fixes for spelling mistakes, refcount leaks in
 various drivers and removes some redundant code from the apr remove
 path.
 
 The SCM DT bindings are updated to declare support for QCS404, SM6125
 and SDX65.
 
 The command db driver has a strncpy() converted to strscpy_pad() and
 then back again with proper documentation to why this was the right API.
 -----BEGIN PGP SIGNATURE-----
 
 iQJPBAABCAA5FiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmLLop4bHGJqb3JuLmFu
 ZGVyc3NvbkBsaW5hcm8ub3JnAAoJEAsfOT8Nma3F3TMP/ieGyulFlvASz8TxfZyL
 E0nJi29vPdGNfrQTe4Uijtn5v1eQzlunNfWfw2f3+hI2rhs94Y4TuFdHBNU7rTVo
 Ui0aFRRmlq3FZlc0KwUhyAP8tvI59Tna+w/8UgIqcKQpSiLNrYRQfyBGhUfMTI97
 SzwSklRNNTFhIa31n6F4+K9uWwlRBgavoVHaNZw4iJaoC5VKXwcROMLOzgZFh7BB
 dJgdKxnOhKNGAPq6w+WSxbvzF2bdX0GvwcaFJDvXtquEVk7sxEWmEwxhcFpuu1BJ
 WtOyb+GCrxntk3n7tq333ZPVCZBlwePXXP+Bn5Z+P5stbiSFDso4irZzGEScmlyi
 HRhN2h7Mqh/7KkXbkEYwISqL/T+EXuQThFV8l5hodCF2v2bPRIeRoz3a5Z1mZb7H
 M4eoldB0Ow4dcBaJppJ9Ux+xMEqZ7hrXvQmpQdtHi3ty3QceKwjA0byJK2nmwttt
 GmibYaFsm4cynsCIYqclxnSm55rrq+doKE6G5gn6gG8Qijg+TDOAVLKDS6heenH3
 9WCSeYUR4Wnyn6EUTEEfJamErhsVwKJYhLNfzfpst3+6RAoRM+C/js+S0fFqVImC
 1lWRe64nCoGp1QR+h/f8SltnPUfjvCuU5i2pjO+vErq8zo21vcFGuvReps6fDZxh
 /NIw/dMRJMuZEmIv7KBZ6c6q
 =AHeW
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLN4SUACgkQmmx57+YA
 GNnCRA//bthrnU+D0KiuNogJASZZWs1y+PsMHbu27JNZMCaR14+sBKiNGhkfivKt
 6lqZIBSn49OCfL/SGg0E7TTZ/aMkbj+HU6aPxf6417gu1LhICOTZX81ffijwHlZu
 POzvwcTWRMbIlYA/JD68y81uL2jWUpiqLXtPrzzjiEK87MR9OLEjJ/YIXciyOqaX
 ao+/TW0dqHYibxWJQWb98HfuUCL0ZC9tkX3iYBu0yM2y9XJ5dVRfG6Rs++H6X83S
 MIMqKbygFZ9PawzdHuPJDOv5su7PH5Sh6pUGXsxWXtAmVQESBeoRqO0KsAns8Tmi
 +38olZGOuELDo4nllrPrh2fWxQKmrVolXRmwv4sq/yqgsrkXutcJdUVb2XxeiJwt
 mKLDaYr1vN+YuR7XK2B2a68hFFW6a804c3cttXvp5Z4KcNNQmSiT71sILX8vqSmO
 +d5URU7oSbv6c6CqTTP7aAF+sfcZiHHrRoI3IJBzUmtczNp7Eq/7cT8OZMs5eMk7
 yFIIdmr4fL4MvMmYMoibL7dCOpFfVoqlveAukG9utDpziXyMzNDZ89PMmjpdU2nR
 nLrwLe6NaB8h4B6GKO3HZqdiXHkP069+pKy1hOyPavp6g8qVo2JZxwQku4r0onAU
 jy+KhfRGb7W7mnC/hI5UtOQwGVx9S2RkUHEyaL3QNEjAXpDOeQw=
 =0Kp7
 -----END PGP SIGNATURE-----

Merge tag 'qcom-drivers-for-5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/drivers

Qualcomm driver updates for v5.20

This introduces a new driver that requests interconnect bandwidth based
on throughput measurements of the bwmon hardware blocks found associated
with, among other things, the CPU subsystem on many Qualcomm platforms.

It introduces support for the SCM wrapper driver to vote for
interconnect bandwidth for operations that needs bandwidth to the crypto
engine. This ensures both performance and guards against issues caused
by lacking votes for this path.

The socinfo driver gains knowledge about the SC7180P SoC.

It contains a range of fixes for spelling mistakes, refcount leaks in
various drivers and removes some redundant code from the apr remove
path.

The SCM DT bindings are updated to declare support for QCS404, SM6125
and SDX65.

The command db driver has a strncpy() converted to strscpy_pad() and
then back again with proper documentation to why this was the right API.

* tag 'qcom-drivers-for-5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  soc: qcom: icc-bwmon: Add bandwidth monitoring driver
  dt-bindings: interconnect: qcom,msm8998-cpu-bwmon: add BWMON device
  soc/qcom: Make QCOM_RPMPD select PM_GENERIC_DOMAINS/_OF
  soc: qcom: aoss: Fix refcount leak in qmp_cooling_devices_register
  soc: qcom: llcc: Fix syntax errors in comments
  soc: qcom: ocmem: Fix refcount leak in of_get_ocmem
  dt-bindings: soc: qcom,wcnss: remove unneeded ref for names
  firmware: qcom_scm: Add bw voting support to the SCM interface
  dt-bindings: firmware: qcom-scm: Add interconnects property
  soc: qcom: cmd-db: replace strscpy_pad() with strncpy()
  dt-bindings: firmware: scm: Add compatible for SDX65
  dt-bindings: arm: qcom: switch maintainer to Bjorn
  soc: qcom: rpmhpd: fix typos in comment
  soc: qcom: correct kerneldoc
  soc: qcom: cmd-db: replace strncpy() with strscpy_pad()
  firmware: qcom_scm-legacy: correct kerneldoc
  dt-bindings: firmware: document Qualcomm QCS404 and SM6125 SCM
  soc: qcom: apr: Drop redundant check in .remove()
  firmware: qcom_scm: drop unexpected word "the"
  soc: qcom: socinfo: Add an ID for sc7180P

Link: https://lore.kernel.org/r/20220712021830.1271398-1-bjorn.andersson@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-12 23:01:25 +02:00
Arnd Bergmann
9bc697091a This pull request contains Broadcom SoC drivers updatse for 5.20, please
pull the following:
 
 - Julia fixes a typo in the Broadcom STB legacy power management code
 
 - Liang fixes a device_node reference count leak in the Broadcom STB BIU
   driver code error path(s)
 
 - Nicolas and Stefan provide updates to the BCM2835 power management
   driver allowing its use on BCM2711 (Raspberry Pi 4) and to enable the
   use of the V3D GPU driver on such platforms. This is a merge of an
   immutable branch from Lee Jones' MFD tree
 
 - William removes the use of CONFIG_ARCH_BCM_63XX which is removed and
   replaces the dependencies with CONFIG_ARCH_BCMBCA which is how all of
   the DSL/PON SoCs from Broadcom are now supported in the upstream
   kernel.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmLMTtEACgkQh9CWnEQH
 BwSmNw/+KC2qMPJ7e1favA8joQ+YCOWht3URTLDNrWpFrkAWLqjEkeYfSJQ3fBns
 vhDs42nt3318GZKa0YRFkttHEG4ZB5eV4pcf1GGV2/BtnUjr3tgD8iEIDLYeq8Z1
 Y1F5WVXrCx3ta+xADVy1MMIM82ycWjKsrF7f8iADdP/hJtrlpnEdhOIzqz8Az5g+
 ezFrs66/P0X+tc/a41mZ1BHIXa/4nnibo+A+hT/gtDK0g4uv/94XaQVaAn3VvELx
 m/RgkQsrKed3xGnniz9N+LX9oQ/IHQzz6HxZD3TokKlTS1rjHr0YMb++jo0430na
 NQ45Y9U0gl3gwalN+85YTabA0VWkVdkzn0YGydmcrJqphm3s78M+/FiMddaVQtMv
 D4ndLVqr6LXTKtsZIk97shuuxMHMaix5mA2hOOWFO0TjQFzsKOi/k2uZ0mo9hBPC
 FMsetOjmoeA1e01ztuW/3T2yQH1CQkHow/lp1xoidvLzgALraK3wAdhMX0lIR5Fg
 bxPNkrj1mTHPcBO7C7DKbvXt7bybZcn624/55FrTaYu5p0BdaazshMUHKBUb1l5K
 lhB4znh9dKQwc94VGdHzNISEjZSpjRbdnqBr/1qzpwR6SGR9jMFS1wTcjK2iAyMz
 iUR+O3vEeyOfRz2rSkgGSYIqkxdCX4Q6jyk4wz56gYP8FfIqmQ8=
 =O/9g
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLN4J0ACgkQmmx57+YA
 GNnFBQ/8CMZHB963Azx+ybxj95ClLjtKKio7IjQRr4YoawXHYdNipLumrBS3V7BZ
 qu432X9gGHC5QP4U46d4zHUvWeLqPwsns6WnTa8wwbY2kAccnoCtOaVyWM8O2YyS
 n7Zwq6wSEul6GT7ig+eEsZ5NFhC3+i1C/mqCZfcEGWrIfzse5UwKVmcG/dmnavIP
 NtmaWMWr2PUvF3VJpgn71JpWJegkyANjDi7JJC/71h5MzjNrpGsE3XG5QyLpQfRZ
 +lAxT+2zJNbk+eSnISg1bpaeL/S9F8vrmzpgMEcCcydcpgQQ7I/M9nx+mNAbpRwn
 c7DuoXYB9VNX6bsI0pUjavhMc3qAIPtgYknGe/WhAmS6D4y/IfTJ7L91irULH/gC
 ZDH2aDTblhtefiSgd8X9RJyRTZb0CtTUoSR2ST0SfpMI8xJaaswXBS7nYfLib08v
 pSLAU6qalUpJpJ+ADeSEIbfUjuGR6GR1iT1R4dpdp3NfhR8u6bPdkphxzwdzctBL
 bZ+ZcFMlAfSp07FzII+2Ce5fuT5qM7rdqKurL5WFmJOYIHfqGDTESWp5vvViAHPJ
 2c+ONWnPvMXoKxC6d90E8AhOhvOeE1frfu5NWJtzU7OY98rI1J5nFEF9hmVQWZ3p
 hfEzP+wiBuN2mHRDNtgmmJFFhbzPdXlY5QafR2XDm1kpfuFh/cY=
 =yTZT
 -----END PGP SIGNATURE-----

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

This pull request contains Broadcom SoC drivers updatse for 5.20, please
pull the following:

- Julia fixes a typo in the Broadcom STB legacy power management code

- Liang fixes a device_node reference count leak in the Broadcom STB BIU
  driver code error path(s)

- Nicolas and Stefan provide updates to the BCM2835 power management
  driver allowing its use on BCM2711 (Raspberry Pi 4) and to enable the
  use of the V3D GPU driver on such platforms. This is a merge of an
  immutable branch from Lee Jones' MFD tree

- William removes the use of CONFIG_ARCH_BCM_63XX which is removed and
  replaces the dependencies with CONFIG_ARCH_BCMBCA which is how all of
  the DSL/PON SoCs from Broadcom are now supported in the upstream
  kernel.

* tag 'arm-soc/for-5.20/drivers' of https://github.com/Broadcom/stblinux:
  tty: serial: bcm63xx: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  spi: bcm63xx-hsspi: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  clk: bcm: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  hwrng: bcm2835: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  phy: brcm-sata: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  i2c: brcmstb: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  ata: ahci_brcm: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  soc: bcm: bcm2835-power: Bypass power_on/off() calls
  soc: bcm: bcm2835-power: Add support for BCM2711's RPiVid ASB
  soc: bcm: bcm2835-power: Resolve ASB register macros
  soc: bcm: bcm2835-power: Refactor ASB control
  mfd: bcm2835-pm: Add support for BCM2711
  mfd: bcm2835-pm: Use 'reg-names' to get resources
  soc: bcm: brcmstb: biuctrl: Add missing of_node_put()
  soc: bcm: brcmstb: pm: pm-arm: fix typo in comment

Link: https://lore.kernel.org/r/20220711164451.3542127-6-f.fainelli@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-12 22:59:09 +02:00
Arnd Bergmann
03e316033c i.MX drivers change for 5.20:
- Update imx8m-blk-ctrl driver to print the name of the power domain,
   so that the error message becomes more useful.
 - Update the error messages in gpcv2 driver by printing the reason why
   a regulator fails to be enabled or disabled.
 - A series from Michael Walle to convert the guts driver from a platform
   driver to an core_initcall for getting rid of all those global static
   variables.
 - A couple of follow-up fixes on guts driver series.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmLJJY8UHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM54iAgAjX40h6w2DOOyVZhM6VGBHmQIzfok
 MiVRjPVLsEf55brvG6IwY4KnWWCOb9bcET7JxBhYsreUsLAC8255B//mLoiLZM4x
 XfCFIaQ9XxnCyfzrJuXr1K0TuwlxVYAbVghcxYFpgCSpM9GwChhQstu1dgfQE3o3
 p8OXlVol3bu0NN5JkbKd2t7e9P2EoCBIb9N2JIjnlxs81W63hoKEhRkhPd2CKBIN
 gKEHrMf3CFFuLpSvwKKsNzwBj2y6LML413k9l7Wp5L/MEX0+Y0G/fuQ3i2fbzoDQ
 OF2SQfngaeSRy8kbp1iZ+GCqfGGoBjwinZ7v2tYElH0pheR074mxIjKntQ==
 =vt6q
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLN3+wACgkQmmx57+YA
 GNmCcw/7BDTCkJw4IzzVEMDj29zqCIaCPB3b3heTfU+RaElkuz8EfasoKbC7TX5X
 XsEi4bULlVza0cKcr+tOur6xtcZSZltjp/DenolNTrQ/qQZSjD0Mh5ypxzsxqjqS
 EvpF7iZcnCpDFIKSji4XWreqmUIsHHFFLDw0zQBkmz5BbQXB7U9HlAP85cuGBq+L
 i1R21OX7ZQqG7Ik6JT+fD/XMmkRCiPlZP/aHoQilZYXy9j0wcuLUaeg4LIEcEj8Z
 fIK/mvNkk2skncPg9ZHdKUxoKLZ0OMl10WBLAsFsYrHFjOzGKB506nvev22FRG0E
 y0AnBbk1iBrwmkoR9zdAzED7AqBAKBdJQW9YXA5UTDgCQpAICsnAGiSWoM8ZFQDS
 biMqlRUcimZHUfmLOWplVYGeeHzTszYapLwjNEWg+/iV5cGC4KrtavYHccw0PNLJ
 896ctvJucK9iZ5GwJRG7oZhmdTTppbKZkFsOq9TIoAowJRICNs/3c8CfQDE+2Rkb
 BN7GJ833zjZiJkppye79pRxoLZNRlds68/zutaAGqIlVs7G1inN+L8FN5Dmc4Xhu
 4Bw59kF+v7I4mqz6gNCmKpDwohKiNWx5J8KDaVe/N/AS6nesKZnWuWBUuVIXY8Dp
 uFwCEztXwDLDHJNj/YJezCQOkMHOO1QWeI95Q1k+j8tpwRNSZd8=
 =FQvj
 -----END PGP SIGNATURE-----

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

i.MX drivers change for 5.20:

- Update imx8m-blk-ctrl driver to print the name of the power domain,
  so that the error message becomes more useful.
- Update the error messages in gpcv2 driver by printing the reason why
  a regulator fails to be enabled or disabled.
- A series from Michael Walle to convert the guts driver from a platform
  driver to an core_initcall for getting rid of all those global static
  variables.
- A couple of follow-up fixes on guts driver series.

* tag 'imx-drivers-5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  soc: fsl: guts: check return value after calling of_iomap() in fsl_guts_get_soc_uid()
  soc: fsl: guts: fix return value check in fsl_guts_init()
  soc: imx: imx8m-blk-ctrl: Make error prints useful
  soc: fsl: guts: add serial_number support
  soc: fsl: guts: drop platform driver
  soc: fsl: guts: use of_root instead of own reference
  soc: fsl: guts: allocate soc_dev_attr on the heap
  soc: fsl: guts: embed fsl_guts_get_svr() in probe()
  soc: fsl: guts: remove module_exit() and fsl_guts_remove()
  soc: fsl: guts: machine variable might be unset
  soc: imx: gpcv2: print errno for regulator errors

Link: https://lore.kernel.org/r/20220709082951.15123-1-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-12 22:56:12 +02:00
Arnd Bergmann
62fcbc5c5d TI Driver updates for v5.20
* pruss: Enable support for AM62, bindings cleanups
 * wkup_m3_ipc: cosmetic cleanup
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmLIszwACgkQ3bWEnRc2
 JJ2NCw/9FP2NbmlUGYeKIBpPwodtyvbu0dFVGcfLycEr5HIugbVtQz7yLUa6HFJa
 siaAaK4ZJXncqkVksEcSnRsoleLJUjVSVUN15a1KqgLOA4eNazeE8Sh6xyhf+nyh
 DSbYWYxh423IQk7pPhO5CAThU/+8piSez/6c2hNPgJ5N1h2eu4H9ZQkz8IPOwthd
 6dLVPfsHLhVoK3E+cQAJxS6vlbZnzfvkC8faEOlo86npWSeVVoHGhuatsPH4ImBt
 90ZhLqu6qjH1WDRDVmb0lrNKSH6uNMEzN9qupikhfPUbM8faYh6IzBjcTAVAFqXP
 UYxTPI84gncLKFBvZcCrmiY061pYfM44YunDjcQ5IlhbQppydIv0adLbELNxlCiG
 pG3comeTRufHNWXYyVomYG1GcMHeB64jBQbj1JbH83KzcfPj4xdJGEj21a5xLWGN
 KjqFSZvviq1hbp1ilpB0PdZYBXn7TaTSEoNswWRznnRo/3G1Snlw18s3z17TAB7V
 TeRMNMUHRkQs3rZToAzZWHZDpAn2lDmECQyd/I85enPq8SdKn8/dtazrgUHOnCVP
 tICxL9zBKeuzxaPWivNnlorgHu2JT4Ic+j3YF660auTtvjNP44UYaVAaza1AOTJ0
 /gtmwyzFc2Y33O0oeO3c6JhrB54JZnCYdTJa6HkWK/WETD2Ah8M=
 =xWMZ
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLN36oACgkQmmx57+YA
 GNm25w/+O3guYKzYmLKnUnXa3h8byIN4zMteK7HyaX7gvkoTRj3KZWkAnbmnAuXs
 Jpf6abryCwgO+BGpIBUKH7rGQ5rb1iAVOt7lcomSSM/AY8iiwSPiPoGr/9H29RGs
 o7t5x5Fz3I4y89QrQPZfFqK0DAcAf0mH2raP+wTPoKB+FhXCsXylrVoKFvhhzD+i
 aQVpsKHBiDs414+OeOo0OsHa0j2LAgM+Am/I424DgVQJWJDqvC0knAz3Kq/mZ7DR
 sF7Ebr8cC1a9TK/pMHWe7M6BdUYspywGe11+eiCaByKk+6l60DVpYN/loF5TPfKn
 6PfLYuOXHwgg9AZ4I/pU6z47xwyOZ9RtYyBBbRzHMbQ8nmU4zeGmwDzrpqtEKKc0
 G5H4iP+VN4i/FnbVMJuWcX51EQkvXPbYUWEMBmh6kkJ1Wps6JRlwIqtU0OlDNLWC
 48jyxH+2KTzDTzbDJ64PKrBp5/dMBdOWPM9crQFj17QjqEf3S8QtHuC1m8jgHFh1
 NGTDUJc5AOs6wd8PlES345ZNvi9FYkqSECLkBXPSLiPpkpzpGw80DlHgUVDjFd71
 kptZotYAHqVR6ZIW+EwTuQ/rEXbN6aCUSYJTsA36xAPGfgFs6mSubQIjSHAiDvVr
 RLJ3mFnN9kIJ794v4DufslLJh9BL8ijicB21/t4tO7m3/wr5p0I=
 =n8Bj
 -----END PGP SIGNATURE-----

Merge tag 'ti-driver-soc-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into arm/drivers

TI Driver updates for v5.20

* pruss: Enable support for AM62, bindings cleanups
* wkup_m3_ipc: cosmetic cleanup

* tag 'ti-driver-soc-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  soc: ti: pruss: Enable support for PRUSS-M subsystem on K3 AM62x SoCs
  dt-bindings: soc: ti: pruss: Update bindings for K3 AM62x SoCs
  dt-bindings: soc: ti: pruss: Re-arrange "compatible" in alphabetic order
  soc: ti: wkup_m3_ipc: Remove unneeded semicolon

Link: https://lore.kernel.org/r/20220708232655.reqjdbib52ejdja4@unadvised
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-12 22:55:06 +02:00
Arnd Bergmann
ff6c226953 pmic wrapper:
- code style improvements
 
 devapc:
 - add support for MT8186
 
 Smart Voltage Scaling (SVS)
 - add support for MT8183 and MT8192
 
 MMSYS:
 - Add more display paths for MT8365
 
 Mutex:
 - Add common interface for MOD and SOF table
 - Add support for MDP on MT8183
 - Move binding to soc folder
 - Add support to use CMDQ to enable the mutex, needed by MDP3
 
 Power domains:
 - Add support for MT6795
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAmLIYUUXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH5PJQ/9Ffxj2hvBIijbiomaah+854GZ
 Z6pJjozFRFLfsJW1EcVXVCGWGXm2b1Zj6SY0ReAw+SG0wb983N+ldym0onBjMozd
 Pzo5oImxgZzQVXIW9xreFDf0HsSI9i8IJJaABckW/ZjGPv15z1DRWhw99jeH3C/7
 /eogSqMZrKjxWO5AnGL+3VJxSadFr8sXkxSy0bCr4C0y13hKmp8d9udn5zlnjR/K
 Ubavm0oruCuOPilWgkJi2rwql85cQN+3/21dQTdr6klQK76yfeJgwEGKlqXShrzP
 Heuzn6STHhMaLcXm4I/65jwXIiBmyiLL9jdLtlfHvR4d+2o9oUd0fD+sqcjn6LF2
 K04vmKQ10cSFdXJq+YOzx/h+UThCrb8w0SSyHv83xNMNrjzLEf5ozfD9vjm+ogBd
 oYjrt/y6C61wQcRS/yqnb9AeNLxHdiOFcAmL8c4uwJwdH01OKOWxFfHGX+bGRt0M
 qvmvG9ctdZmQbo1sQmnIdU4za+rEzjMktCjuFY2bdy9CvgKYEUWir1/OGPkrnPQa
 7A+0Pd2QbpDFSLK6kD4Mut8QXckMq9mitMMKFWO4xHstAN0FYvvSIoUPwSTksIaa
 QMNPhKI3wIXFtWnHKyHTLY7IyIUNo34RrOsH5vLFnX63mjrwop+XAwDoa9mwIdN7
 7vZ0XlkI0Xkjkm8V0dI=
 =VZvg
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLNcKsACgkQmmx57+YA
 GNmT6A/7BZy2sgLVuM8Z3rdvpWkuIw1LcvKs+66iAVEeZNrEOh5SWSuY1RffTMiL
 8cGbenKJlmIalBQkUUVVp3dNsGIU89sExdnYSTfKNuKaZpQw1dbY+5s7w6Y72C2h
 /tJ+10LnG2fUJunvdEluENBNqapy+nACazJu1sfXkTp7wD+WQO+bYv0nZrk9sAoo
 YjBU42SpJUX3y7nX/ljnqIqBbyHHIeF7JUByUa5wUlMfA3DnOqlA02DkOGxDUqn+
 F2e7Xozaj5P4pbxddTWX91CWfRcA77ho3R4jre2u8XZMzrClDnajQCtP+PwMssre
 WdWGUo6ENiy85ZohXIl5kBzXy8CoIgjsn6M09lqaEfQh+VVjHK54Ti3KX6ziGLeI
 Gfh12l2zcCtNa40L1oypsISdCDc3SSY79MXiEu8Ux1TJ7O9cmsMyjyKDCwhWixlL
 DFAe1bXMIcwjjC+eOEyBHaAmWOb1xLIn4bsp/A7XzmalSzgYyiU0G8hzx73VS3Q5
 MslcSVwPlHoR6G+RuFjwWJ6fcS/765E3mRN8lbaYUgO5vaJT9faFmgkH7ubOCk8g
 oBV/57f4nd8+ifDqPgDwv6DJNWq8jNBtyEQ+oHSc4lj7UE+jZMor7XPKnArdtL3Q
 /qMqQhTA6rCsXUij6ayKBg3IGia7M13ffP30WerMc8TOixUjQvY=
 =KbI7
 -----END PGP SIGNATURE-----

Merge tag 'v5.19-next-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/drivers

pmic wrapper:
- code style improvements

devapc:
- add support for MT8186

Smart Voltage Scaling (SVS)
- add support for MT8183 and MT8192

MMSYS:
- Add more display paths for MT8365

Mutex:
- Add common interface for MOD and SOF table
- Add support for MDP on MT8183
- Move binding to soc folder
- Add support to use CMDQ to enable the mutex, needed by MDP3

Power domains:
- Add support for MT6795

* tag 'v5.19-next-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux: (29 commits)
  soc: mediatek: mutex: Simplify with devm_platform_get_and_ioremap_resource()
  soc: mediatek: pm-domains: Add support for Helio X10 MT6795
  dt-bindings: power: Add MediaTek Helio X10 MT6795 power domains
  soc: mediatek: SVS: Use DEFINE_SIMPLE_DEV_PM_OPS for svs_pm_ops
  soc: mediatek: mtk-pm-domains: Allow probing vreg supply on two MFGs
  soc: mediatek: fix missing clk_disable_unprepare() on err in svs_resume()
  soc: mediatek: mutex: Use DDP_COMPONENT_DITHER0 mod index for MT8365
  soc: mediatek: mutex: add functions that operate registers by CMDQ
  dt-bindings: soc: mediatek: add gce-client-reg for MUTEX
  dt-bindings: soc: mediatek: move out common module from display folder
  soc: mediatek: mutex: add 8183 MUTEX MOD settings for MDP
  soc: mediatek: mutex: add common interface for modules setting
  soc: mediatek: pm-domains: Add support always on flag
  soc: mediatek: mt8365-mmsys: add DPI/HDMI display path
  soc: mediatek: mutex: add MT8365 support
  soc: mediatek: SVS: add mt8192 SVS GPU driver
  dt-bindings: soc: mediatek: add mt8192 svs dt-bindings
  soc: mediatek: SVS: add debug commands
  soc: mediatek: SVS: add monitor mode
  soc: mediatek: SVS: introduce MTK SVS engine
  ...

Link: https://lore.kernel.org/r/b733bd82-6d99-23ef-0541-98e98eb8d3bc@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-12 15:01:31 +02:00
Arnd Bergmann
611f6810aa - build mbus driver only for ARM/ARM64
-----BEGIN PGP SIGNATURE-----
 
 iHQEABYIAB0WIQSPRixG1tysKC2PKM10Ba7+DO8kkwUCYsheqwAKCRB0Ba7+DO8k
 k7xXAPUaMzZC7hw5aig/vfEbE9Q8NFijF6RNNr0U/S/v/+SyAP9DCz+VFenf4PlS
 7jYPclrQe96RVe6hiPiQUJ+IWbxdBg==
 =qzHn
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLNcG0ACgkQmmx57+YA
 GNkGLQ/+MkLSKGKeemsL/Q7B+cGcQT87J08qHbVsI2le7JiO3G6uhdKssxbta0np
 Y3vW8YFhYYxPLS7o2XqghBKWMTr6dbmlwEKWechq73Zi5mHmb846lDUZ3CHMVbQN
 r65n2FghXdRM1dNrpqVGv5jHBSJnCaZwrNYfXXfEw5ETLTXMMtdBqsxLj1JHYGWJ
 HijfV5cR+iuW5LykmSsUSD3oj0JrxndGIrjh6qZ3fpSNdanGV1Z26vHfIfL/UMOu
 6m0SVLrlmQmNfdHOZEcz4/aaN3I5aVxOGXruw0jKVCCEQZzkIYHtI2D+2RbJDGMz
 9nkQOsH98AMgp46EPfBYZ19XofcFvomJvtq02jEEHyV8HrXZVSMt1jK77vvxjFJV
 XVpZr5UpnSVQx3ritRIG2yVYj2QGJGl1bJ+O2ypazz/shH/Fc2PbGKlsteboRNi4
 T3dSIrTy9B+tAonkXMwQ1l6Uc+4yQWgzOvIr5MK4WPJWq8TlRPr7i5ABZdT5krFM
 OqYwv1YCVZuNOjEU67/HWt+ICnU1OPZS8mLZUUMfb6nF3PuxH1F7GMhItaBfz75E
 cCa4+CglrGSedXnLAjw3ZrZ4BGhW+Hr8CbGmnNQNtdzUCzJasetUTyW6Z3aOTAIR
 Os9rKkUY3LmUMg7/9ogZaTMPp7w3BbNvUA0oBhppIZPangLHws0=
 =rne0
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-drivers-for-5.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/drivers

- build mbus driver only for ARM/ARM64

* tag 'sunxi-drivers-for-5.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  soc: sunxi: mbus: Only build the driver on ARM/ARM64

Link: https://lore.kernel.org/r/YshfPux1c2x9S7Fi@kista.localdomain
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-12 15:00:29 +02:00
AngeloGioacchino Del Regno
4d3ddc9bce soc: mediatek: mutex: Simplify with devm_platform_get_and_ioremap_resource()
Convert platform_get_resource(), devm_ioremap_resource() to a single
call to devm_platform_get_and_ioremap_resource(), as this is exactly
what this function does.

While at it, also remove a redundant call to of_address_to_resource(),
as this was getting the address of the same resource index 0: we can
as well get the iostart from the 'regs' pointer.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220623121701.107512-1-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-07-08 10:29:17 +02:00
AngeloGioacchino Del Regno
2b5764fb7b soc: mediatek: pm-domains: Add support for Helio X10 MT6795
Add pm-domains (mtcmos) data for MediaTek Helio X10 MT6795 SoC.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220503141441.125852-3-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-07-08 10:26:30 +02:00
Arnd Bergmann
8fcdf10295 arm64: ZynqMP SoC changes for v5.20
- Register SGI separately out of EEMI
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQbPNTMvXmYlBPRwx7KSWXLKUoMIQUCYsbo6QAKCRDKSWXLKUoM
 IRL/AJ9mGQtMNdf1hmlf6M+9IMGWcIFJ+gCeKzBZ5LTEDLszQDxqHyHrtxDQ0Uw=
 =SSyQ
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLH2J0ACgkQmmx57+YA
 GNkNcg//VEbdBHgjNmTriDMWV1+g8dz4l0wrlUHBgza0ZEKZJ4DuM61r7WT5+M/3
 u+ahD4ZV2EdUk95OhHFRPI2bjKZBvHLJSdWColjD/Xd8Vd4PqmYkviv/080hB5tF
 lcM86m3G0IFWoeBExn7kdvc7q9uLEl7jn4UhqiukTqOeVquv54w/MG5df4k70oKX
 60KUY+eScYenj2cGKnb+/D1XMWde1bhAoADss3UtlxdS6PTc8zdHsoi6L/0BslPg
 5zOAH0Bat/Y+9Z92jHatw1LBpwh4pB8MRzD6E+m4t/hA7YvhF7MfWXEEKBRJ1XcI
 ekHzKqDO1+GBEfiZ1/+ZpgB4rGcTFqdtOYJPp5GiJbt/ju281fm7gq5WSP107kLN
 l6TR8WLC+PjJaR60oqWH9uooUWaMWP84WPwPGIWYt5En13KFDkQNlZnS2EKDMzlR
 c3O3v2FXkSrPb7XV7sg///dSuS4G2Qkt6LD5ZnU+qRE4mlOYhHdCZvC5e8bX4iFV
 vDTe8cUbmTmfdRI2kZrHeWKwRuMNLk9WM7w5OtL5NdD9155ZSUMs6VEtoWyDbFHT
 BEMMOm5YfufYG/h3ZvT3ylTeCO9BQ1T8biuKwmdvshy5t9OiJ5rthgtLIYwzWfZx
 M5XdESDnwCJVdnSpwvhSsDJ1HgU9tndVIHyubFPLg4sxb3U3TBw=
 =CF+P
 -----END PGP SIGNATURE-----

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

arm64: ZynqMP SoC changes for v5.20

- Register SGI separately out of EEMI

* tag 'zynqmp-soc-for-v5.20' of https://github.com/Xilinx/linux-xlnx:
  firmware: xilinx: Add TF_A_PM_REGISTER_SGI SMC call

Link: https://lore.kernel.org/r/0196d1f3-e9c7-ef51-143d-e98b14980f63@monstr.eu
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-08 09:11:25 +02:00
Viresh Kumar
25a18559b8 soc/tegra: Migrate to dev_pm_opp_set_config()
The OPP core now provides a unified API for setting all configuration
types, i.e. dev_pm_opp_set_config().

Lets start using it.

Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2022-07-08 11:27:33 +05:30
Viresh Kumar
a6db3b9232 soc/tegra: Add comment over devm_pm_opp_set_clkname()
Explain why special handling was required here, it isn't obvious at all.

Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2022-07-08 11:27:33 +05:30
Viresh Kumar
87686cc845 OPP: Make dev_pm_opp_set_regulators() accept NULL terminated list
Make dev_pm_opp_set_regulators() accept a NULL terminated list of names
instead of making the callers keep the two parameters in sync, which
creates an opportunity for bugs to get in.

Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Steven Price <steven.price@arm.com> # panfrost
Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2022-07-08 11:26:44 +05:30
Nathan Chancellor
c749d676a3 soc: mediatek: SVS: Use DEFINE_SIMPLE_DEV_PM_OPS for svs_pm_ops
When building this driver for an architecture that does not support
CONFIG_PM_SLEEP, such as hexagon, the following warnings occur:

  drivers/soc/mediatek/mtk-svs.c:1481:12: error: unused function 'svs_suspend' [-Werror,-Wunused-function]
  static int svs_suspend(struct device *dev)
             ^
  drivers/soc/mediatek/mtk-svs.c:1515:12: error: unused function 'svs_resume' [-Werror,-Wunused-function]
  static int svs_resume(struct device *dev)
             ^
  2 errors generated.

This happens because SIMPLE_DEV_PM_OPS uses SET_SYSTEM_SLEEP_PM_OPS,
which evaluates to nothing when CONFIG_PM_SLEEP is not set, leaving the
functions unused in the eyes of the compiler.

This problem was rectified in commit 1a3c7bb088 ("PM: core: Add new
*_PM_OPS macros, deprecate old ones") with new macros. Use
DEFINE_SIMPLE_DEV_PM_OPS to fix the warning while not changing
svs_pm_ops when CONFIG_PM_SLEEP is set.

Fixes: 681a02e950 ("soc: mediatek: SVS: introduce MTK SVS engine")
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Link: https://lore.kernel.org/r/20220622175649.1856337-1-nathan@kernel.org
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-07-07 12:07:23 +02:00
AngeloGioacchino Del Regno
13bde169c6 soc: mediatek: mtk-pm-domains: Allow probing vreg supply on two MFGs
MediaTek SoCs have multiple MFG power-domains, exclusively used for
the GPU which, in turn, requires external power supplies: make sure
to have the MTK_SCPD_DOMAIN_SUPPLY cap on the two topmost MFGs to
allow voting for regulators on/off upon usage of these power domains.

This also ensures that the SRAM is actually powered and that we're
not relying on the bootloader leaving this supply on when performing
the first (and latter) poweron sequence for these domains' sram.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220623123850.110225-2-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-07-07 12:07:23 +02:00
Kishon Vijay Abraham I
f16afe238a soc: ti: pruss: Enable support for PRUSS-M subsystem on K3 AM62x SoCs
The K3 AM62x family of SoC has one PRUSS-M instance and it has two
Programmable Real-Time Units (PRU0 and PRU1). This does not support
Industrial Communications Subsystem features like Ethernet.

The existing pruss platform driver has been updated to support this
through a new AM62x specific compatible.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20220602120613.2175-4-kishon@ti.com
2022-07-06 19:34:45 -05:00
Krzysztof Kozlowski
b9c2ae6cac soc: qcom: icc-bwmon: Add bandwidth monitoring driver
Bandwidth monitoring (BWMON) sits between various subsytems like CPU,
GPU, Last Level caches and memory subsystem.  The BWMON can be
configured to monitor the data throuhput between memory and other
subsytems.  The throughput is measured within specified sampling window
and is used to vote for corresponding interconnect bandwidth.

Current implementation brings support for BWMON v4, used for example on
SDM845 to measure bandwidth between CPU (gladiator_noc) and Last Level
Cache (memnoc).  Usage of this BWMON allows to remove fixed bandwidth
votes from cpufreq (CPU nodes) thus achieve high memory throughput even
with lower CPU frequencies.

The driver was tested on SDM845.

Co-developed-by: Thara Gopinath <thara.gopinath@gmail.com>
Signed-off-by: Thara Gopinath <thara.gopinath@gmail.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220704121730.127925-3-krzysztof.kozlowski@linaro.org
2022-07-06 15:57:51 -05:00
Florian Fainelli
681f872a2e Immutable branch between MFD and SoC due for the v5.20 merge window
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEdrbJNaO+IJqU8IdIUa+KL4f8d2EFAmLFdx8ACgkQUa+KL4f8
 d2H8RxAAqTUJPtcFTM3Yy3xBJo4kdVHac/aok5nn+GOQ4yP+UmZgsl6PA35Ly2dL
 fuNmGZonlMxiQ56S0vX1/AxJukTGDPti6bO1uIl2hd+9hk3CQLMEbu4l1FQ0sFW1
 6iUxKKu8VcfYqEVck6Hew2hn7xa/SlpaUcnb3bUj8+w/+0m9ejOQ2MjQD8WdvlFy
 QEDl4CY5MF/tYUCzqFbvMTGhpoCRi6XK0DTV9BIt9kogsYV7gmaIp0E3nr67BaUX
 hR9+yBfzjFqzzrqyMsVu+8kLeMi9rBFSKgiCn6Uvmgkpn6lz8wk2gQurs6bJSGo4
 B94DwaWpYCMBC6pv5VHCRESPSIbLbwiB8ct26TW2FWroVsp26G+ssXRpst2hn272
 ByVjyv3waewFTzCAmvXYrbdgBp7lvBvsnodEfPcaCfGdKOAe28j2qD1iutQUhA8S
 MwabDnhNr1X9zrtKfh0p+xJXQTby88euBnRBZn0r/gFH14mMiJiYHiU8u7+HedLH
 S/WypbJbhlNSXvhVrkaWP1krJfoD1eeuqlERvoADXHqquZQHaL2V2/9P0wwr0wFr
 2x4gROE8jmd+zKkuWNHCHgMl6AUOmoDOmZE7P3SVvh4f9tCcR/KO0uDT9DwW/cQk
 qWGdEcxGIeRyrEIoCOZs6LBEjNKHWg1e+Zau0pSPlJIbtugxjpI=
 =a2u7
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmLFtcYACgkQh9CWnEQH
 BwTaog/+OO0ibxO2+okYcxVM5JQN3eYEc5iMGvNH53kyIe6+vA5S7hq2ceOkhkCs
 n6K0KyblYP9aqk9RXKFT41vXN1A3vdDc1Hbm0G+H8uPRmzkmgUAzoKp5H7cypGLB
 vq0x0QFgYau0HxDgTmr2BEes247SOFKj3t18CMn3WaUgGipbO4xIcL4ghHTPWgYc
 21NYupCBobikzZEGlDSl8N1J/MH8IpmaJyCeFzLySsL+Q2TpbtXsCGp/z4hm2KXn
 LcQONpL3aRKmGw91F2kgV3Hj1gVYLGD1dC62R+KtmFLfUW42+mLl32zQjVfEe5xm
 CdnEL3X4J2yyPxEU33dNCAldV6uq3UGjOdXCjn5pOSF9ZROer8Xuq7TEw7lrZYEP
 XCwyfmbddYtIXNk99IdupQz2QiGi9H8MBYjG4Mqw4xL/dw2wBvalNOWKnJc6kqOD
 dNvtlQEYxN7FOZILJmGF2K2rCNYi1AOmGRAlA1cBk3a0+ylL+T3TVALUlfpQAqN4
 Oro9HXeKBA9L09mNyK3by3ZgmpP8flYwmKbpwtINgIWMPzoirgZx4m5BK6XqVaMB
 LJ7RvxqYjroptAiAV+nZzlFF3a/gLQhu1SByDLP5phySnJIzPSmiP2Z9VzCld3k7
 /O8jMj+qTI7VoTqVLP7b5OjboMEfzTtfoWmt+DEqG+f4RbYYX6Q=
 =nZ56
 -----END PGP SIGNATURE-----

Merge tag 'tags/ib-mfd-soc-bcm-v5.20' into drivers/next

Immutable branch between MFD and SoC due for the v5.20 merge window

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2022-07-06 09:18:05 -07:00
Samuel Holland
db1bfbd60e soc: sunxi: mbus: Only build the driver on ARM/ARM64
This driver exists as a workaround for old devicetrees which are missing
interconnects properties, so it is only useful for those specific
platforms, which all happen to be ARM or ARM64.

This solves the issue that the driver fails to build on RISC-V, where
PHYS_OFFSET is not defined.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20220702032520.22129-1-samuel@sholland.org
2022-07-05 22:05:59 +02:00
Konrad Dybcio
7d0221fb59 soc/qcom: Make QCOM_RPMPD select PM_GENERIC_DOMAINS/_OF
The driver uses generic genpd OF APIs and with a very minimal config
where nothing else selects them, this driver will not probe, as
of_genpd_add_provider_onecell will return -EOPNOTSUPP.

Make sure to select these in Kconfig to prevent that.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220701073700.17124-1-konrad.dybcio@somainline.org
2022-07-05 11:16:46 -05:00
Yang Yingliang
63f9815307 soc: fsl: guts: check return value after calling of_iomap() in fsl_guts_get_soc_uid()
of_iomap() may return NULL, so we need check the return value.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Michael Walle <michael@walle.cc>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2022-07-05 08:41:55 +08:00
Yang Yingliang
edf12b913a soc: fsl: guts: fix return value check in fsl_guts_init()
In case of error, of_iomap() returns NULL pointer not ERR_PTR().
The IS_ERR() test in the return value check should be replaced
with NULL test and return -ENOMEM as error value.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Michael Walle <michael@walle.cc>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2022-07-05 08:41:20 +08:00
Bill Wendling
0ec29ccf94 soc: qcom: smem: use correct format characters
When compiling with -Wformat, clang emits the following warnings:

drivers/soc/qcom/smem.c:847:41: warning: format specifies type 'unsigned
short' but the argument has type 'unsigned int' [-Wformat]
                        dev_err(smem->dev, "bad host %hu\n", remote_host);
                                                     ~~~     ^~~~~~~~~~~
                                                     %u
./include/linux/dev_printk.h:144:65: note: expanded from macro 'dev_err'
        dev_printk_index_wrap(_dev_err, KERN_ERR, 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__);                       \
                             ~~~    ^~~~~~~~~~~
drivers/soc/qcom/smem.c:852:47: warning: format specifies type 'unsigned
short' but the argument has type 'unsigned int' [-Wformat]
                        dev_err(smem->dev, "duplicate host %hu\n", remote_host);
                                                           ~~~     ^~~~~~~~~~~
                                                           %u
./include/linux/dev_printk.h:144:65: note: expanded from macro 'dev_err'
        dev_printk_index_wrap(_dev_err, KERN_ERR, 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__);                       \
                             ~~~    ^~~~~~~~~~~

The types of these arguments are unconditionally defined, so this patch
updates the format character to the correct one and change type of
remote_host to "u16" to match with other types.

Signed-off-by: Bill Wendling <morbo@google.com>
Tested-by: Justin Stitt <jstitt007@gmail.com>
Reviewed-by: Justin Stitt <jstitt007@gmail.com>
Link: https://github.com/ClangBuiltLinux/linux/issues/378
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-04 14:26:51 +02:00
Nicolas Saenz Julienne
9e95c67efa soc: bcm: bcm2835-power: Bypass power_on/off() calls
Bypass power_on/power_off() when running on BCM2711 as they are not
needed.

Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20220625113619.15944-12-stefan.wahren@i2se.com
2022-07-04 11:59:55 +01:00
Stefan Wahren
a7120238c2 soc: bcm: bcm2835-power: Add support for BCM2711's RPiVid ASB
In BCM2711 the new RPiVid ASB took over V3D. The old ASB is still present
with the ISP and H264 bits, and V3D is in the same place in the new ASB
as the old one.

Use the fact that 'pm->rpivid_asb' is populated as a hint that we're on
BCM2711.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20220625113619.15944-11-stefan.wahren@i2se.com
2022-07-04 11:59:43 +01:00
Stefan Wahren
a6a1747a5c soc: bcm: bcm2835-power: Resolve ASB register macros
The macros in order to access the ASB registers have a hard coded base
address. So extending them for other platforms would make them harder
to read. As a solution resolve these macros.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20220625113619.15944-10-stefan.wahren@i2se.com
2022-07-04 11:59:32 +01:00
Stefan Wahren
c494a447c1 soc: bcm: bcm2835-power: Refactor ASB control
The functions to control the async AXI bridges are almost identical.
So define a general function to handle it and keep the original ones as
wrapper. This should make this driver easier to extend.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20220625113619.15944-9-stefan.wahren@i2se.com
2022-07-04 11:59:21 +01:00
Arnd Bergmann
aa61fa3e36 Amlogic Drivers changes for v5.20:
- Fix refcount leak in meson-secure-pwrc.c
 - Fix refcount leak in meson_mx_socinfo_init
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmK+qqwACgkQd9zb2sjI
 SdERLRAA0CWCXOmUbHvpLZc/Pjac16sMJ5Cc7Y8Az/tf17UAAekuay6w11ZIdKWW
 XBSY7McC/+hVaJcT2QANo4Axo3Br2T80osGMEv2CdQ6X6m7fP/rAVCaq2T1CeuZS
 Vombc5tgqTdiNh3pT8sFV6dTorGe+mEUxy1p1epKIoHTm2TR9erbrCsV1yG+O83q
 yC+M89dqAtb925uAp6FbQX/e81vnbezBCdyWd3iNaseZ0pmPlOXHrTgtPmAcb2eC
 RxVOJo0Uc0SeEOd6Cq5sD92pNQ53jwJcs4KUzZZC52/Ni7TkDexcwIn7UqazFYe2
 vPPE66CgI0wWveDRPPyOVkh1QJrsk+TPDIBGLX8vxRv2VhEUykFle8tao1Tn4Cpx
 Nd0ApfuB60yEGsZnqbV1SxnJu59BbFETGKOWKcImKEnC/c1sne6DVbzkFfzUKyIr
 dIy48lIku9gQko6vk90iRzFIP0Dd2KhwJhWUbm0necakzNWBD2sB19r9dTmtfJ/Q
 SsiKo4Ts/oKAMfdttGt9iPdtfsysX8wnAuCo9UXdjPS60zuke64GEQ2ISKc/6VJN
 vny5ebNhkJbmdjqYlJZ5BzBbYTN307qSmHs8ZBhdLiSLMgfhyBtnooLyGtb+Ddb8
 P/L5g95jlpKzqaQAiMrvz2kmIjpPm2rZp9imGr7akL8sG50y1eU=
 =T3Kd
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmK/V6IACgkQmmx57+YA
 GNkBGw//WcS2pTHRjQUYg5Bcy+13dDgWq4XHwtoBuBPBg7J6CNVfbNKUqO9ukcY+
 paYroFcb+KVSP+aQqJndit4fSp+Pr4eKb5rwKnjbXg/OiJhpmiOrUb0xzoJCHIH/
 jtBJ/H7NLzY4gCGMy3bD7RyrE1J7KblenlYy8b+6c26zdGnQRI5tATTqNM3N6Y8X
 wMRphRGbdv87eZ0akGTp/lWgVlsD4LPpOGaxWpLyzRUwElDz2IE68rj5y5X14KBu
 yU2rvmx2Us3rVSKMA4xp6nlTzHkCN3Q/S8R4j2aR6DaYDpdSTmthk6Hm5/RR3il7
 xwWTQRB2U2Ap0zYDymmFd6KOnViM1sWghiQEL0celQVpkxWDKcFwbURiRLgnK+5z
 2sms67A2IcUpXNulZVoBFwwjlKlS4H4u5lW/B89Xm9lS2WYACEiPuBSixJ4C+vBY
 eYOvE2YqXQTY9Ylqv78ceAnpokcDrHPBz6ZQ8O7xWFF27yRihcoU8jS7RH2XB6DH
 zeQK6B0+btbFo9u7FTvhwFgVKkCg5z5VXjI1+nzZYyfOrApYDI7MCe3Vx2rfS/fu
 dmBZ+j/8GyDlpSYX5IWBMs3pBFEk37nHRckpLsRldKvK75wMrlMqDx9e5QaP6nTc
 2j+pjIVQt+PwdmQSt/bcTZOoO8AxYAE0q+a8pHFHgW9oHJs3Vuc=
 =KaI8
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-drivers-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into arm/drivers

Amlogic Drivers changes for v5.20:
- Fix refcount leak in meson-secure-pwrc.c
- Fix refcount leak in meson_mx_socinfo_init

* tag 'amlogic-drivers-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  soc: amlogic: Fix refcount leak in meson-secure-pwrc.c
  meson-mx-socinfo: Fix refcount leak in meson_mx_socinfo_init

Link: https://lore.kernel.org/r/0c01e173-9abf-69ac-7882-e6ecc3935c33@baylibre.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-01 22:22:57 +02:00
Arnd Bergmann
92a1691b9d Renesas driver updates for v5.20
- Small fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCYrVvaQAKCRCKwlD9ZEnx
 cErcAP9I7JffzrhKlkPAxuVWcjW1skuj4y5K31M2Wsz3sFRddgEAoyYRm9H2cUHu
 CJMqvds7W1MVtgvTbOKjnMx6pjx3egQ=
 =tqeB
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmK/V0sACgkQmmx57+YA
 GNnXFw/+MIOR9IgRmkb71G91IB4Y++e2TW5dTIu4elmWBgfLWx963wYSAsLAqSsn
 6kGqBoKOJCv5UM+EROeN/yiG97YtsDWa4nTZHHP0sTPmL8uzy9AeT2PhSE1weL8U
 R0BVnOL8WG94j/eQS9KbSDg1A6wvbxcp7796nCGkI2n7jCir0Tmu83Fa/TvWMtP+
 iq0ziZbXse1aPK4y/AVbg6yF9ONLo6WcebLu8tWkVUEAU4T8TvyM1pPiBVUlTqPB
 3dfKfnZ+xjTnJzCi15MuIvopYOozrSjYFmD4Wt9WIns6+ZZIccTzae0c9hfGpYFd
 ZfC6uS5ILWxUyyRbIwBW1EzcCkI7479g27wVWSuxc4inV1Y5MKp4yc0hsbX4vqZD
 po6AC0ciwG1NfE7pmPEPzcrxsxNLOdQ6UmtKQT9wHVik/b6vl7MkmFXV8Co13qNu
 Nz/4fh/Cq4+JdhFxYBUPAXTcEzWLmeUgozIXZKVy1xKTWP/9RoLtOmJkXsYZuyWo
 ZvJ23Q3zPu3/wkvVPBlUTHddt9m5t6bwt1KvCTA7SqJ2iwnr9NW3Wbyc0qYjoAqi
 ZS2Mjfhq4Wfme4eF+gXHfIO2Qx7Sln4pnzQzE1wz7jdj/wKhXYR/lzxt24BKlBKC
 HwcrnYlf8seQT8eTUPmuIMW7VkQHUrUHCMSHqr2/QRa0nBflR5g=
 =Y6m1
 -----END PGP SIGNATURE-----

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

Renesas driver updates for v5.20

  - Small fixes and improvements.

* tag 'renesas-drivers-for-v5.20-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: rcar-sysc: Optimize rcar_sysc_area struct sizes
  soc: renesas: r8a779a0-sysc: Fix A2DP1 and A2CV[2357] PDR values

Link: https://lore.kernel.org/r/cover.1656069638.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-01 22:21:31 +02:00
Arnd Bergmann
a38dbb4f20 AT91 fixes for 5.19
It contains 3 SoC fixes and 2 DT fixes:
 SoC:
 - fix the wakeup from RTC and RTT for ULP1 mode
 - fix section mismatch warning
 - fix SAM9X60 SiP detection
 
 DT:
 - fixes the EEPROMs compatibles for sama5d2_icp and sam9x60ek and EEPROM
   size for sam9x60ek
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCYrraHQAKCRCejrg/N2X7
 /SttAQDmoJ4WB6+osorxNV+G9CnHZHQJHjI0X2ZTUGj59k6vIAEAu+LGjHyUmxVe
 TfYbnfaAgOICc8HsC2CbdkeR01RqNAM=
 =x+2+
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmK+81wACgkQmmx57+YA
 GNlQiBAAjEhrj2SQkigFGgGR+YFo+se/gNwOBz3OXZ6VyVFVqAKaaqC0MBM9OyBD
 Yyf6nGTT+VLe+Ekc/y7GtIW2oaCDTansk6E+MXe8QSHzs3T6BmKONAIH1YqUFZ3a
 0YCR9jBlIL16l3X08KnAhOm35iaqO0SgEZ9RDfGfTIWDAFmBis5rst5VreAlEbPp
 9LPsKYFjd7tqP1jFYpgE8UTkDZgS3rQHnsBAKKCLXT0tFTudgGk5B9/3Ni0V1wM2
 3ubf+1CW2vvbfXFtpruRzNlZ+Li3fZ0/b1bXRGXLZLRh2+/LvMVLEb/KN9Ln20hZ
 pYT0IYJhfu8MWgcZUof1Qnc437nDie7YoJ1JrDV13uhDhlBwW/E3KMtXLWvX07n3
 9p6IvbVGX/Wen7j1MWyOztJ55j4XbJebNcm2s/uXygjT3f4zsVk9HbFHpfiElPSZ
 xfqGRz+3ygRRA/itE3SMnmiCKRKip99NH9ohstzPg6xJ882fPQo+3BGFGo1AN4Mw
 Evj4bvDWX6NBgR1LSJFv0JG82wWWKm9byxcpKGXJ6g5dTwmyC/a+HHnmZ+iDWiq/
 BYtyS3iuE/5YFp7tO9AXYBfQyiMZ3VlKt0KqCK2GFxa7KN7CY2fALusVt44WJY7E
 FFwDvQ5kvAdERvVG4ddYGHj7Hjg9euDpht/l3fqIkNaFtWM27fo=
 =CHPb
 -----END PGP SIGNATURE-----

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

AT91 fixes for 5.19

It contains 3 SoC fixes and 2 DT fixes:
SoC:
- fix the wakeup from RTC and RTT for ULP1 mode
- fix section mismatch warning
- fix SAM9X60 SiP detection

DT:
- fixes the EEPROMs compatibles for sama5d2_icp and sam9x60ek and EEPROM
  size for sam9x60ek

* tag 'at91-fixes-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: at91: pm: Mark at91_pm_secure_init as __init
  ARM: at91: fix soc detection for SAM9X60 SiPs
  ARM: dts: at91: sama5d2_icp: fix eeprom compatibles
  ARM: dts: at91: sam9x60ek: fix eeprom compatible and size
  ARM: at91: pm: use proper compatibles for sama7g5's rtc and rtt
  ARM: at91: pm: use proper compatibles for sam9x60's rtc and rtt
  ARM: at91: pm: use proper compatible for sama5d2's rtc

Link: https://lore.kernel.org/r/20220628135130.3114878-1-claudiu.beznea@microchip.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-01 15:15:08 +02:00
Linus Walleij
620f83b832
soc: ixp4xx/npe: Fix unused match warning
The kernel test robot found this inconsistency:

  drivers/soc/ixp4xx/ixp4xx-npe.c:737:34: warning:
  'ixp4xx_npe_of_match' defined but not used [-Wunused-const-variable=]
     737 | static const struct of_device_id ixp4xx_npe_of_match[] = {

This is because the match is enclosed in the of_match_ptr()
which compiles into NULL when OF is disabled and this
is unnecessary.

Fix it by dropping of_match_ptr() around the match.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20220626074315.61209-1-linus.walleij@linaro.org'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-01 15:14:26 +02:00