Re: [PATCH] usb: dwc3: Enable GBit Ethernet on Odroid XU4

From: Felipe Balbi
Date: Wed Feb 06 2019 - 01:49:29 EST



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