Message ID | 20190627071726.30467-4-m.szyprowski@samsung.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | Fix USB3.0 DRD PHY calibration issues (DWC3/XHCI) on Exynos542x SoCs | expand |
Hi Marek, On Thu, 27 Jun 2019 at 12:47, Marek Szyprowski <m.szyprowski@samsung.com> wrote: > > Calls to USB2 generic PHY calibrate() method were added by commit > d8c80bb3b55b ("phy: exynos5-usbdrd: Calibrate LOS levels for > exynos5420/5800"), but it turned out that the mentioned patch worked only > by the pure luck and fixed only one use case. To fix the issues with PHY > calibration it has been moved to XHCI HCD driver, what allows to perform > calibration in the proper time window. This patch removes those calls > from DWC3 driver, as they are no longer needed there. > > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Please add my tested on XU4 / XU3 using linux next-20190716 Tested-by: Anand Moon <linux.amoon@gmail.com> Best Regards -Anand > --- > drivers/usb/dwc3/core.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c > index baa029ceede9..f62e8442c614 100644 > --- a/drivers/usb/dwc3/core.c > +++ b/drivers/usb/dwc3/core.c > @@ -168,7 +168,6 @@ static void __dwc3_set_mode(struct work_struct *work) > otg_set_vbus(dwc->usb2_phy->otg, true); > phy_set_mode(dwc->usb2_generic_phy, PHY_MODE_USB_HOST); > phy_set_mode(dwc->usb3_generic_phy, PHY_MODE_USB_HOST); > - phy_calibrate(dwc->usb2_generic_phy); > } > break; > case DWC3_GCTL_PRTCAP_DEVICE: > @@ -1166,7 +1165,6 @@ static int dwc3_core_init_mode(struct dwc3 *dwc) > dev_err(dev, "failed to initialize host\n"); > return ret; > } > - phy_calibrate(dwc->usb2_generic_phy); > break; > case USB_DR_MODE_OTG: > INIT_WORK(&dwc->drd_work, __dwc3_set_mode); > -- > 2.17.1 >
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index baa029ceede9..f62e8442c614 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -168,7 +168,6 @@ static void __dwc3_set_mode(struct work_struct *work) otg_set_vbus(dwc->usb2_phy->otg, true); phy_set_mode(dwc->usb2_generic_phy, PHY_MODE_USB_HOST); phy_set_mode(dwc->usb3_generic_phy, PHY_MODE_USB_HOST); - phy_calibrate(dwc->usb2_generic_phy); } break; case DWC3_GCTL_PRTCAP_DEVICE: @@ -1166,7 +1165,6 @@ static int dwc3_core_init_mode(struct dwc3 *dwc) dev_err(dev, "failed to initialize host\n"); return ret; } - phy_calibrate(dwc->usb2_generic_phy); break; case USB_DR_MODE_OTG: INIT_WORK(&dwc->drd_work, __dwc3_set_mode);
Calls to USB2 generic PHY calibrate() method were added by commit d8c80bb3b55b ("phy: exynos5-usbdrd: Calibrate LOS levels for exynos5420/5800"), but it turned out that the mentioned patch worked only by the pure luck and fixed only one use case. To fix the issues with PHY calibration it has been moved to XHCI HCD driver, what allows to perform calibration in the proper time window. This patch removes those calls from DWC3 driver, as they are no longer needed there. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> --- drivers/usb/dwc3/core.c | 2 -- 1 file changed, 2 deletions(-)