Commit graph

1,294,546 commits

Author SHA1 Message Date
Kang Yang
3b0989e925 wifi: ath12k: avoid duplicated vdev stop
ath12k_mac_op_unassign_vif_chanctx() will do vdev stop in
ath12k_mac_monitor_stop(). This ath12k_mac_vdev_stop() will do vdev stop
again, then might trigger firmware crash.

So add judgement to avoid duplicated vdev stop.

Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3

Fixes: c9e4e41e71 ("wifi: ath12k: move peer delete after vdev stop of station for WCN7850")
Signed-off-by: Kang Yang <quic_kangyang@quicinc.com>
Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://msgid.link/20240429081525.983-3-quic_kangyang@quicinc.com
2024-05-07 13:18:23 +03:00
Kang Yang
782615f280 wifi: ath12k: remove unused variable monitor_flags
monitor_flags is defined in struct ath12k. Although it is changed in
some places, but it is not actually used.

So remove related code.

Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3

Signed-off-by: Kang Yang <quic_kangyang@quicinc.com>
Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://msgid.link/20240429081525.983-2-quic_kangyang@quicinc.com
2024-05-07 13:18:23 +03:00
Tamizh Chelvam Raja
582e94ebe2 wifi: ath12k: Remove unused tcl_*_ring configuration
Currently memory allocation for multiple hardware rings done
in host as these memory will be used by firmware/hardware.
But in case of tcl_cmd_ring and tcl_status_ring neither firmware
nor hardware uses host allocated memory and it uses memory
allocated by firmware itself. So avoid tcl_cmd_ring and
tcl_status_ring setup in host.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1

Signed-off-by: Tamizh Chelvam Raja <quic_tamizhr@quicinc.com>
Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://msgid.link/20240430091414.2486196-4-quic_tamizhr@quicinc.com
2024-05-07 13:08:49 +03:00
Tamizh Chelvam Raja
ed07ff6745 wifi: ath12k: Remove unsupported tx monitor handling
Currently tx monitor is not supported in driver. So remove
the tx monitor ring configuration, allocation and handling.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1

Signed-off-by: Tamizh Chelvam Raja <quic_tamizhr@quicinc.com>
Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://msgid.link/20240430091414.2486196-3-quic_tamizhr@quicinc.com
2024-05-07 13:08:49 +03:00
Tamizh Chelvam Raja
9f74e7b306 wifi: ath12k: fix calling correct function for rx monitor mode
Currently in ath12k_dp_tx_htt_monitor_mode_ring_config()
ath12k_dp_tx_htt_tx_monitor_mode_ring_config() function wrongly called twice.
Fix that by calling ath12k_dp_tx_htt_rx_monitor_mode_ring_config().

Currently monitor mode is disabled in driver so the change is compile
tested and boot sequence verified.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1

Signed-off-by: Tamizh Chelvam Raja <quic_tamizhr@quicinc.com>
Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://msgid.link/20240430091414.2486196-2-quic_tamizhr@quicinc.com
2024-05-07 13:08:49 +03:00
Breno Leitao
10d2b4f4aa wifi: wil6210: Do not use embedded netdev in wil6210_priv
Embedding net_device into structures prohibits the usage of flexible
arrays in the net_device structure. For more details, see the discussion
at [1].

Un-embed the net_device from struct wil6210_priv by converting it
into a pointer. Then use the leverage alloc_netdev_dummy() to allocate
the net_device object at wil_if_add(). The free of the device
occurs at wil_if_remove().

Link: https://lore.kernel.org/all/20240229225910.79e224cf@kernel.org/ [1]
Signed-off-by: Breno Leitao <leitao@debian.org>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://msgid.link/20240503103304.339489-1-leitao@debian.org
2024-05-07 13:05:24 +03:00
Michal Wajdeczko
5b882c1e5a drm/xe: Fix xe_mocs.h
We don't need to include <linux/types.h>.
We don't use struct xe_exec_queue here.
We should sort forward declarations.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240506205254.2659-1-michal.wajdeczko@intel.com
2024-05-07 12:03:49 +02:00
Venkateswara Naralasetty
4c2b796be3 wifi: ath11k: skip status ring entry processing
If STATUS_BUFFER_DONE is not set for a monitor status ring entry,
we don't process the status ring until STATUS_BUFFER_DONE set
for that status ring entry.

During LMAC reset it may happen that hardware will not write
STATUS_BUFFER_DONE tlv in status buffer, in that case we end up
waiting for STATUS_BUFFER_DONE leading to backpressure on monitor
status ring.

To fix the issue, when HP (Head Pointer) + 1 entry is peeked and if DMA is not
done and if HP + 2 entry's DMA done is set, replenish HP + 1 entry and start
processing in next interrupt. If HP + 2 entry's DMA done is not set, poll onto
HP + 1 entry DMA done to be set.

Also, during monitor attach HP points to the end of the ring and TP (Tail
Pointer) points to the start of the ring.  Using ath11k_hal_srng_src_peek() may
result in processing invalid buffer for the very first interrupt. Since, HW
starts writing buffer from TP.

To avoid this issue call ath11k_hal_srng_src_next_peek() instead of
calling ath11k_hal_srng_src_peek().

Tested-on: IPQ5018 hw1.0 AHB WLAN.HK.2.6.0.1-00861-QCAHKSWPL_SILICONZ-1

Signed-off-by: Venkateswara Naralasetty <quic_vnaralas@quicinc.com>
Co-developed-by: Tamizh Chelvam Raja <quic_tamizhr@quicinc.com>
Signed-off-by: Tamizh Chelvam Raja <quic_tamizhr@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://msgid.link/20240429073624.736147-1-quic_tamizhr@quicinc.com
2024-05-07 13:00:01 +03:00
Krzysztof Kozlowski
7c18b0a5aa clk: samsung: gs101: drop unused HSI2 clock parent data
Drop static const arrays with HSI2 clocks parent data which are not
referenced by any clock.  This might cause -Werror=unused-const-variable
warnings.

Reported-by: Stephen Boyd <sboyd@kernel.org>
Closes: https://lore.kernel.org/all/8bf65df598680f0785c3d6db70acfb9a.sboyd@kernel.org/
Fixes: 093c290084 ("clk: samsung: gs101: add support for cmu_hsi2")
Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
Link: https://lore.kernel.org/r/20240507055948.34554-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2024-05-07 11:47:39 +02:00
Paolo Abeni
7824463aae Merge branch 'remove-rtnl-lock-protection-of-cvq'
Daniel Jurgens says:

====================
Remove RTNL lock protection of CVQ

Currently the buffer used for control VQ commands is protected by the
RTNL lock. Previously this wasn't a major concern because the control VQ
was only used during device setup and user interaction. With the recent
addition of dynamic interrupt moderation the control VQ may be used
frequently during normal operation.

This series removes the RNTL lock dependency by introducing a mutex
to protect the control buffer and writing SGs to the control VQ.

v6:
	- Rebased over new stats code.
	- Added comment to cvq_lock, init the mutex unconditionally,
	  and replaced some duplicate code with a goto.
	- Fixed minor grammer errors, checkpatch warnings, and clarified
	  a comment.
v5:
	- Changed cvq_lock to a mutex.
	- Changed dim_lock to mutex, because it's held taking
	  the cvq_lock.
	- Use spin/mutex_lock/unlock vs guard macros.
v4:
	- Protect dim_enabled with same lock as well intr_coal.
	- Rename intr_coal_lock to dim_lock.
	- Remove some scoped_guard where the error path doesn't
	  have to be in the lock.
v3:
	- Changed type of _offloads to __virtio16 to fix static
	  analysis warning.
	- Moved a misplaced hunk to the correct patch.
v2:
	- New patch to only process the provided queue in
	  virtnet_dim_work
	- New patch to lock per queue rx coalescing structure.
====================

Link: https://lore.kernel.org/r/20240503202445.1415560-1-danielj@nvidia.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:42:03 +02:00
Daniel Jurgens
f8befdb21b virtio_net: Remove rtnl lock protection of command buffers
The rtnl lock is no longer needed to protect the control buffer and
command VQ.

Signed-off-by: Daniel Jurgens <danielj@nvidia.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Heng Qi <hengqi@linux.alibaba.com>
Tested-by: Heng Qi <hengqi@linux.alibaba.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:42:00 +02:00
Daniel Jurgens
4d4ac2ecec virtio_net: Add a lock for per queue RX coalesce
Once the RTNL locking around the control buffer is removed there can be
contention on the per queue RX interrupt coalescing data. Use a mutex
per queue. A mutex is required because virtnet_send_command can sleep.

Signed-off-by: Daniel Jurgens <danielj@nvidia.com>
Reviewed-by: Heng Qi <hengqi@linux.alibaba.com>
Tested-by: Heng Qi <hengqi@linux.alibaba.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:42:00 +02:00
Daniel Jurgens
650d77c51e virtio_net: Do DIM update for specified queue only
Since we no longer have to hold the RTNL lock here just do updates for
the specified queue.

Signed-off-by: Daniel Jurgens <danielj@nvidia.com>
Reviewed-by: Heng Qi <hengqi@linux.alibaba.com>
Tested-by: Heng Qi <hengqi@linux.alibaba.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:42:00 +02:00
Daniel Jurgens
6f45ab3e04 virtio_net: Add a lock for the command VQ.
The command VQ will no longer be protected by the RTNL lock. Use a
mutex to protect the control buffer header and the VQ.

Signed-off-by: Daniel Jurgens <danielj@nvidia.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Heng Qi <hengqi@linux.alibaba.com>
Tested-by: Heng Qi <hengqi@linux.alibaba.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:42:00 +02:00
Daniel Jurgens
ff7c7d9f52 virtio_net: Remove command data from control_buf
Allocate memory for the data when it's used. Ideally the struct could
be on the stack, but we can't DMA stack memory. With this change only
the header and status memory are shared between commands, which will
allow using a tighter lock than RTNL.

Signed-off-by: Daniel Jurgens <danielj@nvidia.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Heng Qi <hengqi@linux.alibaba.com>
Tested-by: Heng Qi <hengqi@linux.alibaba.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:42:00 +02:00
Daniel Jurgens
fce29030c5 virtio_net: Store RSS setting in virtnet_info
Stop storing RSS setting in the control buffer. This is prep work for
removing RTNL lock protection of the control buffer.

Signed-off-by: Daniel Jurgens <danielj@nvidia.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Heng Qi <hengqi@linux.alibaba.com>
Tested-by: Heng Qi <hengqi@linux.alibaba.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:42:00 +02:00
Arınç ÜNAL
d8dcf5bd6d net: dsa: mt7530: detect PHY muxing when PHY is defined on switch MDIO bus
Currently, the MT7530 DSA subdriver configures the MT7530 switch to provide
direct access to switch PHYs, meaning, the switch PHYs listen on the MDIO
bus the switch listens on. The PHY muxing feature makes use of this.

This is problematic as the PHY may be attached before the switch is
initialised, in which case, the PHY will fail to be attached.

Since commit 91374ba537 ("net: dsa: mt7530: support OF-based registration
of switch MDIO bus"), we can describe the switch PHYs on the MDIO bus of
the switch on the device tree. Extend the check to detect PHY muxing when
the PHY is defined on the MDIO bus of the switch on the device tree.

When the PHY is described this way, the switch will be initialised first,
then the switch MDIO bus will be registered. Only after these steps, the
PHY will be attached.

Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
Reviewed-by: Daniel Golle <daniel@makrotopia.org>
Link: https://lore.kernel.org/r/20240430-b4-for-netnext-mt7530-use-switch-mdio-bus-for-phy-muxing-v2-1-9104d886d0db@arinc9.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:34:36 +02:00
Arnd Bergmann
aa32dec674 ASPEED device tree updates for 6.10
- New and removed machines:
 
   * IBM System1 AST2600 BMC, a x86 server
   * ASUS X4TF AST2600 BMC, a x86 server
   * ASRock SPC621D8HM3 AST2500 BMC, a Intel Xeon system
   * ASRock E3C256D4I AST2500 BMC, a Intel Xeon system
   * Add ASRock X570D4U's AST2500 BMC, an AMD Ryzen 5000 system
   * Facebook Harma's AST2600 BMC
   * Facebook Cloudripper is removed
 
  - Updates to machines merged this cycle, as well as bonnell,
    yosemite4, minerva and others
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRz6FSYRMHvZ436fLaBQBa54y6+yAUCZjTIIQAKCRCBQBa54y6+
 yGiAAP9wFs7iXCML11QAnhe+4sK2fCoeLtH1VquhJYg/er6HWgEAi6gxyPcvKna/
 AdRBsIC9IW0gXPRxTwbmQhmov4ryTgw=
 =aMss
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY59SwACgkQYKtH/8kJ
 UiePGBAAgxNMasowedikPEh1mAcJaruSymgoGxaGA0jSJ+awJJnWyTdLCCwcriB+
 ub5RmEHXgUPc0UMrs+HB3wV4SZwJMixEADscGIrLq/ff5c8tMmmuPJuhJR3nU6IJ
 dst/V+XOwbL4nMMH70byiRHpGdhOSMzg6D9tTr/cxysvQak/drsQ9DM6Gp0yw+LC
 oSJrsiznCz55RGNuL2RB2MeTmp5z+FxYhTHcH0PkRsfXIie20gYwW+eky6oXHrrf
 Yr7Pb//cn83U3/ZMn746JSQ6pJK6YSf9tCyT6WCbWgiTqeWxvFLHP2Hf3svszj/o
 804+dFRn2EVXBLfqVPoPfTOtQki/GGOg35++IrY/CKOQgKM2soinAJHzdmik2x0V
 A2odsZiGq0ZxNz/YisWZBsmO4zDx8dEJQR36M39cy/akOD57J4m8vsvgRre8PTHQ
 YWxJ03SmYuyULiXDjuT0d9AFGqNfRI7ve82EsrwCo9UPWB8nAPvpZqQBPxWdixj2
 AHGu0QsEROi14w1phGWUo8JHy02eyA8S3UOfMYboXp7NvhCJiT8p7lTZxUKIH/ir
 i4ESfmBuW3bEq1O4Rb2q6edTEkv3S9CKV9gANkzewUE8qb7ZxdNd76x23L2AvTUR
 R4nO0EBsNXC0Z525YsGocG9mLsQN64rNNBy0ss0ofQIcCW6HWpk=
 =QENJ
 -----END PGP SIGNATURE-----

Merge tag 'aspeed-6.10-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc into soc/dt-late

ASPEED device tree updates for 6.10

 - New and removed machines:

  * IBM System1 AST2600 BMC, a x86 server
  * ASUS X4TF AST2600 BMC, a x86 server
  * ASRock SPC621D8HM3 AST2500 BMC, a Intel Xeon system
  * ASRock E3C256D4I AST2500 BMC, a Intel Xeon system
  * Add ASRock X570D4U's AST2500 BMC, an AMD Ryzen 5000 system
  * Facebook Harma's AST2600 BMC
  * Facebook Cloudripper is removed

 - Updates to machines merged this cycle, as well as bonnell,
   yosemite4, minerva and others

* tag 'aspeed-6.10-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc: (52 commits)
  ARM: dts: aspeed: Add ASRock E3C256D4I BMC
  dt-bindings: arm: aspeed: document ASRock E3C256D4I
  dt-bindings: trivial-devices: add isil,isl69269
  ARM: dts: aspeed: x4tf: Add dts for asus x4tf project
  dt-bindings: arm: aspeed: add ASUS X4TF board
  ARM: dts: aspeed: Remove Facebook Cloudripper dts
  ARM: dts: aspeed: drop unused ref_voltage ADC property
  ARM: dts: aspeed: harma: correct Mellanox multi-host property
  ARM: dts: aspeed: yosemitev2: correct Mellanox multi-host property
  ARM: dts: aspeed: yosemite4: correct Mellanox multi-host property
  ARM: dts: aspeed: greatlakes: correct Mellanox multi-host property
  ARM: dts: aspeed: Modify I2C bus configuration
  ARM: dts: aspeed: Disable unused ADC channels for Asrock X570D4U BMC
  ARM: dts: aspeed: Modify GPIO table for Asrock X570D4U BMC
  ARM: dts: aspeed: yosemite4: set bus13 frequency to 100k
  ARM: dts: Aspeed: Bonnell: Fix NVMe LED labels
  ARM: dts: aspeed: yosemite4: Enable ipmb device for OCP debug card
  ARM: dts: aspeed: ahe50dc: Update lm25066 regulator name
  ARM: dts: aspeed: Add vendor prefixes to lm25066 compat strings
  ARM: dts: aspeed: asrock: Use MAC address from FRU EEPROM
  ...

Link: https://lore.kernel.org/r/CACPK8Xd2Qc9MQUJ-8GuRjmyU50oMHpmmHPHLqAh9W_1Gyqi2ug@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 11:32:27 +02:00
Arnd Bergmann
24ae5d2489 Amlogic ARM64 DT changes for v6.10:
- New Boards:
   - MNT Reform 2 CM4 adapter with a BPI-CM4 Module
   - AV400 (Amlogic A5)
   - BA400 (Amlogic A4)
 - Initial Amlogic A4 & A5 support
 - MIPI DSI support for G12A, G12B & SM1 SoCs
 - Overlay for Khadas TS050 panel for the Khadas VIM3/VIM3L
 - Amlogic T7 reset controller
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmY0oH4ACgkQd9zb2sjI
 SdEHJQ/+PvjlKb/+tCYk4/zNEu1AsKjWOlzF5dxT0uSCr+FsqMf9d58EwmqfUmgI
 OHAPq3ju+pjU0BHBqjmDcW9ksLdY+D7wY+qbqz+ROlvYD6P0NgZizasRYesMnMI0
 D2X3WQINq2rJABUswC4uAnqLAGvlXSM+X2nsEtFW792zfZyOsnB6Lr3DfyGAOqqU
 rDaUdmBNy8mQ37X5FvE9t34Wv1Ds5815n+JkOj8QXv+F7cn03rDZrz5Wxhf2BuNc
 MSIPlfc0F+aRMMu1FAZ7m63f+Y/SyTBwC25+At408y4jlPhp0S9ktj1FMF8OcVrF
 E73x2fGKYgfSD4W7K0iG+hjO+i+vyid+852T6H5V6x040mlJG5QKW/yDJoFJerh7
 eX0zMr4F1HNwaypnQYNfIeGAmdUNIeUvBb5f+2jk3t/jindxB9TCpLXl5SNugCfR
 vuwk/slJlwdhPcElvWeAvOc7DBpXBDUsfBjhQ24Lt/DDQvHunardBYmGjDzRBWKX
 kLf3D6EgdrOpMoyioeh2aZdTiFH9xRyTuHIHZrm6Gevu5XcU8Zw4GQ8eboUM6GtH
 bQUcw1SN5G0/HmOzRcXTmggbCggvwMnof0XhdxU6K/jTJnE0Ywus/9AtcYBJsL7j
 0g8T8bzs6uLB7FwTFdbliE8uQFxauQFXm9qQ5GXIagMXvirqkDk=
 =BAJ1
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY59RMACgkQYKtH/8kJ
 UifZXxAA20iI+MkJULdk0WFp+9pk6Kiym5K2PmL1KQGkYHORRs4PjvauqUD1OlYA
 4KmHculOZnsaQMuGWLxMacQ33GLRN3Bf0+T0pVk8SBENRKb5102TaYpf4dL9PwLl
 gX1g6r7q7BgZNIspwld3TbMAsLGqNtBxPIuzQ4VG9xFc0ezCGyXJmWecp69uSiuK
 9/RB4CbYeuqn6mSyXDxQVXnDsyDEGaqhD8xZRagaG6oDVp9jyQjDp1UlihsO9GI0
 Qmv3kYEp/pHWj8AVNEcFJ/3VBQEzinPjhscdTeDp9f5nF/VG3OeSMg1t0oQ/P9TS
 DpiWBxAlr1195gpqQM2n49f0nCiw/epsxaMaohIIlELEnIpIfzTAEMTOcrsNDK/l
 esXRm05Leh9Mu3CSR6ESiIbFHK2BhQ0DGTQflaf4zrsm8xvd/fbMfFU3Y9cFFbRH
 COks1T54SKUqLiawWZ6v8WOACjLW/8OceVbuo1GUerThyVlWeVf6EbH4t9MSIekg
 hNbmy02tDtKf2t5amhOgyaVcu9RLzTh13ilEL/i7Q9+81FH03iv41xJbvmnIqIoP
 Bk5hD2Ci3A2x9SinFX6t5ycVaSyPKNQnwacx8BSkALC9iCIqbYTZJT6s+3D0LfZo
 350aL9xLEkDLSZ2sz6oMhJdS7iG261HHyF3fJ75aX9jYAfUjFl8=
 =wiuz
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-arm64-dt-for-v6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/dt-late

Amlogic ARM64 DT changes for v6.10:
- New Boards:
  - MNT Reform 2 CM4 adapter with a BPI-CM4 Module
  - AV400 (Amlogic A5)
  - BA400 (Amlogic A4)
- Initial Amlogic A4 & A5 support
- MIPI DSI support for G12A, G12B & SM1 SoCs
- Overlay for Khadas TS050 panel for the Khadas VIM3/VIM3L
- Amlogic T7 reset controller

* tag 'amlogic-arm64-dt-for-v6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  arm64: dts: amlogic: Add Amlogic T7 reset controller
  arm64: dts: add support for A5 based Amlogic AV400
  arm64: dts: add support for A4 based Amlogic BA400
  dt-bindings: serial: amlogic,meson-uart: Add compatible string for A4
  dt-bindings: arm: amlogic: add A5 support
  dt-bindings: arm: amlogic: add A4 support
  arm64: dts: meson: fix S4 power-controller node
  arm64: dts: amlogic: meson-g12b-bananapi-cm4: add support for MNT Reform2 with CM4 adaper
  arm64: meson: khadas-vim3l: add TS050 DSI panel overlay
  arm64: meson: g12-common: add the MIPI DSI nodes
  dt-bindings: arm: amlogic: Document the MNT Reform 2 CM4 adapter with a BPI-CM4 Module

Link: https://lore.kernel.org/r/6030a450-fb4e-4e27-a5c3-6f4e0f326d9a@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 11:32:03 +02:00
Linus Walleij
7b749aad1f ARM: 9393/1: mm: Use conditionals for CFI branches
Commit 9385/2 introduced a few branches inside function
prototypes when using CFI in order to deal with the situation
where CFI inserts a few bytes of function information in front
of the symbol.

This is not good for older CPUs where every cycle counts.

Commit 9386/2 alleviated the situation a bit by using aliases
for the cache functions with identical signatures.

This leaves the coherent cache flush functions
*_coherent_kern_range() with these branches to the corresponing
*_coherent_user_range() around, since their return type differ and
they therefore cannot be aliased.

Solve this by a simple ifdef so at least we can use fallthroughs
when compiling without CFI enabled.

Link: https://lore.kernel.org/linux-arm-kernel/Zi+e9M%2Ff5b%2FSto9H@shell.armlinux.org.uk/

Suggested-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2024-05-07 10:30:24 +01:00
Paolo Abeni
7b67baf193 Merge branch 'rtnetlink-more-rcu-conversions-for-rtnl_fill_ifinfo'
Eric Dumazet says:

====================
rtnetlink: more rcu conversions for rtnl_fill_ifinfo()

We want to no longer rely on RTNL for "ip link show" command.

This is a long road, this series takes care of some parts.
====================

Link: https://lore.kernel.org/r/20240503192059.3884225-1-edumazet@google.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:14:53 +02:00
Eric Dumazet
9cf621bd5f rtnetlink: allow rtnl_fill_link_netnsid() to run under RCU protection
We want to be able to run rtnl_fill_ifinfo() under RCU protection
instead of RTNL in the future.

All rtnl_link_ops->get_link_net() methods already using dev_net()
are ready. I added READ_ONCE() annotations on others.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:14:50 +02:00
Eric Dumazet
979aad40da rtnetlink: do not depend on RTNL in rtnl_xdp_prog_skb()
dev->xdp_prog is protected by RCU, we can lift RTNL requirement
from rtnl_xdp_prog_skb().

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:14:50 +02:00
Eric Dumazet
6890ab31d1 rtnetlink: do not depend on RTNL in rtnl_fill_proto_down()
Change dev_change_proto_down() and dev_change_proto_down_reason()
to write once on dev->proto_down and dev->proto_down_reason.

Then rtnl_fill_proto_down() can use READ_ONCE() annotations
and run locklessly.

rtnl_proto_down_size() should assume worst case,
because readng dev->proto_down_reason multiple
times would be racy without RTNL in the future.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:14:50 +02:00
Eric Dumazet
6747a5d499 rtnetlink: do not depend on RTNL for many attributes
Following device fields can be read locklessly
in rtnl_fill_ifinfo() :

type, ifindex, operstate, link_mode, mtu, min_mtu, max_mtu, group,
promiscuity, allmulti, num_tx_queues, gso_max_segs, gso_max_size,
gro_max_size, gso_ipv4_max_size, gro_ipv4_max_size, tso_max_size,
tso_max_segs, num_rx_queues.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:14:50 +02:00
Eric Dumazet
55a2c86c8d net: write once on dev->allmulti and dev->promiscuity
In the following patch we want to read dev->allmulti
and dev->promiscuity locklessly from rtnl_fill_ifinfo()

In this patch I change __dev_set_promiscuity() and
__dev_set_allmulti() to write these fields (and dev->flags)
only if they succeed, with WRITE_ONCE() annotations.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:14:50 +02:00
Eric Dumazet
ad13b5b0d1 rtnetlink: do not depend on RTNL for IFLA_TXQLEN output
rtnl_fill_ifinfo() can read dev->tx_queue_len locklessly,
granted we add corresponding READ_ONCE()/WRITE_ONCE() annotations.

Add missing READ_ONCE(dev->tx_queue_len) in teql_enqueue()

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:14:50 +02:00
Eric Dumazet
8a58268133 rtnetlink: do not depend on RTNL for IFLA_IFNAME output
We can use netdev_copy_name() to no longer rely on RTNL
to fetch dev->name.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:14:50 +02:00
Eric Dumazet
698419ffb6 rtnetlink: do not depend on RTNL for IFLA_QDISC output
dev->qdisc can be read using RCU protection.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:14:50 +02:00
Paolo Abeni
25010156d2 Merge branch 'net-qede-don-t-restrict-error-codes'
says:

====================
net: qede: don't restrict error codes

This series fixes the qede driver, so that when a helper function fails,
then the callee should return the returned error code, instead just
assuming that the error is eg. -EINVAL.

The patches in this series, reduces the change of future bugs, so new
error codes can be returned from the helpers, without having to update
the call sites.

This is a follow-up to my recent series "net: qede: avoid overruling
error codes", which fixed the cases where the implicit assumption of
failing with specific error codes had been broken.
https://lore.kernel.org/netdev/20240426091227.78060-1-ast@fiberby.net/

Asbjørn Sloth Tønnesen (3):
  net: qede: use return from qede_parse_actions() for flow_spec
  net: qede: use return from qede_flow_spec_validate_unused()
  net: qede: use return from qede_flow_parse_ports()

 .../net/ethernet/qlogic/qede/qede_filter.c    | 27 ++++++++++++-------
 1 file changed, 18 insertions(+), 9 deletions(-)
====================

Link: https://lore.kernel.org/r/20240503105505.839342-1-ast@fiberby.net
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:08:16 +02:00
Asbjørn Sloth Tønnesen
c0c66eba63 net: qede: use return from qede_flow_parse_ports()
When calling qede_flow_parse_ports(), then the
return code was only used for a non-zero check,
and then -EINVAL was returned.

qede_flow_parse_ports() can currently fail with:
* -EINVAL

This patch changes qede_flow_parse_v{4,6}_common() to
use the actual return code from qede_flow_parse_ports(),
so it's no longer assumed that all errors are -EINVAL.

Only compile tested.

Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:08:14 +02:00
Asbjørn Sloth Tønnesen
e5ed2f0349 net: qede: use return from qede_flow_spec_validate_unused()
When calling qede_flow_spec_validate_unused() then
the return code was only used for a non-zero check,
and then -EOPNOTSUPP was returned.

qede_flow_spec_validate_unused() can currently fail with:
* -EOPNOTSUPP

This patch changes qede_flow_spec_to_rule() to use the
actual return code from qede_flow_spec_validate_unused(),
so it's no longer assumed that all errors are -EOPNOTSUPP.

Only compile tested.

Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:08:14 +02:00
Asbjørn Sloth Tønnesen
146817ec32 net: qede: use return from qede_parse_actions() for flow_spec
In qede_flow_spec_to_rule(), when calling
qede_parse_actions() then the return code
was only used for a non-zero check, and then
-EINVAL was returned.

qede_parse_actions() can currently fail with:
* -EINVAL
* -EOPNOTSUPP

Commit 319a1d1947 ("flow_offload: check for
basic action hw stats type") broke the implicit
assumption that it could only fail with -EINVAL,
by changing it to return -EOPNOTSUPP, when hardware
stats are requested.

However AFAICT it's not possible to trigger
qede_parse_actions() to return -EOPNOTSUPP, when
called from qede_flow_spec_to_rule(), as hardware
stats can't be requested by ethtool_rx_flow_rule_create().

This patch changes qede_flow_spec_to_rule() to use
the actual return code from qede_parse_actions(),
so it's no longer assumed that all errors are -EINVAL.

Only compile tested.

Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:08:14 +02:00
Arnd Bergmann
a3116c8881 RISC-V SoC Kconfig Updates for v6.10
A few different bits of SoC-related Kconfig work. The first part of
 this is shared with the DT updates - the modification of all SOC_CANAAN
 users to SOC_CANAAN_K210 to split the existing m-mode nommu k210 away
 from the k230 that is able to be used in a "common" kernel.
 
 The other thing here is the removal of most of the SOC_VENDOR options,
 with their ARCH_VENDOR equivalents that've been waiting in the wings for
 1 year+ now made visible. Due a lapse on my part when originally adding
 the ARCH_VENDOR stuff, the Microchip transition isn't complete - the
 _POLARFIRE was a mistake to keep as there's gonna be non-PolarFire
 RISC-V stuff from Microchip soonTM.
 
 Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCZjUIHwAKCRB4tDGHoIJi
 0r8RAQD+B5rJde/sQuQlmkJGrmZfyE/6/I1ZFxv0/xHhRPNWRAD/RFTTDthL/7c4
 frMGl/nWSD3fvGmXrQ7Dp6wc1APIdQI=
 =BWHh
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY57kAACgkQYKtH/8kJ
 Uie0Sg/8D8tZVOtBrpVJG/P5F7W1QdcC336GHBMQCho38C0/4AK5ltvdyxmSxmCl
 k84qaLdYNrGIvJ5o6MRmSAZyzT3y3jLYVA8C2Zsrp+Do8KkvvJGl219pUvp5A0J3
 eoMApJ34wx6dQM9LfpLcvU9C3Z767KeiiRm0h5CTV0IUfJnZB/7IQgwSajEGLOr/
 CHtFZpbYK6VgCDgVhbacSY8495jJrIU4i5RDlILst5K64XrmS2UU2oen2L3X/u8h
 xi5nQ//3qCiIfp5UqvBY12OYF8lVzB+F/Uo9vDCpeF9HFiIE69qMgYJiSviCPbwH
 T54zue+oBPGfL57HQoMTYQGUG4GvlnW7JR841GsIlPjrs54uw2kXDZB586n3tqzN
 esAQCc/sNnCuUX9TYKKBzkIrmQ1oTPRdGO61r+lSgxjYQ/ed++eh6KStlbPmttVo
 piEaxSpLS7TOZcVOyXHFrWK6OR4yB6MD6ZvOGJlJKJZSdfMNTlGcoymiJ0j7hVQb
 QJSr3LaIfQMP+Uf5ZWWlNZIxvwxQKER8v6MbyH3vGAVYa+DnDBzaj9Fh364thJnt
 Uybpz7SDQMIugnB+uSe+D1o65XfTEKOn/OHXYEQVYyoWs63QfTE9012+Q4KqBFBQ
 5ylIkvM9r3xMBkzZT3EU8lgr5gx9r5QQuX9czJ7INSBxo4SmuKE=
 =QGOJ
 -----END PGP SIGNATURE-----

Merge tag 'riscv-config-for-v6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into soc/drivers

RISC-V SoC Kconfig Updates for v6.10

A few different bits of SoC-related Kconfig work. The first part of
this is shared with the DT updates - the modification of all SOC_CANAAN
users to SOC_CANAAN_K210 to split the existing m-mode nommu k210 away
from the k230 that is able to be used in a "common" kernel.

The other thing here is the removal of most of the SOC_VENDOR options,
with their ARCH_VENDOR equivalents that've been waiting in the wings for
1 year+ now made visible. Due a lapse on my part when originally adding
the ARCH_VENDOR stuff, the Microchip transition isn't complete - the
_POLARFIRE was a mistake to keep as there's gonna be non-PolarFire
RISC-V stuff from Microchip soonTM.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

* tag 'riscv-config-for-v6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux:
  riscv: config: enable ARCH_CANAAN in defconfig
  RISC-V: drop SOC_VIRT for ARCH_VIRT
  RISC-V: drop SOC_SIFIVE for ARCH_SIFIVE
  RISC-V: drop SOC_MICROCHIP_POLARFIRE for ARCH_MICROCHIP
  RISC-V: Drop unused SOC_CANAAN
  reset: k210: Deprecate SOC_CANAAN and use SOC_CANAAN_K210
  pinctrl: k210: Deprecate SOC_CANAAN and use SOC_CANAAN_K210
  clk: k210: Deprecate SOC_CANAAN and use SOC_CANAAN_K210
  soc: canaan: Deprecate SOC_CANAAN and use SOC_CANAAN_K210 for K210
  riscv: Kconfig.socs: Split ARCH_CANAAN and SOC_CANAAN_K210

Link: https://lore.kernel.org/r/20240503-mardi-underling-3d81a9f97329@spud
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 11:02:56 +02:00
Arnd Bergmann
b633c162e0 Amlogic defconfig changes for v6.10:
- Enable Khadas TS050 driver as module
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmY0oVUACgkQd9zb2sjI
 SdFiDBAAkHp3KyvVOwiaaSESJiDE2DcVibEUm8HZQv7JW9TDRBJ7HYB7Gqmj8mu7
 WEUQLxsizivVaqb6A+Gthqa1evsCNVqTTYgfZAqlUctZ1IdO4E3Fc4sTWMiAiIP+
 p5qVkd05DBIXl0pHIwSNtv+2GfVljodpEZHsgU1WgM56UTc4DgnbQns/8nMW9JE9
 DcfVsRv/4EKB4VRAjWH5E3U/HmzEVdlVSfA7wcD64szWyOkYzfxQRmBy7z3aRpWl
 ZPlAF4qdspj7xDD76vod24BR+RqR9dAXd6HRkBaau/V6vwMGWIOXnJhJ8NKHq48x
 4fAjaufFVyQ8d/xdy9aVQ1wq0ChFrcDoQwkLV65uJsfZ2QgDAXpvhH6tp/flM8Wm
 CgkiuExPz3uh70h0lfn8F6F3FVbvXcih243kjpKXPmSMSUs9mTdLE2ONI1fWSX8U
 8wATaBrjPgUgxAfqw94hTKApR8z+OkVs4r+mASs9L2hKT7T5DSib0w+SpdSUaaTD
 J5IrzGhhyQ3s4CW0VwNRNfESNzqHpnAyn9escRpr2T0pxlfEc3Piq66S4dq8Ef22
 dDdx4IGPVZuizti8Ibwx6eG/+FjJfYVHaHPvbjSZNDbFPmmAnVj1EPSJ5+TM552l
 iuld4JiYI8LZ+e/1psXq9ZIbTwnR2M8wDhK6ngq81hiBIeElpRM=
 =uDQU
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY56ysACgkQYKtH/8kJ
 UieEpxAA0Aw4O7uVN8PFpoNSFn6r69eAPY5+B3Kv61VO+mhXcipqL/XY+c23dCTq
 2EUdz2exIWmJD+fYLwcH3esbNn0+swMbe74C81hyemfhSlD8ZnbN8u/TVp1RWydS
 ivJhWJzj4h3jJKcxPbL7p6WJBRktLduVFV7dbxWfch3svnHW6tA+/k+yfM43OZm3
 gqZdKyyiu0xuyNJYU0u0Su8G0Gprx3v6tTwIO1duBTatf0nFKLTDloV5gPH6SBw/
 WYsR9eZBxap+D3tCveNCmai4UsEYJP4KnKqT4PzQF+aPe7L9XIAzVnfcGadzvA4u
 haB5LpcnBfrrRPcU5Mo5I5CkS8PBvMJAVWkVzXvNR80Q6LhGnFJ5FDgwY/g2hnpA
 AM2mBaw6woQhH5BkhMGu2qEsKUmdEbUKR9yQz0yAnoxlz6QufSZPBMLcJztBz2e3
 SbEXnZgBr3zm0Tvz8rFQ+Nzs3LB/slvPdFIJEWysq4zdWPdDYSB6doFV1Ac9W5/E
 r6aOD5S2LmkIFZbmvUZakzfkkxdIQM/2/5ysTsLJP8m6YxZnmv++MgrLTnn+hPq8
 mAPMWB0HdEOhiZreKot89OPe2jPM16dC9sQj39sEXQ9HkmoR2ELppV7WNt1RNBeB
 rIWzwQK+xHfvPy+H1O63ljCxYXOy7MijbDQlHhuNLHC5ky1rjOM=
 =QdKU
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-defconfig-for-v6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/defconfig

Amlogic defconfig changes for v6.10:
- Enable Khadas TS050 driver as module

* tag 'amlogic-defconfig-for-v6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  arm64: defconfig: enable Khadas TS050 panel as module

Link: https://lore.kernel.org/r/13bf8bc4-1cb7-4b94-8c98-9d1cdae5e1f8@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 10:49:47 +02:00
Arnd Bergmann
5a0054ba89 mvebu arm for 6.10 (part 1)
Decrease the usage of global GPIO numbers for LEDs for Orion5x boards
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCZjf3hAAKCRALBhiOFHI7
 1cn6AKCAxIDLljIUWLfohb2vLLnxuqipUwCgnCCFTy3tP+RKrIHbCz5UwRBfkc4=
 =7SiK
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY56uoACgkQYKtH/8kJ
 UifhrBAAueIimvtR/5i8ImzSTQ3Rhf8I1wtLrIc0JvK7rv9sUzW3EnWPZN9BQ+RH
 /0VrXymiBQBOPJDmHTBU18pHf1xBhsB3imy//AiRJA03qDBlvgieG48XmKenuGY1
 rpr4EbVNC0aZhxI0lH+qO9mtaACxh1CFw2QXwcArM1gBGHgj3orIwAR1cf2Cynbf
 07SIAWa2LsW/lHyLBRf6OFZMohjlazPSrW2hOXevQNQR/YXRzQF9bCq7CL0F578v
 psWoeU1om5ekkQGYbv7u8VfyazKmlOVmtRpEtlpTK1zWQ3BIwnChuodEIDjrdrt0
 gCB3eNcNaC6MbMefKzx/5vf2kGwynh5mkk/DliWkRBA4/6umxFglEpm4x+YkVRxW
 lTYYGsj8odXIYd7zjStBjpHiUghmq/y9Ap5Vcuu+ZJ9pDqc/YbBnZ9InZBVoIptC
 nAAxV8fcUZX6DWP/1K2m625mAXnlR/KBqyCLU84sbTukUnbGPZG74PSDk+TIfrBH
 0A4sCOXdoTSToN/jMFEViNNICNZG28FSKl3kFvU13H2i6Vc+sdydS8UP55jHs79H
 EB2yJPWjEBVOj106lxwlPPa2gp7TNKiWPQBq6AE8rs4tmzaFHDHEJgH/Fv2Ekcza
 92So9acM+J1qLv6OwvZZZOPnhkCnrl46vnA9nP7JxbIuzZflmrE=
 =903+
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-arm-6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into soc/arm

mvebu arm for 6.10 (part 1)

Decrease the usage of global GPIO numbers for LEDs for Orion5x boards

* tag 'mvebu-arm-6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  ARM: orion5x: Convert TS409 board to GPIO descriptors for LEDs
  ARM: orion5x: Convert Net2big board to GPIO descriptors for LEDs
  ARM: orion5x: Convert MV2120 board to GPIO descriptors for LEDs
  ARM: orion5x: Convert DNS323 board to GPIO descriptors for LEDs
  ARM: orion5x: Convert D2Net board to GPIO descriptors for LEDs

Link: https://lore.kernel.org/r/87h6fcndxj.fsf@BLaptop.bootlin.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 10:48:42 +02:00
Arnd Bergmann
f89d22439f Samsung DTS ARM64 changes for v6.10, part two
Few changes exclusively for Google GS101:
 1. Add HSI0 and HSI2 clock controllers (CMUs).
 2. Add USB 3.1 Dual Role Device (DRD) support.
 3. Add UFS (Universal Flash Storage) support.
 4. Document bus clocks in pin controllers necessary for accessing
    registers.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmY2JecQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD11XtD/0Z1kko4kh5yhPR5k9PlqWtvRIdkJl/VVPT
 WwqH2WlrNk6b4k9VQ81LDpgmvdZMFkYOiZ9c+pqtAIIdy1EHOrJS3hKEcC3+Nf84
 iR1frVnlg8mROj2Iw8awVjzgJOgvL2sxkNcfV+316/akswmGuVKrDW8qfJ0BZYxn
 riEjgIfYyaLUgjK98pokATQfpjwd3rnfifIG8hAEc7SAXrdNVKGiWNIa55bIgWJv
 kJlRgXY47RaR+Ooznz9HNwa0NlI3LnMS1God0hHiM4typNqWvmAVtTlcfawyIzqQ
 2dX9VsK4f/CEnTuFW+cXtSO8eGA2lTNIEfoXOTff5KebvaXZW5EY+5VQ2CHekFpF
 ERumG47znXfuBLeXrbCVfw7NPvljgAh0LQN+g1IFH2Lw+QimqZA5H80eaZ3HZuXc
 3z2vEQwshg3ct6l2wWnfK9XMSXrpKE4CoXfTemYpkJf7FSZxp33/glI690ttXC6X
 +/Qgu21VmsNNPY+5H5xHAtCrGFkBfcLn7CrT1C+TJHO3PI65tkE4tOIkkCs3Q7+z
 kz1JVLLj5Ee85HtSiO3h2sc1Q9ZAjpxlfaaZ+esE4GaJ557ouM/ZUTzRPYLiGDFx
 XVGgJGhDQtvqnGO/UWAEM4K/Qz4mgeZpjyyWtMA1nYjcCYVqL4C0BHz3AL+fa1Ck
 8e8QA8KxjQ==
 =xbpt
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY56qgACgkQYKtH/8kJ
 UieBdRAAiMcVqW91TtSv0URuqkrzMDzADI4VVGGNhhL3gTGvp1RGAP1FTL6q1pUu
 INssEtgEK6v5kPJAYLUMNiYsCz9jeeOzfoR5D++Qq8PPv4w54CUN62jXOjf9vG9D
 CymEywEgaJAnFjb1XgNROuLjatm2GgbCZvUT0tLqFW9D1TA8mjmGYf24kHmzCQsf
 leTRCY70kCmUvnfnwli36Gsx6sPP5niyeWl0UAdDuFlpfUqokBWGQ+lWx5zAkfBZ
 zT4rDeyr1lxfRBUkXDwQlaAuf+mr7L+N+3C/VIZNW2V14zYCwCrPVJWtZgCBOv7V
 99itbRQMfjpApkcY2q5agad6zJfLMeyruw6MCoAwwxErhLXq8S3QYZAdhgKIrfR5
 yrIPtvMelvZJqYxTk9/24ecIGZlFJaxQsGVmgJjyt3MQFPus4sQkMifcYXVDSJlK
 w7jqcUFmhn8KwmJU0YkmvFjYG/GJ7VDn55lC0E7pBLv2UuIbWqMGzDmlLNkxtLKM
 h44PAEnoS2rdDQvFp8ijC7V15PpWG8vQOyIwGoIglcyVcg6xtN7ZAoB62DRl18iS
 2OH28C4TNidP1CwwJgVSuL/0HQfG5BqRte6Zx7psVqOUxSx4CzhL+xsdwRSELKBL
 c4q8nK2mhJ9UY83xSbN0FcORjUE1+Z4bznmRU5vRE4Oda3QPMu0=
 =3I13
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt64-6.10-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/dt

Samsung DTS ARM64 changes for v6.10, part two

Few changes exclusively for Google GS101:
1. Add HSI0 and HSI2 clock controllers (CMUs).
2. Add USB 3.1 Dual Role Device (DRD) support.
3. Add UFS (Universal Flash Storage) support.
4. Document bus clocks in pin controllers necessary for accessing
   registers.

* tag 'samsung-dt64-6.10-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  arm64: dts: exynos: gs101: specify empty clocks for remaining pinctrl
  arm64: dts: exynos: gs101: specify bus clock for pinctrl_hsi2
  arm64: dts: exynos: gs101: specify bus clock for pinctrl_peric[01]
  arm64: dts: exynos: gs101: specify bus clock for pinctrl (far) alive
  arm64: dts: exynos: gs101: enable ufs, phy on oriole & define ufs regulator
  arm64: dts: exynos: gs101: Add ufs and ufs-phy dt nodes
  arm64: dts: exynos: gs101: Add the hsi2 sysreg node
  dt-bindings: soc: google: exynos-sysreg: add dedicated hsi2 sysreg compatible
  arm64: dts: exynos: gs101-oriole: enable USB on this board
  arm64: dts: exynos: gs101: add USB & USB-phy nodes
  arm64: dts: exynos: gs101: enable cmu-hsi2 clock controller
  arm64: dts: exynos: gs101: enable cmu-hsi0 clock controller
  dt-bindings: clock: google,gs101-clock: add HSI2 clock management unit
  dt-bindings: clock: google,gs101-clock: add HSI0 clock management unit

Link: https://lore.kernel.org/r/20240504121233.7589-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 10:47:36 +02:00
Arnd Bergmann
cbe240a8c5 Radxa Rock 3C board. More gpu+usb enablement on rk3588 boards as well
as two new iommus on rk3588.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmY389UQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgezsB/9c+E6x+Pn90no2zIioPVGU12nmwMuczv8o
 /4/ISTslNwkD9hC+GNhlMAsNkvuJpy9tJGO3S67oAXNq59X5AnzeIJFFgdYdmJB1
 QYZ5rKyotFkRkgD+lF44QobuMKP1RK7dsITz8g7sbOL5/QP8fAQUIL2nDnzZCOLT
 Ef+++JxeSbzpvPqphci85+EpEefCRJLIgSWI4LIoRC3QTVToqGidKab25T9c/OSb
 ll6gU7qrKWy4rwP0aQ9kw4ouLpHIL5T/jd9VdSx3gfcPYrldu6WBWvhdBglbVOFo
 92JZSpO2gO7LcUGnyq6kvNyV4rWW61OpPVofwXnM9KlFnJYxYgb3
 =DIqH
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY56pkACgkQYKtH/8kJ
 UidckhAAtfwpRmUdRF2s+BGdbtf9AXYanPFJG6BEjc+oM8B/pX8kJTbYBeuOqiWF
 bHbBzegz7Y0iyCtGrnRUGFd5KMHMCsPYrKcrgtjLiqy5+P/xOdRrcmjbGIaiUG+u
 4F5Wx7r21L62d1pPpzRZU+8qSWjU1/vLAnz6zGdnFqAeE2l4MC5zfnoU90sdIpoS
 3s1u3UPFK5RVjoU0j2ht05taeue0X6KjaPefDJsl8570eoUlA0kKDa9RN3CMDH0W
 d34wWDDtKaDctkYx3MRXlpW8hBvuWObhB+t3oCw/uo0doZe5f6TEnPKdT8NcMPcA
 SLvvQwmWozZAAgkfjYYZYjM8bC8JXgMGZSV4aQok3NgiESL3Oj2m6tBdhrZB1Xia
 snOqHnp+IpGB+6oUJcqoJDOAtNK2wf1LFBWtRmpAwZIPNVlousUcfHFN/PhCBHBM
 yo75zIserVdQ6ovMuGztFipNyZ43RlDcMAcF8xdWgNP0VrOHhmL7eQXaJiAX5pNv
 ulCIacUUjiWB8UCfvjZnYdCkujxtuhKfGlqfkNDep8JkiAxZdnalyDvb8jAsmeku
 Z/LNdGlFFgb5AmXkDft4ob3cNCDdoMcEqc64mL0J8+F4yVqdvtlc0LbKpgfStEye
 4ec23CXOOIEKgNs8jZKwN7mJOGCG6Hochjhp0RpH5Yw0ALh53mk=
 =5mEg
 -----END PGP SIGNATURE-----

Merge tag 'v6.10-rockchip-dts64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt

Radxa Rock 3C board. More gpu+usb enablement on rk3588 boards as well
as two new iommus on rk3588.

* tag 'v6.10-rockchip-dts64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm64: dts: rockchip: add rk3588 pcie and php IOMMUs
  arm64: dts: rockchip: enable onboard spi flash for rock-3a
  arm64: dts: rockchip: add USB-C support to rk3588s-orangepi-5
  arm64: dts: rockchip: Enable GPU on Orange Pi 5
  arm64: dts: rockchip: enable GPU on khadas-edge2
  arm64: dts: rockchip: Add USB3 on Edgeble NCM6A-IO board
  arm64: dts: rockchip: Support poweroff on Edgeble Neural Compute Module
  arm64: dts: rockchip: Add Radxa ROCK 3C
  dt-bindings: arm: rockchip: add Radxa ROCK 3C

Link: https://lore.kernel.org/r/13810480.dW097sEU6C@diego
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 10:47:21 +02:00
Kenny Levinsen
d2b34fa814 HID: i2c-hid: Remove unused label in i2c_hid_set_power
This label was left behind when the wake-up logic was moved from
i2c_hid_set_power to i2c_hid_probe_address. Clean it up as it causes
warnings-as-errors builds to fail.

Fixes: bb1033c8a3ea ("HID: i2c-hid: Use address probe to wake on resume")
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Kenny Levinsen <kl@kl.wtf>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2024-05-07 10:43:10 +02:00
Justin Stitt
e0550222e0 printk: cleanup deprecated uses of strncpy/strcpy
Cleanup some deprecated uses of strncpy() and strcpy() [1].

There doesn't seem to be any bugs with the current code but the
readability of this code could benefit from a quick makeover while
removing some deprecated stuff as a benefit.

The most interesting replacement made in this patch involves
concatenating "ttyS" with a digit-led user-supplied string. Instead of
doing two distinct string copies with carefully managed offsets and
lengths, let's use the more robust and self-explanatory scnprintf().
scnprintf will 1) respect the bounds of @buf, 2) null-terminate @buf, 3)
do the concatenation. This allows us to drop the manual NUL-byte assignment.

Also, since isdigit() is used about a dozen lines after the open-coded
version we'll replace it for uniformity's sake.

All the strcpy() --> strscpy() replacements are trivial as the source
strings are literals and much smaller than the destination size. No
behavioral change here.

Use the new 2-argument version of strscpy() introduced in Commit
e6584c3964 ("string: Allow 2-argument strscpy()"). However, to make
this work fully (since the size must be known at compile time), also
update the extern-qualified declaration to have the proper size
information.

Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1]
Link: https://github.com/KSPP/linux/issues/90 [2]
Link: https://manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html [3]
Cc: linux-hardening@vger.kernel.org
Signed-off-by: Justin Stitt <justinstitt@google.com>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20240429-strncpy-kernel-printk-printk-c-v1-1-4da7926d7b69@google.com
[pmladek@suse.com: Removed obsolete brackets and added empty lines.]
Signed-off-by: Petr Mladek <pmladek@suse.com>
2024-05-07 10:41:51 +02:00
Arnd Bergmann
8db93c212e mvebu dt64 for 6.10 (part 1)
Few dts fix for dt validation
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCZjf6GgAKCRALBhiOFHI7
 1RdOAJ9/2i3xP4EcGlOIOYEwMhRpegEuXQCgkFgWJM0kIHoJoWGuYSLw8ApEVlw=
 =USEH
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY54LYACgkQYKtH/8kJ
 UiePqxAAta8+WuabDzrWtWrkqRr71E4/2i7YxcBy5uuFGG79dKSA5ZDxIhm/L6KI
 v3yqXNBRH7pT8w46iYeYR46PysCEXGy+i9hO0oDIFgIAp76xV+6O0W0XYSxFmh/c
 qEHm90ugKe1xhrjatcONwFW8BT7eFH+GoCHesXtW3nEe/aIsE6sKAUuvJ6QRtv8p
 XGrfZ/McvZc15M4h590iIgCH52jhCL4WnGYeXmQDZf8c9X6ewh1ElbYZkC9RHtoB
 m5tAGti/rpt/Hslqmv1FX8f92UUDUVncTYhdTz0kEuVjPBVyUqWTAKUZwlVPT6by
 7tamLJrsNWAI7xgHAbvETR3OhdywSMIXtOTm4H04t2Vx+djb7RMK32TmAOeUcxfB
 xLjGDRyhnvVNZKlUO/Y2YSYEMkY9qfV8qIj/phTHJTufRE+Pol9N1nLqUD7wNZnH
 A4EMt26rm4MM04zEj7DxfPpg0yDsDdvhCSWti23DmTSToIVhXx5Yl596PsrNgSYh
 NMeTjDGE545HsoDUudD5gxZHUCApa6VmhifR0NcXT+EWCkcAxDSALEPLfENMOYMK
 Sj1KKVTB283Dc/Ink5IkJfyxHqBdxQufJ3EFkw5XlZFxR5ap4GQ1s0Q/FFPTc4O/
 QfxNVRnMnG3cinwygVzKoczsy/MFKbk3GJudxN9MPRsrhoHjHbk=
 =DM9C
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt64-6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into soc/dt

mvebu dt64 for 6.10 (part 1)

Few dts fix for dt validation

* tag 'mvebu-dt64-6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  arm64: dts: marvell: espressobin-ultra: fix Ethernet Switch unit address
  arm64: dts: marvell: turris-mox: drop unneeded flash address/size-cells
  arm64: dts: marvell: eDPU: drop redundant address/size-cells
  arm64: dts: marvell: cn9130-crb: drop unneeded "status"
  arm64: dts: marvell: cn9130-crb: drop wrong unit-addresses
  arm64: dts: marvell: cn9130-db: drop wrong unit-addresses
  arm64: dts: marvell: cn9131-db: drop unneeded flash address/size-cells
  arm64: dts: marvell: cn9130-db: drop unneeded flash address/size-cells
  arm64: dts: marvell: ap80x: fix IOMMU unit address

Link: https://lore.kernel.org/r/87jzk8ndyy.fsf@BLaptop.bootlin.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 10:05:10 +02:00
Jim Liu
7f45fe2ea3 gpio: nuvoton: Fix sgpio irq handle error
The generic_handle_domain_irq() function calls irq_resolve_mapping().
Thus delete a duplicative irq_find_mapping() call
so that a stack trace and an RCU stall will be avoided.

Fixes: c4f8457d17 ("gpio: nuvoton: Add Nuvoton NPCM sgpio driver")
Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://lore.kernel.org/r/20240506064244.1645922-1-JJLIU0@nuvoton.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-05-07 09:44:33 +02:00
Andy Shevchenko
2b5ae9c7d9 gpiolib: Discourage to use formatting strings in line names
Currently the documentation for line names allows to use %u inside
the alternative name. This is broken in character device approach
from day 1 and being in use solely in sysfs.

Character device interface has a line number as a part of its address,
so the users better rely on it. Hence remove the misleading documentation.

On top of that, there are no in-kernel users (out of 6, if I'm correct)
for such names and moreover if one exists it won't help in distinguishing
lines with the same naming as '%u' will also be in them and we will get
a warning in gpiochip_set_desc_names() for such cases.

Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Kent Gibson <warthog618@gmail.com>
Link: https://lore.kernel.org/r/20240505141420.627398-1-andy.shevchenko@gmail.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-05-07 09:43:17 +02:00
Bartosz Golaszewski
68a25c3671 intel-gpio for v6.10-1
* New driver for vGPIO controller on Intel Granite Rapids-D
 * Update ACPI GPIO library to unify the IRQ code path
 * Better GPIO IRQ line labeling for ACPI
 * Switched Intel SCH driver to use "mapped" I/O accessors
 
 The following is an automated git shortlog grouped by driver:
 
 Add Intel Granite Rapids-D vGPIO driver:
  - Add Intel Granite Rapids-D vGPIO driver
 
 crystalcove:
  -  Use -ENOTSUPP consistently
 
 gpiolib:
  -  acpi: Set label for IRQ only lines
  -  acpi: Add fwnode name to the GPIO interrupt label
  -  acpi: Pass con_id instead of property into acpi_dev_gpio_irq_get_by()
  -  acpi: Move acpi_can_fallback_to_crs() out of __acpi_find_gpio()
  -  acpi: Simplify error handling in __acpi_find_gpio()
  -  acpi: Extract __acpi_find_gpio() helper
  -  acpi: Check for errors first in acpi_find_gpio()
  -  acpi: Remove never true check in acpi_get_gpiod_by_index()
 
 sch:
  -  Utilise temporary variable for struct device
  -  Switch to memory mapped IO accessors
 
 wcove:
  -  Use -ENOTSUPP consistently
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEqaflIX74DDDzMJJtb7wzTHR8rCgFAmY4lK4ACgkQb7wzTHR8
 rCjo8Q//YaGaR/0ZEh9s8pz5lLNz7MiyW3pDrABrRqd68yR4GhQcyHiUaybIrVtf
 ayNoyLn7u9On/j8bVPhru3fYWNGazg0q4KnMJu4BgkNsCCP6KWERHKzVHLuXg52Y
 zQiUsOWxlESYNlIhl0COy/o87dTPxQ3omnthMUDYUEvxuUv6aNIC0uCpXmSNm0+/
 L9bZo7z6AiZMOeU7+XnoGuzWt2OeQjpR3liHo2zgR8ftPIp+iqjiRrA39+adXl7l
 LVro6F76p/xxNfGEzB4qxpz1jwHSkEhhFtcd13+t/CHXAm34BcAMbm1xJN1yHNmU
 e42CQ2gAOZo8F88iW4z56Wr446Uw0knf17Fe91Xd1CpqMdW0Hp9arta7awPoxh0R
 kHx5T71UkilX6+/CwREL7hiolvnNCO/q7djq/XeO//xPT67N0EU5mKZF/1yQiLWz
 NrJpNCRiQq2ZaHhOA0eS/4+iokpkLE0baeXsQhWrIjvFXfif8J82GiSgce1RzbHO
 v0yGeUHRJvY54zdXMKzCXEw+bgOyJZPmk4tZwq9XCkBcCrjxmR4cUtPCkv7B7QWN
 aSaeFh4AAQoSal8jMey/et+nctFZyO87aK8Enze9kzv/9FIc5837yXfz1qfjffPd
 E1m4RYh5t8DgC+msBjwbr1jcOM6FJ5KyEXXZf5CgAEzL5Bespm4=
 =33sC
 -----END PGP SIGNATURE-----

Merge tag 'intel-gpio-v6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-gpio-intel into gpio/for-next

intel-gpio for v6.10-1

* New driver for vGPIO controller on Intel Granite Rapids-D
* Update ACPI GPIO library to unify the IRQ code path
* Better GPIO IRQ line labeling for ACPI
* Switched Intel SCH driver to use "mapped" I/O accessors

The following is an automated git shortlog grouped by driver:

Add Intel Granite Rapids-D vGPIO driver:
 - Add Intel Granite Rapids-D vGPIO driver

crystalcove:
 -  Use -ENOTSUPP consistently

gpiolib:
 -  acpi: Set label for IRQ only lines
 -  acpi: Add fwnode name to the GPIO interrupt label
 -  acpi: Pass con_id instead of property into acpi_dev_gpio_irq_get_by()
 -  acpi: Move acpi_can_fallback_to_crs() out of __acpi_find_gpio()
 -  acpi: Simplify error handling in __acpi_find_gpio()
 -  acpi: Extract __acpi_find_gpio() helper
 -  acpi: Check for errors first in acpi_find_gpio()
 -  acpi: Remove never true check in acpi_get_gpiod_by_index()

sch:
 -  Utilise temporary variable for struct device
 -  Switch to memory mapped IO accessors

wcove:
 -  Use -ENOTSUPP consistently
2024-05-07 09:42:06 +02:00
Arnd Bergmann
5549d1e399 One more Qualcomm Arm64 DeviceTree fix for v6.9
On ths SA8155P automotive platform, the wrong gpio controller is defined
 for the SD-card detect pin, which depending on probe ordering of things
 cause ethernet to be broken. The card detect pin reference is corrected
 to solve this problem.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmYtG44VHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FThQQAJvYr5LolVQPL4etFNL1OY/2xC2u
 gAahfgrXk/IDpJAsnJ2fgZn59A4zuNI+Efvh6iWbMkVhyKgdiTY/VI2Io5iSb0mq
 NmdWf2ll/aaM7C35Q7nsWB3bERN+GlLXKXJEugJrpct9uzlJYNkawZvyhquxBLc5
 MAYXugaD7xzMVliYIyhova1+nzcMfgZld4PzyBDnpXz0GtN7ZyI0XaRa8FcYl5FV
 ESNHpsIrP0mxFWWJS9XOkBeEGNVN3DH1SS4p73AiJ0LFU4Y5DxmtqeBFPtPB7Gpe
 AR165n3bAr77gT3cQ8/uo1afCCSV07tSdxhy6ULn1HSiROBIJRZjpb2ly1asMhe6
 DjviNcgxtpYHC1xh9ItTt7gojlD6ZdK26M5HoEn5+TyRZ6ZbeAZnw749maZ03mXu
 pTKUdTg5hgLgGmuiq5lupuKr3YltuXpRe9oGZJxAUlU3MHTxdG8+5oRLYha5qqd3
 T8UBYT1fpxknuqAsye7rnE/fhok0QGGhsWTQwYnTh9t/5wbK9/wQwN4fuOwEGwtR
 23LDZFMEksVW5sykYmwBFqQ5AzqfyaRU3sMyDA+Pn9XKGvtZ0McPmlrvmPTjQXsp
 0q9XU14Ozd/D7mihATLKDija8wdlNRNK7p8U+vxuGzQBArNPWbL8onARpSjhzu7/
 b+osswzeX6FbvY1E
 =+Jm6
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY5xQoACgkQYKtH/8kJ
 UicIQg//YmxeExPEPpfbDtVd3rMaEgy7THE7QMxcRVE0daea4pF+aMD8cmYhGvhk
 XICNC+Qj8x3ZL2Q0efN5LqJK3fL2CiS5asU0dwhm69nuumygsznkiLW7Dj0zDNoG
 rZwbx3gPAhJ3dkg8V55ag2D58/1wq/LsmrcR/HSRxBZtOgJLknf3fHNlKP9EfiMO
 NuJPloUsRoosTetLpC5me3rE9REruGvBYhPPe5AOM2TYkEXttYAsbS0vVdaPxg9t
 77O13ASuDLMMcU+mgOnLxzQUNP6+SQKVmkfQecgXS9dfaTs5Ru6x7T1ffbxRrh2r
 AUSh2TpImg9MU9Mz3345dhR8nriCUxw4KIiud5MF2y2ig4Ho5Kz9bkFiPNNTBkIH
 OLRRlRpy0YglbZWQ4dfDar0Klzkbe5IFrGZCdWQo/jzt+yNDjhX/ZDx6gqSLHf+T
 QBRjzjnWXVTz+s36b7vPW+PpmSeZWL0jMOMKekpIp7nXXYj9nHThebq7pETFq0SY
 e/bAdy/wNTsK51vcMh+5+acMDoXq/pqbhKZfN6QdO7i/ymbh+4mCEi2VcaiH3w3a
 i+wKBuMy0k5pkjNAWXkUSl1+RyT71+Sz1um4gBezKk5QqSXM1C6yqaX+LJ7IiqnD
 8ev1T1CtrcXL3EajYTD7BeU0ryz1hs4Bumk3nOYsgKy/Rd6UcRA=
 =CCJj
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-fixes-for-6.9-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/fixes

One more Qualcomm Arm64 DeviceTree fix for v6.9

On ths SA8155P automotive platform, the wrong gpio controller is defined
for the SD-card detect pin, which depending on probe ordering of things
cause ethernet to be broken. The card detect pin reference is corrected
to solve this problem.

* tag 'qcom-arm64-fixes-for-6.9-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  arm64: dts: qcom: sa8155p-adp: fix SDHC2 CD pin configuration

Link: https://lore.kernel.org/r/20240427153817.1430382-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 08:07:06 +02:00
Luca Weiss
4d5ba6ead1 dt-bindings: remoteproc: qcom,sdm845-adsp-pil: Fix qcom,halt-regs definition
Set the 'items' correctly for the qcom,halt-regs property and update the
description to match what it should be.

Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20240407-qcom-halt-regs-fixup-v1-3-a0ea4e2c178e@z3ntu.xyz
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-05-06 19:41:38 -07:00
Luca Weiss
16e204e958 dt-bindings: remoteproc: qcom,sc7280-wpss-pil: Fix qcom,halt-regs definition
Set the 'items' correctly for the qcom,halt-regs property and update the
description to match what it should be.

Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20240407-qcom-halt-regs-fixup-v1-2-a0ea4e2c178e@z3ntu.xyz
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-05-06 19:41:38 -07:00
Luca Weiss
a0bcbce661 dt-bindings: remoteproc: qcom,qcs404-cdsp-pil: Fix qcom,halt-regs definition
Set the 'items' correctly for the qcom,halt-regs property and update the
description to match what it should be.

Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20240407-qcom-halt-regs-fixup-v1-1-a0ea4e2c178e@z3ntu.xyz
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-05-06 19:41:37 -07:00
Dmitry Baryshkov
a0acdef561 dt-bindings: remoteproc: qcom,msm8996-mss-pil: allow glink-edge on msm8996
MSM8996 has limited glink support, allow glink-edge node on MSM8996
platform.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240418-msm8996-remoteproc-v2-1-b9ae852bf6bc@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-05-06 19:41:37 -07:00
Luca Weiss
335617f0d5 dt-bindings: remoteproc: qcom,smd-edge: Mark qcom,ipc as deprecated
Deprecate the qcom,ipc way of accessing the mailbox in favor of the
'mboxes' property.

Update the example to use mboxes.

Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20240425-qcom-ipc-deprecate-v1-1-a8d8034253ea@z3ntu.xyz
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-05-06 19:41:37 -07:00