[PATCH] arm64: dts: qcom: glymur: Mark USB controllers dma-coherent

From: Greg Ociepka

Date: Wed Aug 12 2026 - 12:11:25 EST


All five USB controller nodes on Glymur (usb_0, usb_1, usb_2, usb_hs,
usb_mp) are missing the dma-coherent property, which Hamoa carries on
all of its USB controllers. Krishna Kurapati confirmed the Glymur USB
controllers are dma-coherent [1].

Without the property the kernel treats USB DMA buffers as non-coherent
and performs cache maintenance on every transfer, which coherent
hardware makes redundant.

Follow-up to the clock/power/bandwidth votes patch [2], kept separate
so the already-reviewed patch stands as is.

Tested on an Asus Zenbook A16 (UX3607OA): all controllers enumerate
their devices as before and a 64 MiB write plus two O_DIRECT
read-backs over USB mass storage produce identical checksums.

[1] https://lore.kernel.org/linux-arm-msm/f92cc91e-6e5c-4375-aaa6-f079a165f4b5@xxxxxxxxxxxxxxxx/
[2] https://lore.kernel.org/linux-arm-msm/20260812083522.774711-1-greg@xxxxxxxxxxxxx/

Fixes: 4eee57dd4df9 ("arm64: dts: qcom: glymur: Add USB related nodes")
Signed-off-by: Greg Ociepka <greg@xxxxxxxxxxxxx>
Assisted-by: Claude:fable-5
---
arch/arm64/boot/dts/qcom/glymur.dtsi | 10 ++++++++++
1 file changed, 10 insertions(+)

--- a/arch/arm64/boot/dts/qcom/glymur.dtsi
+++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
@@ -4605,6 +4605,8 @@
usb-role-switch;
wakeup-source;

+ dma-coherent;
+
status = "disabled";

ports {
@@ -4681,6 +4683,8 @@
usb-role-switch;
wakeup-source;

+ dma-coherent;
+
status = "disabled";

ports {
@@ -4757,6 +4761,8 @@
usb-role-switch;
wakeup-source;

+ dma-coherent;
+
status = "disabled";

ports {
@@ -4847,6 +4853,8 @@
usb-role-switch;
wakeup-source;

+ dma-coherent;
+
status = "disabled";
};

@@ -4919,6 +4927,8 @@
dr_mode = "host";
wakeup-source;

+ dma-coherent;
+
status = "disabled";
};


--
2.50.1