| From 8f079ac2ec06abd4fe55df20038bf1e4a997d4a5 Mon Sep 17 00:00:00 2001 |
| From: Mathias Nyman <mathias.nyman@linux.intel.com> |
| Date: Fri, 11 Nov 2016 15:13:14 +0200 |
| Subject: [PATCH 278/299] xhci: add trb_is_noop() helper function |
| |
| replace the complex check for noop with a simple helper |
| Improve code readability |
| |
| No functional changes |
| |
| Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| (cherry picked from commit 0ce5749959c627442b062809e91f0320d92517b2) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| drivers/usb/host/xhci-ring.c | 16 +++++++++------- |
| 1 file changed, 9 insertions(+), 7 deletions(-) |
| |
| --- a/drivers/usb/host/xhci-ring.c |
| +++ b/drivers/usb/host/xhci-ring.c |
| @@ -89,6 +89,11 @@ dma_addr_t xhci_trb_virt_to_dma(struct x |
| return seg->dma + (segment_offset * sizeof(*trb)); |
| } |
| |
| +static bool trb_is_noop(union xhci_trb *trb) |
| +{ |
| + return TRB_TYPE_NOOP_LE32(trb->generic.field[3]); |
| +} |
| + |
| static bool trb_is_link(union xhci_trb *trb) |
| { |
| return TRB_TYPE_LINK_LE32(trb->link.control); |
| @@ -2137,8 +2142,7 @@ static int process_isoc_td(struct xhci_h |
| for (cur_trb = ep_ring->dequeue, |
| cur_seg = ep_ring->deq_seg; cur_trb != event_trb; |
| next_trb(xhci, ep_ring, &cur_seg, &cur_trb)) { |
| - if (!TRB_TYPE_NOOP_LE32(cur_trb->generic.field[3]) && |
| - !trb_is_link(cur_trb)) |
| + if (!trb_is_noop(cur_trb) && !trb_is_link(cur_trb)) |
| len += TRB_LEN(le32_to_cpu(cur_trb->generic.field[2])); |
| } |
| len += TRB_LEN(le32_to_cpu(cur_trb->generic.field[2])) - |
| @@ -2283,8 +2287,7 @@ static int process_bulk_intr_td(struct x |
| for (cur_trb = ep_ring->dequeue, cur_seg = ep_ring->deq_seg; |
| cur_trb != event_trb; |
| next_trb(xhci, ep_ring, &cur_seg, &cur_trb)) { |
| - if (!TRB_TYPE_NOOP_LE32(cur_trb->generic.field[3]) && |
| - !trb_is_link(cur_trb)) |
| + if (!trb_is_noop(cur_trb) && !trb_is_link(cur_trb)) |
| td->urb->actual_length += |
| TRB_LEN(le32_to_cpu(cur_trb->generic.field[2])); |
| } |
| @@ -2584,9 +2587,8 @@ static int handle_tx_event(struct xhci_h |
| * corresponding TD has been cancelled. Just ignore |
| * the TD. |
| */ |
| - if (TRB_TYPE_NOOP_LE32(event_trb->generic.field[3])) { |
| - xhci_dbg(xhci, |
| - "event_trb is a no-op TRB. Skip it\n"); |
| + if (trb_is_noop(event_trb)) { |
| + xhci_dbg(xhci, "event_trb is a no-op TRB. Skip it\n"); |
| goto cleanup; |
| } |
| |