hi, Jochen Sprickerhof <git@xxxxxxxxxxxxxxxxxxxxx> writes: > Note that it only works with USB_XHCI_PLATFORM=y. Also it needs a hard > reset when coming from an unpatched kernel. > > This was included in the original patch in > https://patchwork.kernel.org/patch/9992809/ but got dropped when > accepted in d8c80bb3b55b phy: exynos5-usbdrd: Calibrate LOS levels for > exynos5420/5800. > > Old behaviour: > > $ lsusb -t > /: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M > /: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M > |__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=r8152, 480M > > New behaviour: > > $ lsusb -t > /: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M > |__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=r8152, 5000M > > Tested on Debian unstable using u-boot-exynos (2018.11+dfsg-2) and Linux > 4.19.14. > > Signed-off-by: Jochen Sprickerhof <git@xxxxxxxxxxxxxxxxxxxxx> > --- > > Hi, > > I'm not sure why this it only works with the driver compiled into the > kernel nor why it needs a hard reset or why it was the line was dropped > when the patch was accepted. Would be great to get some feedback of the > authors. > > Cheers Jochen > > drivers/usb/dwc3/core.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c > index a1b126f90261..0008bccc30aa 100644 > --- a/drivers/usb/dwc3/core.c > +++ b/drivers/usb/dwc3/core.c > @@ -1169,7 +1169,8 @@ 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); > + if (dwc->usb2_generic_phy) > + phy_calibrate(dwc->usb2_generic_phy); I can't see why this is necessary. What's really going on? Why is this branch helping? -- balbi
Attachment:
signature.asc
Description: PGP signature