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: Felipe Balbi <felipe.balbi@linux.intel.com>
This commit is contained in:
parent
6d8a019614
commit
4d588a145b
|
@ -676,7 +676,6 @@ operations, both of which can be traced. Format is::
|
||||||
__entry->flags & DWC3_EP_WEDGE ? 'W' : 'w',
|
__entry->flags & DWC3_EP_WEDGE ? 'W' : 'w',
|
||||||
__entry->flags & DWC3_EP_TRANSFER_STARTED ? 'B' : 'b',
|
__entry->flags & DWC3_EP_TRANSFER_STARTED ? 'B' : 'b',
|
||||||
__entry->flags & DWC3_EP_PENDING_REQUEST ? 'P' : 'p',
|
__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->flags & DWC3_EP_END_TRANSFER_PENDING ? 'E' : 'e',
|
||||||
__entry->direction ? '<' : '>'
|
__entry->direction ? '<' : '>'
|
||||||
)
|
)
|
||||||
|
|
|
@ -664,7 +664,6 @@ struct dwc3_ep {
|
||||||
#define DWC3_EP_WEDGE BIT(2)
|
#define DWC3_EP_WEDGE BIT(2)
|
||||||
#define DWC3_EP_TRANSFER_STARTED BIT(3)
|
#define DWC3_EP_TRANSFER_STARTED BIT(3)
|
||||||
#define DWC3_EP_PENDING_REQUEST BIT(5)
|
#define DWC3_EP_PENDING_REQUEST BIT(5)
|
||||||
#define DWC3_EP_MISSED_ISOC BIT(6)
|
|
||||||
#define DWC3_EP_END_TRANSFER_PENDING BIT(7)
|
#define DWC3_EP_END_TRANSFER_PENDING BIT(7)
|
||||||
|
|
||||||
/* This last one is specific to EP0 */
|
/* This last one is specific to EP0 */
|
||||||
|
|
|
@ -1333,8 +1333,7 @@ static int __dwc3_gadget_ep_queue(struct dwc3_ep *dep, struct dwc3_request *req)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((dep->flags & DWC3_EP_TRANSFER_STARTED) &&
|
if (dep->flags & DWC3_EP_TRANSFER_STARTED)
|
||||||
!(dep->flags & DWC3_EP_MISSED_ISOC))
|
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2229,7 +2228,6 @@ static int dwc3_gadget_ep_reclaim_completed_trb(struct dwc3_ep *dep,
|
||||||
{
|
{
|
||||||
unsigned int count;
|
unsigned int count;
|
||||||
unsigned int s_pkt = 0;
|
unsigned int s_pkt = 0;
|
||||||
unsigned int trb_status;
|
|
||||||
|
|
||||||
dwc3_ep_inc_deq(dep);
|
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)
|
if ((trb->ctrl & DWC3_TRB_CTRL_HWO) && status != -ESHUTDOWN)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
if (dep->direction) {
|
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 (count && (event->status & DEPEVT_STATUS_SHORT))
|
if (count && (event->status & DEPEVT_STATUS_SHORT))
|
||||||
s_pkt = 1;
|
s_pkt = 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -303,7 +303,7 @@ DECLARE_EVENT_CLASS(dwc3_log_ep,
|
||||||
__entry->trb_enqueue = dep->trb_enqueue;
|
__entry->trb_enqueue = dep->trb_enqueue;
|
||||||
__entry->trb_dequeue = dep->trb_dequeue;
|
__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,
|
__get_str(name), __entry->maxpacket,
|
||||||
__entry->maxpacket_limit, __entry->max_streams,
|
__entry->maxpacket_limit, __entry->max_streams,
|
||||||
__entry->maxburst, __entry->trb_enqueue,
|
__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_WEDGE ? 'W' : 'w',
|
||||||
__entry->flags & DWC3_EP_TRANSFER_STARTED ? 'B' : 'b',
|
__entry->flags & DWC3_EP_TRANSFER_STARTED ? 'B' : 'b',
|
||||||
__entry->flags & DWC3_EP_PENDING_REQUEST ? 'P' : 'p',
|
__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->flags & DWC3_EP_END_TRANSFER_PENDING ? 'E' : 'e',
|
||||||
__entry->direction ? '<' : '>'
|
__entry->direction ? '<' : '>'
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue