Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4d588a14 authored by Felipe Balbi's avatar Felipe Balbi
Browse files

usb: dwc3: gadget: remove duplicated missed isoc handling



Now, this part of the code is duplicated and brings no extra value to
the driver. Let's remove it.

Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
parent 6d8a0196
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -676,7 +676,6 @@ operations, both of which can be traced. Format is::
  	__entry->flags & DWC3_EP_WEDGE ? 'W' : 'w',
  	__entry->flags & DWC3_EP_TRANSFER_STARTED ? 'B' : 'b',
  	__entry->flags & DWC3_EP_PENDING_REQUEST ? 'P' : 'p',
  	__entry->flags & DWC3_EP_MISSED_ISOC ? 'M' : 'm',
  	__entry->flags & DWC3_EP_END_TRANSFER_PENDING ? 'E' : 'e',
  	__entry->direction ? '<' : '>'
  )
+0 −1
Original line number Diff line number Diff line
@@ -664,7 +664,6 @@ struct dwc3_ep {
#define DWC3_EP_WEDGE		BIT(2)
#define DWC3_EP_TRANSFER_STARTED BIT(3)
#define DWC3_EP_PENDING_REQUEST	BIT(5)
#define DWC3_EP_MISSED_ISOC	BIT(6)
#define DWC3_EP_END_TRANSFER_PENDING	BIT(7)

	/* This last one is specific to EP0 */
+2 −32
Original line number Diff line number Diff line
@@ -1333,8 +1333,7 @@ static int __dwc3_gadget_ep_queue(struct dwc3_ep *dep, struct dwc3_request *req)
			return 0;
		}

		if ((dep->flags & DWC3_EP_TRANSFER_STARTED) &&
		    !(dep->flags & DWC3_EP_MISSED_ISOC))
		if (dep->flags & DWC3_EP_TRANSFER_STARTED)
			goto out;

		return 0;
@@ -2229,7 +2228,6 @@ static int dwc3_gadget_ep_reclaim_completed_trb(struct dwc3_ep *dep,
{
	unsigned int		count;
	unsigned int		s_pkt = 0;
	unsigned int		trb_status;

	dwc3_ep_inc_deq(dep);

@@ -2264,35 +2262,7 @@ static int dwc3_gadget_ep_reclaim_completed_trb(struct dwc3_ep *dep,
	if ((trb->ctrl & DWC3_TRB_CTRL_HWO) && status != -ESHUTDOWN)
		return 1;

	if (dep->direction) {
		if (count) {
			trb_status = DWC3_TRB_SIZE_TRBSTS(trb->size);
			if (trb_status == DWC3_TRBSTS_MISSED_ISOC) {
				/*
				 * If missed isoc occurred and there is
				 * no request queued then issue END
				 * TRANSFER, so that core generates
				 * next xfernotready and we will issue
				 * a fresh START TRANSFER.
				 * If there are still queued request
				 * then wait, do not issue either END
				 * or UPDATE TRANSFER, just attach next
				 * request in pending_list during
				 * giveback.If any future queued request
				 * is successfully transferred then we
				 * will issue UPDATE TRANSFER for all
				 * request in the pending_list.
				 */
				dep->flags |= DWC3_EP_MISSED_ISOC;
			} else {
				dev_err(dep->dwc->dev, "incomplete IN transfer %s\n",
						dep->name);
				status = -ECONNRESET;
			}
		} else {
			dep->flags &= ~DWC3_EP_MISSED_ISOC;
		}
	} else {
	if (!dep->direction) {
		if (count && (event->status & DEPEVT_STATUS_SHORT))
			s_pkt = 1;
	}
+1 −2
Original line number Diff line number Diff line
@@ -303,7 +303,7 @@ DECLARE_EVENT_CLASS(dwc3_log_ep,
		__entry->trb_enqueue = dep->trb_enqueue;
		__entry->trb_dequeue = dep->trb_dequeue;
	),
	TP_printk("%s: mps %d/%d streams %d burst %d ring %d/%d flags %c:%c%c%c%c%c:%c:%c",
	TP_printk("%s: mps %d/%d streams %d burst %d ring %d/%d flags %c:%c%c%c%c:%c:%c",
		__get_str(name), __entry->maxpacket,
		__entry->maxpacket_limit, __entry->max_streams,
		__entry->maxburst, __entry->trb_enqueue,
@@ -313,7 +313,6 @@ DECLARE_EVENT_CLASS(dwc3_log_ep,
		__entry->flags & DWC3_EP_WEDGE ? 'W' : 'w',
		__entry->flags & DWC3_EP_TRANSFER_STARTED ? 'B' : 'b',
		__entry->flags & DWC3_EP_PENDING_REQUEST ? 'P' : 'p',
		__entry->flags & DWC3_EP_MISSED_ISOC ? 'M' : 'm',
		__entry->flags & DWC3_EP_END_TRANSFER_PENDING ? 'E' : 'e',
		__entry->direction ? '<' : '>'
	)