[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <410670D7E743164D87FA6160E7907A560113A323E2@am04wembxa.internal.synopsys.com>
Date: Tue, 24 Oct 2017 09:47:01 +0000
From: Minas Harutyunyan <Minas.Harutyunyan@...opsys.com>
To: John Stultz <john.stultz@...aro.org>,
Minas Harutyunyan <Minas.Harutyunyan@...opsys.com>
CC: John Youn <John.Youn@...opsys.com>,
lkml <linux-kernel@...r.kernel.org>,
Wei Xu <xuwei5@...ilicon.com>,
Guodong Xu <guodong.xu@...aro.org>,
"Amit Pundir" <amit.pundir@...aro.org>,
YongQin Liu <yongqin.liu@...aro.org>,
Douglas Anderson <dianders@...omium.org>,
Chen Yu <chenyu56@...wei.com>,
Felipe Balbi <felipe.balbi@...ux.intel.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>
Subject: Re: [RESEND x2][PATCH 0/3] dwc2 fixes for edge cases on hikey
On 10/24/2017 12:41 AM, John Stultz wrote:
> On Mon, Oct 23, 2017 at 2:19 AM, Minas Harutyunyan
> <Minas.Harutyunyan@...opsys.com> wrote:
>> Could you please verify on your setup follow patches:
>> 1. Vardan's patch.
>> 2. Patch for TOUTCAL&USBTRDTIM programming (new version see below).
>> 4. Your patch 2/3 to avoid "Mode Mismatch" interrupts.
>> 5. Your patch 3/3 to set udc state to "not attached".
>> 6. Your patch 1/3, but remove dwc2_hsotg_core_init_disconnected()
>> function call from Host starting brnch, keep *only*
>> dwc2_hsotg_disconnect() to change UDC state to "not attached".
>
> So yes, this set does seem to work ok for me. Though neither Vardan's
> patch or the TOUTCAL/USBTRDTIM patch seem to have much effect either
> way (I need to do more testing just to be sure, but for the use cases
> I've had trouble with they don't seem to do much).
>
> I'm happy to rework my earlier patch #1/3 to remove
> dwc2_hsotg_core_init_disconnected() and resend.
>
> thanks
> -john
>
Hi John Stultz,
1. Vardan's patch required for cases when core switching from host mode
to device mode. On host disconnect hsotg->lx_state set to DWC2_L2 as
result dwc2_hsotg_enqueue_setup() failed because enqueuing should be
done in DWC2_L0 state. This patch set lx_state to DWC2_L0 before
enqueuing setup transfer.
2. TOUTCAL&USBTRDTIM patch adding missing USBCFG programming in host
mode. These fields even if was programmed in device mode (see function
dwc2_hsotg_core_init_disconnected()) will be resetting to POR values
after core soft reset applied. Programming of these fields to correct
values allow fix issues with lot of transaction errors due to timeouts
and turnarrounds on USB bus.
Previously on TOUTCAL patch you wrote:
"So while using this patch and the earlier one from Vardan, I don't see
the "Transaction Error" and " ChHltd set, but reason is unknown" messages".
Thanks,
Minas
Powered by blists - more mailing lists