Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>
Link: https://lore.kernel.org/r/1718019553-111939-4-git-send-email-dh10.jung@samsung.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Daehwan Jung and committed by
Greg Kroah-Hartman
a353686e bc162403

+3
+3
drivers/usb/host/xhci-plat.c
··· 256 256 if (device_property_read_bool(tmpdev, "xhci-sg-trb-cache-size-quirk")) 257 257 xhci->quirks |= XHCI_SG_TRB_CACHE_SIZE_QUIRK; 258 258 259 + if (device_property_read_bool(tmpdev, "write-64-hi-lo-quirk")) 260 + xhci->quirks |= XHCI_WRITE_64_HI_LO; 261 + 259 262 device_property_read_u32(tmpdev, "imod-interval-ns", 260 263 &xhci->imod_interval); 261 264 }