[PATCH] arm64: dts: qcom: glymur: Mark USB controllers dma-coherent
Greg Ociepka <[email protected]>
| Newsgroups | org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
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/[email protected]/ [2] https://lore.kernel.org/linux-arm-msm/[email protected]/ Fixes: 4eee57dd4df9 ("arm64: dts: qcom: glymur: Add USB related nodes") Signed-off-by: Greg Ociepka <[email protected]> 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