[PATCH 1/2] Revert "usb: dwc2: Move reset into dwc2_get_hwparams()"
John Youn
John.Youn at synopsys.com
Mon Jan 11 15:18:11 PST 2016
On 1/10/2016 4:27 AM, Stefan Wahren wrote:
> 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>
>
Great, thanks for that. I'll add the additional information and
resend.
Regards,
John
More information about the linux-rpi-kernel
mailing list