[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