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

Commit 5f2e7975 authored by Felipe Balbi's avatar Felipe Balbi
Browse files

usb: dwc3: gadget: remove DWC3_EP_BUSY flag



It has no use anymore.

Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
parent 1912cbc6
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -674,7 +674,7 @@ operations, both of which can be traced. Format is::
  	__entry->flags & DWC3_EP_ENABLED ? 'E' : 'e',
  	__entry->flags & DWC3_EP_ENABLED ? 'E' : 'e',
  	__entry->flags & DWC3_EP_STALL ? 'S' : 's',
  	__entry->flags & DWC3_EP_STALL ? 'S' : 's',
  	__entry->flags & DWC3_EP_WEDGE ? 'W' : 'w',
  	__entry->flags & DWC3_EP_WEDGE ? 'W' : 'w',
  	__entry->flags & DWC3_EP_BUSY ? '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_MISSED_ISOC ? 'M' : 'm',
  	__entry->flags & DWC3_EP_END_TRANSFER_PENDING ? 'E' : 'e',
  	__entry->flags & DWC3_EP_END_TRANSFER_PENDING ? 'E' : 'e',
+1 −2
Original line number Original line Diff line number Diff line
@@ -662,11 +662,10 @@ struct dwc3_ep {
#define DWC3_EP_ENABLED		BIT(0)
#define DWC3_EP_ENABLED		BIT(0)
#define DWC3_EP_STALL		BIT(1)
#define DWC3_EP_STALL		BIT(1)
#define DWC3_EP_WEDGE		BIT(2)
#define DWC3_EP_WEDGE		BIT(2)
#define DWC3_EP_BUSY		BIT(4)
#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_MISSED_ISOC	BIT(6)
#define DWC3_EP_END_TRANSFER_PENDING	BIT(7)
#define DWC3_EP_END_TRANSFER_PENDING	BIT(7)
#define DWC3_EP_TRANSFER_STARTED BIT(8)


	/* This last one is specific to EP0 */
	/* This last one is specific to EP0 */
#define DWC3_EP0_DIR_IN		BIT(31)
#define DWC3_EP0_DIR_IN		BIT(31)
+2 −3
Original line number Original line Diff line number Diff line
@@ -66,7 +66,7 @@ static int dwc3_ep0_start_trans(struct dwc3_ep *dep)
	struct dwc3			*dwc;
	struct dwc3			*dwc;
	int				ret;
	int				ret;


	if (dep->flags & DWC3_EP_BUSY)
	if (dep->flags & DWC3_EP_TRANSFER_STARTED)
		return 0;
		return 0;


	dwc = dep->dwc;
	dwc = dep->dwc;
@@ -79,7 +79,6 @@ static int dwc3_ep0_start_trans(struct dwc3_ep *dep)
	if (ret < 0)
	if (ret < 0)
		return ret;
		return ret;


	dep->flags |= DWC3_EP_BUSY;
	dep->resource_index = dwc3_gadget_ep_get_transfer_index(dep);
	dep->resource_index = dwc3_gadget_ep_get_transfer_index(dep);
	dwc->ep0_next_event = DWC3_EP0_COMPLETE;
	dwc->ep0_next_event = DWC3_EP0_COMPLETE;


@@ -913,7 +912,7 @@ static void dwc3_ep0_xfer_complete(struct dwc3 *dwc,
{
{
	struct dwc3_ep		*dep = dwc->eps[event->endpoint_number];
	struct dwc3_ep		*dep = dwc->eps[event->endpoint_number];


	dep->flags &= ~DWC3_EP_BUSY;
	dep->flags &= ~DWC3_EP_TRANSFER_STARTED;
	dep->resource_index = 0;
	dep->resource_index = 0;
	dwc->setup_packet_pending = false;
	dwc->setup_packet_pending = false;


+2 −12
Original line number Original line Diff line number Diff line
@@ -691,8 +691,6 @@ static int __dwc3_gadget_ep_enable(struct dwc3_ep *dep,
		if (ret < 0)
		if (ret < 0)
			return ret;
			return ret;


		dep->flags |= DWC3_EP_BUSY;

		dep->resource_index = dwc3_gadget_ep_get_transfer_index(dep);
		dep->resource_index = dwc3_gadget_ep_get_transfer_index(dep);
		WARN_ON_ONCE(!dep->resource_index);
		WARN_ON_ONCE(!dep->resource_index);
	}
	}
@@ -1257,8 +1255,6 @@ static int __dwc3_gadget_kick_transfer(struct dwc3_ep *dep)
		return ret;
		return ret;
	}
	}


	dep->flags |= DWC3_EP_BUSY;

	if (starting) {
	if (starting) {
		dep->resource_index = dwc3_gadget_ep_get_transfer_index(dep);
		dep->resource_index = dwc3_gadget_ep_get_transfer_index(dep);
		WARN_ON_ONCE(!dep->resource_index);
		WARN_ON_ONCE(!dep->resource_index);
@@ -2389,7 +2385,7 @@ static int dwc3_gadget_ep_cleanup_completed_requests(struct dwc3_ep *dep,
	/*
	/*
	 * Our endpoint might get disabled by another thread during
	 * Our endpoint might get disabled by another thread during
	 * dwc3_gadget_giveback(). If that happens, we're just gonna return 1
	 * dwc3_gadget_giveback(). If that happens, we're just gonna return 1
	 * early on so DWC3_EP_BUSY flag gets cleared
	 * early.
	 */
	 */
	if (!dep->endpoint.desc)
	if (!dep->endpoint.desc)
		return 1;
		return 1;
@@ -2432,18 +2428,13 @@ static void dwc3_gadget_endpoint_transfer_in_progress(struct dwc3_ep *dep,
{
{
	struct dwc3		*dwc = dep->dwc;
	struct dwc3		*dwc = dep->dwc;
	unsigned		status = 0;
	unsigned		status = 0;
	int			clean_busy;


	dwc3_gadget_endpoint_frame_from_event(dep, event);
	dwc3_gadget_endpoint_frame_from_event(dep, event);


	if (event->status & DEPEVT_STATUS_BUSERR)
	if (event->status & DEPEVT_STATUS_BUSERR)
		status = -ECONNRESET;
		status = -ECONNRESET;


	clean_busy = dwc3_gadget_ep_cleanup_completed_requests(dep, event,
	dwc3_gadget_ep_cleanup_completed_requests(dep, event, status);
			status);
	if (clean_busy && (!dep->endpoint.desc ||
				usb_endpoint_xfer_isoc(dep->endpoint.desc)))
		dep->flags &= ~DWC3_EP_BUSY;


	/*
	/*
	 * WORKAROUND: This is the 2nd half of U1/U2 -> U0 workaround.
	 * WORKAROUND: This is the 2nd half of U1/U2 -> U0 workaround.
@@ -2612,7 +2603,6 @@ static void dwc3_stop_active_transfer(struct dwc3_ep *dep, bool force)
	ret = dwc3_send_gadget_ep_cmd(dep, cmd, &params);
	ret = dwc3_send_gadget_ep_cmd(dep, cmd, &params);
	WARN_ON_ONCE(ret);
	WARN_ON_ONCE(ret);
	dep->resource_index = 0;
	dep->resource_index = 0;
	dep->flags &= ~DWC3_EP_BUSY;


	if (dwc3_is_usb31(dwc) || dwc->revision < DWC3_REVISION_310A) {
	if (dwc3_is_usb31(dwc) || dwc->revision < DWC3_REVISION_310A) {
		dep->flags |= DWC3_EP_END_TRANSFER_PENDING;
		dep->flags |= DWC3_EP_END_TRANSFER_PENDING;
+1 −1
Original line number Original line Diff line number Diff line
@@ -311,7 +311,7 @@ DECLARE_EVENT_CLASS(dwc3_log_ep,
		__entry->flags & DWC3_EP_ENABLED ? 'E' : 'e',
		__entry->flags & DWC3_EP_ENABLED ? 'E' : 'e',
		__entry->flags & DWC3_EP_STALL ? 'S' : 's',
		__entry->flags & DWC3_EP_STALL ? 'S' : 's',
		__entry->flags & DWC3_EP_WEDGE ? 'W' : 'w',
		__entry->flags & DWC3_EP_WEDGE ? 'W' : 'w',
		__entry->flags & DWC3_EP_BUSY ? '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_MISSED_ISOC ? 'M' : 'm',
		__entry->flags & DWC3_EP_END_TRANSFER_PENDING ? 'E' : 'e',
		__entry->flags & DWC3_EP_END_TRANSFER_PENDING ? 'E' : 'e',