Message ID | 20250411091155.3386971-6-niklas.neronin@linux.intel.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | usb: xhci: decouple allocation and initialization | expand |
On 4/11/25 12:11 PM, Niklas Neronin wrote: > Move the Device Context Base Address Array (DCBAA) pointer write from > xhci_mem_init() to xhci_init(). This is part of the ongoing effort to > separate allocation and initialization. > > Signed-off-by: Niklas Neronin <niklas.neronin@linux.intel.com> [...] > diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c > index 5f630e74b323..431c922b3f2d 100644 > --- a/drivers/usb/host/xhci.c > +++ b/drivers/usb/host/xhci.c > @@ -544,6 +544,9 @@ static int xhci_init(struct usb_hcd *hcd) > /* Set the address in the Command Ring Control register */ > xhci_set_cmd_ring_deq(xhci); > > + /* Set Device Context Base Address pointer */ "Array" missing here? > + xhci_write_64(xhci, xhci->dcbaa->dma, &xhci->op_regs->dcbaa_ptr); > + > /* Initializing Compliance Mode Recovery Data If Needed */ > if (xhci_compliance_mode_recovery_timer_quirk_check()) { > xhci->quirks |= XHCI_COMP_MODE_QUIRK; MBR, Sergey
diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c index 47b804aa328d..4e6289d9a89a 100644 --- a/drivers/usb/host/xhci-mem.c +++ b/drivers/usb/host/xhci-mem.c @@ -2391,7 +2391,6 @@ int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags) xhci_dbg_trace(xhci, trace_xhci_dbg_init, "// Device context base array address = 0x%pad (DMA), %p (virt)", &xhci->dcbaa->dma, xhci->dcbaa); - xhci_write_64(xhci, dma, &xhci->op_regs->dcbaa_ptr); /* * Initialize the ring segment pool. The ring must be a contiguous diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c index 5f630e74b323..431c922b3f2d 100644 --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c @@ -544,6 +544,9 @@ static int xhci_init(struct usb_hcd *hcd) /* Set the address in the Command Ring Control register */ xhci_set_cmd_ring_deq(xhci); + /* Set Device Context Base Address pointer */ + xhci_write_64(xhci, xhci->dcbaa->dma, &xhci->op_regs->dcbaa_ptr); + /* Initializing Compliance Mode Recovery Data If Needed */ if (xhci_compliance_mode_recovery_timer_quirk_check()) { xhci->quirks |= XHCI_COMP_MODE_QUIRK;
Move the Device Context Base Address Array (DCBAA) pointer write from xhci_mem_init() to xhci_init(). This is part of the ongoing effort to separate allocation and initialization. Signed-off-by: Niklas Neronin <niklas.neronin@linux.intel.com> --- drivers/usb/host/xhci-mem.c | 1 - drivers/usb/host/xhci.c | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-)