summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Ociepka <greg@ferrisoft.com>2026-08-12 17:40:14 +0200
committerBjorn Andersson <andersson@kernel.org>2026-09-17 22:15:16 -0500
commite62df36f34949aebe016c5c81e34baa7a9eca427 (patch)
treecf3184c6ee2b91955ed2abaf9126dcacf9d1c674
parenta501c39e16105cdbd1fb6abe29d955b378306ed8 (diff)
downloadlinux-next-e62df36f34949aebe016c5c81e34baa7a9eca427.tar.gz
linux-next-e62df36f34949aebe016c5c81e34baa7a9eca427.zip
arm64: dts: qcom: glymur: Mark USB controllers dma-coherent
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. 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@oss.qualcomm.com/ Fixes: 4eee57dd4df9 ("arm64: dts: qcom: glymur: Add USB related nodes") Signed-off-by: Greg Ociepka <greg@ferrisoft.com> Assisted-by: Claude:fable-5 Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com> Reviewed-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260812154014.123315-1-greg@ferrisoft.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
-rw-r--r--arch/arm64/boot/dts/qcom/glymur.dtsi10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
index 7dedace8c3c4..de7c395d9c35 100644
--- a/arch/arm64/boot/dts/qcom/glymur.dtsi
+++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
@@ -4949,6 +4949,8 @@
usb-role-switch;
wakeup-source;
+ dma-coherent;
+
status = "disabled";
ports {
@@ -5037,6 +5039,8 @@
usb-role-switch;
wakeup-source;
+ dma-coherent;
+
status = "disabled";
ports {
@@ -5125,6 +5129,8 @@
usb-role-switch;
wakeup-source;
+ dma-coherent;
+
status = "disabled";
ports {
@@ -5215,6 +5221,8 @@
usb-role-switch;
wakeup-source;
+ dma-coherent;
+
status = "disabled";
};
@@ -5299,6 +5307,8 @@
dr_mode = "host";
wakeup-source;
+ dma-coherent;
+
status = "disabled";
};