[PATCH 1/2] Revert "usb: dwc2: Move reset into dwc2_get_hwparams()"
Stefan Wahren
stefan.wahren at i2se.com
Sun Jan 10 04:27:28 PST 2016
Hi John,
[Cc linux-rpi-kernel]
> John Youn <John.Youn at synopsys.com> hat am 8. Januar 2016 um 19:40 geschrieben:
>
>
> This reverts commit 263b7fb557f7 ("usb: dwc2: Move reset into
> dwc2_get_hwparams()") due to regression found on bcm2835 platform. USB
> ethernet fails, possibly due to being unable to pick up proper
> parameters when performing a plain reset before reading hw params.
>
> Signed-off-by: John Youn <johnyoun at synopsys.com>
> Reported-by: Stefan Wahren <stefan.wahren at i2se.com>
> Reported-by: Remi Pommarel <repk at triplefau.lt>
> ---
according to your wording i'm not sure that you had a chance to test it on a
Raspberry Pi.
So here are my test results with a Raspberry Pi B (IP Core: 2.80a).
First of all i applied Patch 2 of your series and the following:
-snip-
index e991d55..f84eda4 100644
--- a/drivers/usb/dwc2/core.c
+++ b/drivers/usb/dwc2/core.c
@@ -3231,8 +3231,8 @@ static void dwc2_get_host_hwparams(struct dwc2_hsotg
*hsotg)
gnptxfsiz = dwc2_readl(hsotg->regs + GNPTXFSIZ);
hptxfsiz = dwc2_readl(hsotg->regs + HPTXFSIZ);
- dev_dbg(hsotg->dev, "gnptxfsiz=%08x\n", gnptxfsiz);
- dev_dbg(hsotg->dev, "hptxfsiz=%08x\n", hptxfsiz);
+ dev_info(hsotg->dev, "gnptxfsiz=%08x\n", gnptxfsiz);
+ dev_info(hsotg->dev, "hptxfsiz=%08x\n", hptxfsiz);
if (forced)
dwc2_clear_force_mode(hsotg);
-snip-
So here is the probe result before Patch 1 is applied:
[ 1.283148] dwc2 20980000.usb: Configuration mismatch. dr_mode forced to host
[ 1.313894] dwc2 20980000.usb: gnptxfsiz=00201000
[ 1.314104] dwc2 20980000.usb: hptxfsiz=00000000
[ 1.353908] dwc2 20980000.usb: 256 invalid for host_nperio_tx_fifo_size.
Check HW configuration.
[ 1.354262] dwc2 20980000.usb: 512 invalid for host_perio_tx_fifo_size. Check
HW configuration.
[ 1.394249] dwc2 20980000.usb: DWC OTG Controller
[ 1.394561] dwc2 20980000.usb: new USB bus registered, assigned bus number 1
[ 1.394917] dwc2 20980000.usb: irq 33, io mem 0x00000000
And here is the probe result after Patch 1 is applied:
[ 1.280107] dwc2 20980000.usb: Configuration mismatch. dr_mode forced to host
[ 1.353949] dwc2 20980000.usb: gnptxfsiz=01001000
[ 1.354166] dwc2 20980000.usb: hptxfsiz=02002000
[ 1.434301] dwc2 20980000.usb: DWC OTG Controller
[ 1.434616] dwc2 20980000.usb: new USB bus registered, assigned bus number 1
[ 1.434973] dwc2 20980000.usb: irq 33, io mem 0x00000000
Yes, the host hardware parameter are different, which suits to the following
comment in core.c:
/*
* Host specific hardware parameters. Reading these parameters
* requires the controller to be in host mode. The mode will
* be forced, if necessary, to read these values.
*/
dwc2_get_host_hwparams(hsotg);
Maybe you want to clearify the patch description based on this information.
According to your Patch 1 and 2:
Tested-by: Stefan Wahren <stefan.wahren at i2se.com>
Thanks
Stefan
More information about the linux-rpi-kernel
mailing list