[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <MWHPR02MB281661D98648F430989697E8A72A0@MWHPR02MB2816.namprd02.prod.outlook.com>
Date: Fri, 27 Jul 2018 07:29:37 +0000
From: Anurag Kumar Vulisha <anuragku@...inx.com>
To: Felipe Balbi <balbi@...nel.org>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>
CC: "v.anuragkumar@...il.com" <v.anuragkumar@...il.com>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH v2] usb: dwc3: core: Add quirk for enabling AutoRetry
feature in the controller
Hi Felipe,
Thanks again for reviewing the patch. Will make the suggested changes and send v3.
Thanks,
Anurag Kumar Vulisha
>-----Original Message-----
>From: Felipe Balbi [mailto:balbi@...nel.org]
>Sent: Thursday, July 26, 2018 6:12 PM
>To: Anurag Kumar Vulisha <anuragku@...inx.com>; gregkh@...uxfoundation.org
>Cc: v.anuragkumar@...il.com; linux-usb@...r.kernel.org; linux-
>kernel@...r.kernel.org; Anurag Kumar Vulisha <anuragku@...inx.com>
>Subject: Re: [PATCH v2] usb: dwc3: core: Add quirk for enabling AutoRetry feature in
>the controller
>
>
>Hi,
>
>Anurag Kumar Vulisha <anurag.kumar.vulisha@...inx.com> writes:
>> By default when core sees any transaction error(CRC or overflow) it
>> replies with terminating retry ACK (Retry=1 and Nump == 0).
>> Enabling this Auto Retry feature in controller, on seeing any
>> transaction errors makes the core to send a non-terminating ACK
>> transaction packet (that is, ACK TP with Retry=1 and Nump != 0).
>> Doing so will give controller a chance to recover from the error
>> condition.
>>
>> Signed-off-by: Anurag Kumar Vulisha <anurag.kumar.vulisha@...inx.com>
>> ---
>> Changes in v2:
>> 1. As suggested by Rob Herring & Felipe Balbi removed the
>> quirk logic and setting the AutoRetry bits unconditionally
>> for hostmode
>> ---
>> drivers/usb/dwc3/core.c | 14 ++++++++++++++ drivers/usb/dwc3/core.h
>> | 3 +++
>> 2 files changed, 17 insertions(+)
>>
>> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index
>> 1038075..478c8a6 100644
>> --- a/drivers/usb/dwc3/core.c
>> +++ b/drivers/usb/dwc3/core.c
>> @@ -883,6 +883,20 @@ static int dwc3_core_init(struct dwc3 *dwc)
>> dwc3_writel(dwc->regs, DWC3_GUCTL1, reg);
>> }
>>
>> + if (dwc->dr_mode == USB_DR_MODE_HOST) {
>
>almost there. You also wanna check for dr_mode == OTG. OTG configurations can
>switch between device and host mode at will.
>
>> + reg = dwc3_readl(dwc->regs, DWC3_GUCTL);
>> +
>> + /* Enable Auto retry Feature to make the controller operating in
>
>match the multi-line comment style already in this file:
>
> /*
> * Enable Auto ....
>
>--
>balbi
Powered by blists - more mailing lists