Browse Source

usb: cdns3: Set the SS EP config bit by usb SS speed

Set SS EP config bit by USB SS speed. Avoid transfer
timeout.

Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
Minda Chen 9 months ago
parent
commit
0ff6454c13
1 changed files with 6 additions and 4 deletions
  1. 6 4
      drivers/usb/cdns3/gadget.c

+ 6 - 4
drivers/usb/cdns3/gadget.c

@@ -1569,15 +1569,17 @@ void cdns3_ep_config(struct cdns3_endpoint *priv_ep)
 	case USB_ENDPOINT_XFER_INT:
 		ep_cfg = EP_CFG_EPTYPE(USB_ENDPOINT_XFER_INT);
 
-		if ((priv_dev->dev_ver == DEV_VER_V2 && !priv_ep->dir) ||
-		    priv_dev->dev_ver > DEV_VER_V2)
+		if ((priv_dev->gadget.speed >= USB_SPEED_SUPER) &&
+			((priv_dev->dev_ver == DEV_VER_V2  && !priv_ep->dir) ||
+			priv_dev->dev_ver > DEV_VER_V2))
 			ep_cfg |= EP_CFG_TDL_CHK;
 		break;
 	case USB_ENDPOINT_XFER_BULK:
 		ep_cfg = EP_CFG_EPTYPE(USB_ENDPOINT_XFER_BULK);
 
-		if ((priv_dev->dev_ver == DEV_VER_V2  && !priv_ep->dir) ||
-		    priv_dev->dev_ver > DEV_VER_V2)
+		if ((priv_dev->gadget.speed >= USB_SPEED_SUPER) &&
+			((priv_dev->dev_ver == DEV_VER_V2  && !priv_ep->dir) ||
+			priv_dev->dev_ver > DEV_VER_V2))
 			ep_cfg |= EP_CFG_TDL_CHK;
 		break;
 	default: