BACKPORT: FROMLIST: usb: host: xhci-plat: Add support for XHCI_WRITE_64_HI_LO

xHCI specification 5.1 "Register Conventions" states that 64 bit
registers should be written in low-high order. All writing operations
in xhci is done low-high order following the spec.

Add a new quirk to support workaround for high-low order.

Signed-off-by: Daehwan Jung <dh10.jung@samsung.com>

Bug: 346655675
Link: https://lore.kernel.org/lkml/1718019553-111939-4-git-send-email-dh10.jung@samsung.com/
Change-Id: I93990b7a2dd5b76565dc0db5b22e496c3d3a9470
Signed-off-by: Daehwan Jung <dh10.jung@samsung.com>
This commit is contained in:
Daehwan Jung 2024-06-12 12:38:05 +09:00 committed by Todd Kjos
parent 6afea34dbb
commit 92635be7b7

View File

@ -253,6 +253,9 @@ int xhci_plat_probe(struct platform_device *pdev, struct device *sysdev, const s
if (device_property_read_bool(tmpdev, "xhci-sg-trb-cache-size-quirk"))
xhci->quirks |= XHCI_SG_TRB_CACHE_SIZE_QUIRK;
if (device_property_read_bool(tmpdev, "write-64-hi-lo-quirk"))
xhci->quirks |= XHCI_WRITE_64_HI_LO;
device_property_read_u32(tmpdev, "imod-interval-ns",
&xhci->imod_interval);
device_property_read_u16(tmpdev, "num-hc-interrupters",