| From 3785f93447efda502d8ace0118e23959d18d38c5 Mon Sep 17 00:00:00 2001 |
| From: Lu Baolu <baolu.lu@linux.intel.com> |
| Date: Fri, 7 Apr 2017 17:57:06 +0300 |
| Subject: [PATCH 192/286] usb: xhci: remove enq_updates and deq_updates from |
| ring |
| |
| enq_updates and deq_updates were introduced in the first place |
| to check whether an xhci hardware is able to respond to trbs |
| enqueued in the ring. We now have trb tracers to trace every |
| single enqueue/dequeue trb. It's time to remove them and the |
| associated debugging code. |
| |
| Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com> |
| Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| (cherry picked from commit cd12fd9f6d05d1b2b9ff2630802c55b5fd2e534c) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| drivers/usb/host/xhci-dbg.c | 8 -------- |
| drivers/usb/host/xhci-mem.c | 3 --- |
| drivers/usb/host/xhci-ring.c | 3 --- |
| drivers/usb/host/xhci.h | 2 -- |
| 4 files changed, 16 deletions(-) |
| |
| --- a/drivers/usb/host/xhci-dbg.c |
| +++ b/drivers/usb/host/xhci-dbg.c |
| @@ -347,14 +347,10 @@ void xhci_dbg_ring_ptrs(struct xhci_hcd |
| ring->dequeue, |
| (unsigned long long)xhci_trb_virt_to_dma(ring->deq_seg, |
| ring->dequeue)); |
| - xhci_dbg(xhci, "Ring deq updated %u times\n", |
| - ring->deq_updates); |
| xhci_dbg(xhci, "Ring enq = %p (virt), 0x%llx (dma)\n", |
| ring->enqueue, |
| (unsigned long long)xhci_trb_virt_to_dma(ring->enq_seg, |
| ring->enqueue)); |
| - xhci_dbg(xhci, "Ring enq updated %u times\n", |
| - ring->enq_updates); |
| } |
| |
| /** |
| @@ -373,10 +369,6 @@ void xhci_debug_ring(struct xhci_hcd *xh |
| struct xhci_segment *first_seg = ring->first_seg; |
| xhci_debug_segment(xhci, first_seg); |
| |
| - if (!ring->enq_updates && !ring->deq_updates) { |
| - xhci_dbg(xhci, " Ring has not been updated\n"); |
| - return; |
| - } |
| for (seg = first_seg->next; seg != first_seg; seg = seg->next) |
| xhci_debug_segment(xhci, seg); |
| } |
| --- a/drivers/usb/host/xhci-mem.c |
| +++ b/drivers/usb/host/xhci-mem.c |
| @@ -315,9 +315,6 @@ static void xhci_initialize_ring_info(st |
| * handling ring expansion, set the cycle state equal to the old ring. |
| */ |
| ring->cycle_state = cycle_state; |
| - /* Not necessary for new rings, but needed for re-initialized rings */ |
| - ring->enq_updates = 0; |
| - ring->deq_updates = 0; |
| |
| /* |
| * Each segment has a link TRB, and leave an extra TRB for SW |
| --- a/drivers/usb/host/xhci-ring.c |
| +++ b/drivers/usb/host/xhci-ring.c |
| @@ -167,8 +167,6 @@ static void next_trb(struct xhci_hcd *xh |
| */ |
| static void inc_deq(struct xhci_hcd *xhci, struct xhci_ring *ring) |
| { |
| - ring->deq_updates++; |
| - |
| /* event ring doesn't have link trbs, check for last trb */ |
| if (ring->type == TYPE_EVENT) { |
| if (!last_trb_on_seg(ring->deq_seg, ring->dequeue)) { |
| @@ -226,7 +224,6 @@ static void inc_enq(struct xhci_hcd *xhc |
| ring->num_trbs_free--; |
| next = ++(ring->enqueue); |
| |
| - ring->enq_updates++; |
| /* Update the dequeue pointer further if that was a link TRB */ |
| while (trb_is_link(next)) { |
| |
| --- a/drivers/usb/host/xhci.h |
| +++ b/drivers/usb/host/xhci.h |
| @@ -1566,10 +1566,8 @@ struct xhci_ring { |
| struct xhci_segment *last_seg; |
| union xhci_trb *enqueue; |
| struct xhci_segment *enq_seg; |
| - unsigned int enq_updates; |
| union xhci_trb *dequeue; |
| struct xhci_segment *deq_seg; |
| - unsigned int deq_updates; |
| struct list_head td_list; |
| /* |
| * Write the cycle state into the TRB cycle field to give ownership of |