[Bug] usb: dwc2: Add functions to set and clear force mode

Caesar Wang caesar.upstream at gmail.com
Mon Feb 1 03:13:15 PST 2016



在 2016年02月01日 19:12, Caesar Wang 写道:
> Doug
>
> 在 2016年01月30日 03:11, Doug Anderson 写道:
>> Caesar,
>>
>> On Tue, Jan 26, 2016 at 6:12 PM, Caesar Wang 
>> <caesar.upstream at gmail.com> wrote:
>>> Thanks Doug's reply.
>>>
>>> Cc: Wulf
>>> 在 2016年01月27日 00:05, Doug Anderson 写道:
>>>> Hi,
>>>>
>>>> On Tue, Jan 26, 2016 at 4:02 AM, Caesar Wang <wxt at rock-chips.com> 
>>>> wrote:
>>>>> Hi  John, Felipe
>>>>>
>>>>>
>>>>> I'm no familiar with usb stuff.
>>>>> then I found this patch will break usb working for rk3036 SoCs, maybe
>>>>> more
>>>>> SoCs.
>>>>> Says, U disk can't work on usb host.
>>>>>
>>>>> The failure log:
>>>>>
>>>>>      32.645481] usb usb2-port1: connect-debounce failed
>>>>>
>>>>>
>>>>> Tested by following branch:
>>>>> https://github.com/Caesar-github/rockchip/tree/kylin/next (kernel:
>>>>> 4.5-rc1)
>>>>>
>>>>> Revert "usb: dwc2: Add functions to set and clear force mode" will 
>>>>> work
>>>>> for
>>>>> it.
>>>>>
>>>>>
>>>>> Maybe, someone have some suggestions or ideas?
>>>> Can you check if this series helps you?
>>>>
>>>> http://marc.info/?l=linux-usb&m=145255851516121&w=2
>>>
>>> Unluckily, this series patches can't fix it on rk3036 SoCs.
>>> I revert this CL ("usb: dwc2: Add functions to set and clear force 
>>> mode") to
>>> work firstly.
>> You're 100% positive?  In particular you made sure you had this patch
>> (one of the two in John's series I pointed at), which explicitly
>> mentions fixing a problem with the patch you mention?
>
> I'm 100% positive the John's patches can fix this issue

Sorry, John's patches can't fix this issue.


> As the following verified on
> https://github.com/Caesar-github/rockchip/commits/for-usb-tests
>
> Anyway, Meanwhile if we add the folllowing patch can work for me. I 
> will track it on tomorrow if you have other suggestions.
>
> diff --git a/drivers/usb/dwc2/core.c b/drivers/usb/dwc2/core.c
> index e991d55..90f4abf 100644
> --- a/drivers/usb/dwc2/core.c
> +++ b/drivers/usb/dwc2/core.c
> @@ -637,6 +637,13 @@ int dwc2_core_reset_and_force_dr_mode(struct 
> dwc2_hsotg *hsotg)
>                 return retval;
>
>         dwc2_force_dr_mode(hsotg);
> +
> +       /*
> +        * NOTE: This long sleep is _very_ important, otherwise the 
> core will
> +        * not stay in host mode after a connector ID change!
> +        */
> +        usleep_range(150000, 160000);
> +
>         return 0;
>  }
>
>
>>
>> Author:     John Youn <John.Youn at synopsys.com>
>> AuthorDate: Mon Jan 11 16:32:28 2016 -0800
>>
>>      usb: dwc2: Fix probe problem on bcm2835
>>
>>      Fixes an issue found on Raspberry PI platform that prevents 
>> probe. Don't
>>      skip setting the force mode if it's already set.
>>
>>      Fixes: 09c96980dc72 ("usb: dwc2: Add functions to set and clear 
>> force mode")
>>      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>
>>      Tested-by: Stefan Wahren <stefan.wahren at i2se.com>
>>      Tested-by: Remi Pommarel <repk at triplefau.lt>
>>
>>
>> Maybe try again just in case there was some problem updating your
>> kernel when you tested before?  If you're sure you can reproduce the
>> problem even with John's two patches, perhaps you can give more
>> details about what part of his patch broke things for you.
>>
>> -Doug
>>
>> _______________________________________________
>> Linux-rockchip mailing list
>> Linux-rockchip at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-rockchip
>
>

-- 
Thanks,
Caesar




More information about the Linux-rockchip mailing list