diff options
-rw-r--r-- | drivers/usb/host/xhci-ring.c | 46 | ||||
-rw-r--r-- | drivers/usb/host/xhci.h | 6 |
2 files changed, 15 insertions, 37 deletions
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c index f1ae17234032..d1498c03c4cb 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c | |||
@@ -167,10 +167,6 @@ static void inc_deq(struct xhci_hcd *xhci, struct xhci_ring *ring, bool consumer | |||
167 | next = ring->dequeue; | 167 | next = ring->dequeue; |
168 | } | 168 | } |
169 | addr = (unsigned long long) xhci_trb_virt_to_dma(ring->deq_seg, ring->dequeue); | 169 | addr = (unsigned long long) xhci_trb_virt_to_dma(ring->deq_seg, ring->dequeue); |
170 | if (ring == xhci->cmd_ring) | ||
171 | xhci_dbg(xhci, "Command ring deq = 0x%llx (DMA)\n", addr); | ||
172 | else | ||
173 | xhci_dbg(xhci, "Ring deq = 0x%llx (DMA)\n", addr); | ||
174 | } | 170 | } |
175 | 171 | ||
176 | /* | 172 | /* |
@@ -246,12 +242,6 @@ static void inc_enq(struct xhci_hcd *xhci, struct xhci_ring *ring, | |||
246 | next = ring->enqueue; | 242 | next = ring->enqueue; |
247 | } | 243 | } |
248 | addr = (unsigned long long) xhci_trb_virt_to_dma(ring->enq_seg, ring->enqueue); | 244 | addr = (unsigned long long) xhci_trb_virt_to_dma(ring->enq_seg, ring->enqueue); |
249 | if (ring == xhci->event_ring) | ||
250 | xhci_dbg(xhci, "Event ring enq = 0x%llx (DMA)\n", addr); | ||
251 | else if (ring == xhci->cmd_ring) | ||
252 | xhci_dbg(xhci, "Command ring enq = 0x%llx (DMA)\n", addr); | ||
253 | else | ||
254 | xhci_dbg(xhci, "Ring enq = 0x%llx (DMA)\n", addr); | ||
255 | } | 245 | } |
256 | 246 | ||
257 | /* | 247 | /* |
@@ -634,13 +624,11 @@ static void xhci_giveback_urb_in_irq(struct xhci_hcd *xhci, | |||
634 | } | 624 | } |
635 | } | 625 | } |
636 | usb_hcd_unlink_urb_from_ep(hcd, urb); | 626 | usb_hcd_unlink_urb_from_ep(hcd, urb); |
637 | xhci_dbg(xhci, "Giveback %s URB %p\n", adjective, urb); | ||
638 | 627 | ||
639 | spin_unlock(&xhci->lock); | 628 | spin_unlock(&xhci->lock); |
640 | usb_hcd_giveback_urb(hcd, urb, status); | 629 | usb_hcd_giveback_urb(hcd, urb, status); |
641 | xhci_urb_free_priv(xhci, urb_priv); | 630 | xhci_urb_free_priv(xhci, urb_priv); |
642 | spin_lock(&xhci->lock); | 631 | spin_lock(&xhci->lock); |
643 | xhci_dbg(xhci, "%s URB given back\n", adjective); | ||
644 | } | 632 | } |
645 | } | 633 | } |
646 | 634 | ||
@@ -1630,7 +1618,6 @@ static int process_ctrl_td(struct xhci_hcd *xhci, struct xhci_td *td, | |||
1630 | "without IOC set??\n"); | 1618 | "without IOC set??\n"); |
1631 | *status = -ESHUTDOWN; | 1619 | *status = -ESHUTDOWN; |
1632 | } else { | 1620 | } else { |
1633 | xhci_dbg(xhci, "Successful control transfer!\n"); | ||
1634 | *status = 0; | 1621 | *status = 0; |
1635 | } | 1622 | } |
1636 | break; | 1623 | break; |
@@ -1727,7 +1714,6 @@ static int process_isoc_td(struct xhci_hcd *xhci, struct xhci_td *td, | |||
1727 | switch (trb_comp_code) { | 1714 | switch (trb_comp_code) { |
1728 | case COMP_SUCCESS: | 1715 | case COMP_SUCCESS: |
1729 | frame->status = 0; | 1716 | frame->status = 0; |
1730 | xhci_dbg(xhci, "Successful isoc transfer!\n"); | ||
1731 | break; | 1717 | break; |
1732 | case COMP_SHORT_TX: | 1718 | case COMP_SHORT_TX: |
1733 | frame->status = td->urb->transfer_flags & URB_SHORT_NOT_OK ? | 1719 | frame->status = td->urb->transfer_flags & URB_SHORT_NOT_OK ? |
@@ -1837,12 +1823,6 @@ static int process_bulk_intr_td(struct xhci_hcd *xhci, struct xhci_td *td, | |||
1837 | else | 1823 | else |
1838 | *status = 0; | 1824 | *status = 0; |
1839 | } else { | 1825 | } else { |
1840 | if (usb_endpoint_xfer_bulk(&td->urb->ep->desc)) | ||
1841 | xhci_dbg(xhci, "Successful bulk " | ||
1842 | "transfer!\n"); | ||
1843 | else | ||
1844 | xhci_dbg(xhci, "Successful interrupt " | ||
1845 | "transfer!\n"); | ||
1846 | *status = 0; | 1826 | *status = 0; |
1847 | } | 1827 | } |
1848 | break; | 1828 | break; |
@@ -1856,11 +1836,12 @@ static int process_bulk_intr_td(struct xhci_hcd *xhci, struct xhci_td *td, | |||
1856 | /* Others already handled above */ | 1836 | /* Others already handled above */ |
1857 | break; | 1837 | break; |
1858 | } | 1838 | } |
1859 | xhci_dbg(xhci, "ep %#x - asked for %d bytes, " | 1839 | if (trb_comp_code == COMP_SHORT_TX) |
1860 | "%d bytes untransferred\n", | 1840 | xhci_dbg(xhci, "ep %#x - asked for %d bytes, " |
1861 | td->urb->ep->desc.bEndpointAddress, | 1841 | "%d bytes untransferred\n", |
1862 | td->urb->transfer_buffer_length, | 1842 | td->urb->ep->desc.bEndpointAddress, |
1863 | TRB_LEN(le32_to_cpu(event->transfer_len))); | 1843 | td->urb->transfer_buffer_length, |
1844 | TRB_LEN(le32_to_cpu(event->transfer_len))); | ||
1864 | /* Fast path - was this the last TRB in the TD for this URB? */ | 1845 | /* Fast path - was this the last TRB in the TD for this URB? */ |
1865 | if (event_trb == td->last_trb) { | 1846 | if (event_trb == td->last_trb) { |
1866 | if (TRB_LEN(le32_to_cpu(event->transfer_len)) != 0) { | 1847 | if (TRB_LEN(le32_to_cpu(event->transfer_len)) != 0) { |
@@ -1954,7 +1935,6 @@ static int handle_tx_event(struct xhci_hcd *xhci, | |||
1954 | 1935 | ||
1955 | /* Endpoint ID is 1 based, our index is zero based */ | 1936 | /* Endpoint ID is 1 based, our index is zero based */ |
1956 | ep_index = TRB_TO_EP_ID(le32_to_cpu(event->flags)) - 1; | 1937 | ep_index = TRB_TO_EP_ID(le32_to_cpu(event->flags)) - 1; |
1957 | xhci_dbg(xhci, "%s - ep index = %d\n", __func__, ep_index); | ||
1958 | ep = &xdev->eps[ep_index]; | 1938 | ep = &xdev->eps[ep_index]; |
1959 | ep_ring = xhci_dma_to_transfer_ring(ep, le64_to_cpu(event->buffer)); | 1939 | ep_ring = xhci_dma_to_transfer_ring(ep, le64_to_cpu(event->buffer)); |
1960 | ep_ctx = xhci_get_ep_ctx(xhci, xdev->out_ctx, ep_index); | 1940 | ep_ctx = xhci_get_ep_ctx(xhci, xdev->out_ctx, ep_index); |
@@ -2149,9 +2129,15 @@ cleanup: | |||
2149 | xhci_urb_free_priv(xhci, urb_priv); | 2129 | xhci_urb_free_priv(xhci, urb_priv); |
2150 | 2130 | ||
2151 | usb_hcd_unlink_urb_from_ep(bus_to_hcd(urb->dev->bus), urb); | 2131 | usb_hcd_unlink_urb_from_ep(bus_to_hcd(urb->dev->bus), urb); |
2152 | xhci_dbg(xhci, "Giveback URB %p, len = %d, " | 2132 | if ((urb->actual_length != urb->transfer_buffer_length && |
2153 | "status = %d\n", | 2133 | (urb->transfer_flags & |
2154 | urb, urb->actual_length, status); | 2134 | URB_SHORT_NOT_OK)) || |
2135 | status != 0) | ||
2136 | xhci_dbg(xhci, "Giveback URB %p, len = %d, " | ||
2137 | "expected = %x, status = %d\n", | ||
2138 | urb, urb->actual_length, | ||
2139 | urb->transfer_buffer_length, | ||
2140 | status); | ||
2155 | spin_unlock(&xhci->lock); | 2141 | spin_unlock(&xhci->lock); |
2156 | usb_hcd_giveback_urb(bus_to_hcd(urb->dev->bus), urb, status); | 2142 | usb_hcd_giveback_urb(bus_to_hcd(urb->dev->bus), urb, status); |
2157 | spin_lock(&xhci->lock); | 2143 | spin_lock(&xhci->lock); |
@@ -2379,7 +2365,6 @@ static int prepare_ring(struct xhci_hcd *xhci, struct xhci_ring *ep_ring, | |||
2379 | u32 ep_state, unsigned int num_trbs, gfp_t mem_flags) | 2365 | u32 ep_state, unsigned int num_trbs, gfp_t mem_flags) |
2380 | { | 2366 | { |
2381 | /* Make sure the endpoint has been added to xHC schedule */ | 2367 | /* Make sure the endpoint has been added to xHC schedule */ |
2382 | xhci_dbg(xhci, "Endpoint state = 0x%x\n", ep_state); | ||
2383 | switch (ep_state) { | 2368 | switch (ep_state) { |
2384 | case EP_STATE_DISABLED: | 2369 | case EP_STATE_DISABLED: |
2385 | /* | 2370 | /* |
@@ -2416,7 +2401,6 @@ static int prepare_ring(struct xhci_hcd *xhci, struct xhci_ring *ep_ring, | |||
2416 | struct xhci_ring *ring = ep_ring; | 2401 | struct xhci_ring *ring = ep_ring; |
2417 | union xhci_trb *next; | 2402 | union xhci_trb *next; |
2418 | 2403 | ||
2419 | xhci_dbg(xhci, "prepare_ring: pointing to link trb\n"); | ||
2420 | next = ring->enqueue; | 2404 | next = ring->enqueue; |
2421 | 2405 | ||
2422 | while (last_trb(xhci, ring, ring->enq_seg, next)) { | 2406 | while (last_trb(xhci, ring, ring->enq_seg, next)) { |
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h index e12db7cfb9bb..0772a8cfea23 100644 --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h | |||
@@ -1338,9 +1338,6 @@ static inline unsigned int xhci_readl(const struct xhci_hcd *xhci, | |||
1338 | static inline void xhci_writel(struct xhci_hcd *xhci, | 1338 | static inline void xhci_writel(struct xhci_hcd *xhci, |
1339 | const unsigned int val, __le32 __iomem *regs) | 1339 | const unsigned int val, __le32 __iomem *regs) |
1340 | { | 1340 | { |
1341 | xhci_dbg(xhci, | ||
1342 | "`MEM_WRITE_DWORD(3'b000, 32'h%p, 32'h%0x, 4'hf);\n", | ||
1343 | regs, val); | ||
1344 | writel(val, regs); | 1341 | writel(val, regs); |
1345 | } | 1342 | } |
1346 | 1343 | ||
@@ -1368,9 +1365,6 @@ static inline void xhci_write_64(struct xhci_hcd *xhci, | |||
1368 | u32 val_lo = lower_32_bits(val); | 1365 | u32 val_lo = lower_32_bits(val); |
1369 | u32 val_hi = upper_32_bits(val); | 1366 | u32 val_hi = upper_32_bits(val); |
1370 | 1367 | ||
1371 | xhci_dbg(xhci, | ||
1372 | "`MEM_WRITE_DWORD(3'b000, 64'h%p, 64'h%0lx, 4'hf);\n", | ||
1373 | regs, (long unsigned int) val); | ||
1374 | writel(val_lo, ptr); | 1368 | writel(val_lo, ptr); |
1375 | writel(val_hi, ptr + 1); | 1369 | writel(val_hi, ptr + 1); |
1376 | } | 1370 | } |