From: Daehwan Jung Date: Mon, 10 Jun 2024 11:39:13 +0000 (+0900) Subject: usb: host: xhci-plat: Add support for XHCI_WRITE_64_HI_LO X-Git-Tag: io_uring-6.11-20240722~10^2~68 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=a353686e7f5f3f3eef3ac4561ae7ade1f8e5dfdd;p=linux-block.git 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 Link: https://lore.kernel.org/r/1718019553-111939-4-git-send-email-dh10.jung@samsung.com Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c index 3d071b875308..31bdfa52eeb2 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c @@ -256,6 +256,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); }