Re: [PATCH 1/2] Revert "usb: dwc2: Move reset into dwc2_get_hwparams()"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi John,

[Cc linux-rpi-kernel]

> John Youn <John.Youn@xxxxxxxxxxxx> 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@xxxxxxxxxxxx>
> Reported-by: Stefan Wahren <stefan.wahren@xxxxxxxx>
> Reported-by: Remi Pommarel <repk@xxxxxxxxxxxx>
> ---

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@xxxxxxxx>

Thanks
Stefan
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux