aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host
diff options
context:
space:
mode:
authorSarah Sharp <sarah.a.sharp@linux.intel.com>2010-07-30 01:13:17 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2010-08-10 17:35:45 -0400
commited3f24539209826235debaec66ca0da708b5bb89 (patch)
tree746b934bda84867cfef0c87682d4ee0c89929604 /drivers/usb/host
parentc21599a36165dbc78b380846b254017a548b9de5 (diff)
USB: xhci: Don't flush doorbell writes.
To tell the host controller that there are transfers on the endpoint rings, we need to ring the endpoint doorbell. This is a PCI MMIO write, which can be delayed until another register read is queued. The previous code would flush the doorbell write by reading the doorbell register after the write. This may take time, and it's not necessary to force the host controller to know about the transfers right away. Don't flush the doorbell register writes. Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/host')
-rw-r--r--drivers/usb/host/xhci-ring.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index 6860e9f097bb..bc3f4f427065 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -337,11 +337,6 @@ static void ring_ep_doorbell(struct xhci_hcd *xhci,
337 field = xhci_readl(xhci, db_addr) & DB_MASK; 337 field = xhci_readl(xhci, db_addr) & DB_MASK;
338 field |= EPI_TO_DB(ep_index) | STREAM_ID_TO_DB(stream_id); 338 field |= EPI_TO_DB(ep_index) | STREAM_ID_TO_DB(stream_id);
339 xhci_writel(xhci, field, db_addr); 339 xhci_writel(xhci, field, db_addr);
340 /* Flush PCI posted writes - FIXME Matthew Wilcox says this
341 * isn't time-critical and we shouldn't make the CPU wait for
342 * the flush.
343 */
344 xhci_readl(xhci, db_addr);
345 } 340 }
346} 341}
347 342