forked from Minki/linux
usb: dwc3: Update maximum_speed for SuperSpeedPlus
If the maximum_speed is not set, set it to a known value, either SuperSpeed or SuperSpeedPlus based on the type of controller we are using. If we are on DWC_usb31 controller, check the PHY interface to see if it is capable of SuperSpeedPlus. Also this check is moved after dwc3_core_init() so that we can check dwc->revision. Signed-off-by: John Youn <johnyoun@synopsys.com> Signed-off-by: Felipe Balbi <balbi@kernel.org>
This commit is contained in:
parent
ee5cd41c91
commit
2c7f1bd912
@ -962,10 +962,6 @@ static int dwc3_probe(struct platform_device *pdev)
|
|||||||
fladj = pdata->fladj_value;
|
fladj = pdata->fladj_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* default to superspeed if no maximum_speed passed */
|
|
||||||
if (dwc->maximum_speed == USB_SPEED_UNKNOWN)
|
|
||||||
dwc->maximum_speed = USB_SPEED_SUPER;
|
|
||||||
|
|
||||||
dwc->lpm_nyet_threshold = lpm_nyet_threshold;
|
dwc->lpm_nyet_threshold = lpm_nyet_threshold;
|
||||||
dwc->tx_de_emphasis = tx_de_emphasis;
|
dwc->tx_de_emphasis = tx_de_emphasis;
|
||||||
|
|
||||||
@ -1016,6 +1012,19 @@ static int dwc3_probe(struct platform_device *pdev)
|
|||||||
goto err1;
|
goto err1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* default to superspeed if no maximum_speed passed */
|
||||||
|
if (dwc->maximum_speed == USB_SPEED_UNKNOWN) {
|
||||||
|
dwc->maximum_speed = USB_SPEED_SUPER;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* default to superspeed plus if we are capable.
|
||||||
|
*/
|
||||||
|
if (dwc3_is_usb31(dwc) &&
|
||||||
|
(DWC3_GHWPARAMS3_SSPHY_IFC(dwc->hwparams.hwparams3) ==
|
||||||
|
DWC3_GHWPARAMS3_SSPHY_IFC_GEN2))
|
||||||
|
dwc->maximum_speed = USB_SPEED_SUPER_PLUS;
|
||||||
|
}
|
||||||
|
|
||||||
/* Adjust Frame Length */
|
/* Adjust Frame Length */
|
||||||
dwc3_frame_length_adjustment(dwc, fladj);
|
dwc3_frame_length_adjustment(dwc, fladj);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user