[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