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

Commit 9e0838c6 authored by Manu Gautam's avatar Manu Gautam Committed by Sriharsha Allenki
Browse files

USB: dwc3: Add support for ISOC high bandwidth transfer in HS mode



Program ISOC TRB so that DWC3 can initiate more than one data
transfer in a micro frame.

Change-Id: I9465faf7f0e88c05bfb2c013772d2ea3b43c93d7
Signed-off-by: default avatarManu Gautam <mgautam@codeaurora.org>
parent ce56ce78
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -831,6 +831,7 @@ static void dwc3_prepare_one_trb(struct dwc3_ep *dep,
	struct dwc3_trb		*trb;
	struct dwc3_trb		*trb;
	bool			zlp_appended = false;
	bool			zlp_appended = false;
	unsigned		rlen;
	unsigned		rlen;
	int			isoc_maxp;


	dev_vdbg(dwc->dev, "%s: req %pK dma %08llx length %d%s%s\n",
	dev_vdbg(dwc->dev, "%s: req %pK dma %08llx length %d%s%s\n",
			dep->name, req, (unsigned long long) dma,
			dep->name, req, (unsigned long long) dma,
@@ -864,6 +865,8 @@ update_trb:
		break;
		break;


	case USB_ENDPOINT_XFER_ISOC:
	case USB_ENDPOINT_XFER_ISOC:
		isoc_maxp = usb_endpoint_maxp(dep->endpoint.desc);
		trb->size |= DWC3_TRB_SIZE_PCM1(isoc_maxp >> 11);
		if (!node)
		if (!node)
			trb->ctrl = DWC3_TRBCTL_ISOCHRONOUS_FIRST;
			trb->ctrl = DWC3_TRBCTL_ISOCHRONOUS_FIRST;
		else
		else