From: Felipe Balbi <balbi-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
Cc: Greg Kroah-Hartman
<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
Grygorii Strashko
<grygorii.strashko-l0cyMroinI0@public.gmane.org>,
Roger Quadros <rogerq-l0cyMroinI0@public.gmane.org>,
Sekhar Nori <nsekhar-l0cyMroinI0@public.gmane.org>,
linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Nishanth Menon <nm-l0cyMroinI0@public.gmane.org>
Subject: Re: [PATCH] usb: dwc3: omap: Fix imprecise external abort and oops on boot
Date: Thu, 08 Dec 2016 22:09:13 +0200 [thread overview]
Message-ID: <87fulyuqs6.fsf@linux.intel.com> (raw)
In-Reply-To: <20161208193208.GE4920-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
Hi,
Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org> writes:
>> nothing against it. Would be nice if TI could confirm this is needed and
>> check if other families might also need it.
>
> But as we currently are not using the WRAPRESET bit, the reset
> function is nop except for the delay. So this just papers over
> the problem with the delay. We are not really resetting anything
> until WRAPRESET and probably also CORE_SW_RESET reset are used.
>
> I'm now thinking the original $subject patch for dwc3-omap.c
> is the way to go for the fix. Or possibly even writing to the
> CORE_SW_RESET bit in dwc3-omap.c probe. The driver needs to be
> able to initialize the hardware no matter what it's state is
> in probe :)
in theory, yeah. In practice, this doesn't work always. For starters,
we'd probably loose connection to host while handing over IP from
e.g. u-boot to kernel.
Not to mention tht with dwc3 we can't simply read EP registers and
figure out what's the state of the EP. EP registers are a command
interface to some HW-based command parser/processor. IOW, we can't
extrapolate internal state machine from a read of the registers.
All this to say, that we rely on properly reset HW from probe(). At
least in the context of dwc3 :-)
> Then later on we can add separate resets for the wrapper module
> and dwc3 core. But that's way too intrusive for a fix for sure.
yeah, that's something for v4.11. Let's go with your fix that just
clears interrupts early on. Once proper resets are added, then we should
revert that change.
--
balbi
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2016-12-08 20:09 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-08 3:21 [PATCH] usb: dwc3: omap: Fix imprecise external abort and oops on boot Tony Lindgren
[not found] ` <20161208032108.21962-1-tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-12-08 9:44 ` Felipe Balbi
[not found] ` <87lgvqkb6f.fsf-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2016-12-08 15:37 ` Tony Lindgren
[not found] ` <20161208153734.GF4264-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-12-08 17:51 ` Felipe Balbi
[not found] ` <87a8c6pavm.fsf-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2016-12-08 18:25 ` Tony Lindgren
[not found] ` <20161208182521.GA4920-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-12-08 18:44 ` Tony Lindgren
[not found] ` <20161208184425.GB4920-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-12-08 19:09 ` Tony Lindgren
2016-12-08 19:18 ` Felipe Balbi
[not found] ` <8737hy8c1s.fsf-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2016-12-08 19:32 ` Tony Lindgren
[not found] ` <20161208193208.GE4920-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-12-08 20:09 ` Felipe Balbi [this message]
[not found] ` <87fulyuqs6.fsf-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2016-12-08 20:26 ` Tony Lindgren
2016-12-08 19:16 ` Felipe Balbi
[not found] ` <8760mu8c4m.fsf-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2016-12-08 19:45 ` Tony Lindgren
[not found] ` <20161208194557.GF4920-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-12-08 20:11 ` Felipe Balbi
[not found] ` <87d1h2uqny.fsf-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2016-12-08 20:25 ` Tony Lindgren
2016-12-08 21:54 ` Grygorii Strashko
[not found] ` <9cce1e34-2fec-9477-4827-6b4c67920a8a-l0cyMroinI0@public.gmane.org>
2016-12-08 22:57 ` Tony Lindgren
[not found] ` <20161208225724.GI4920-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-12-08 23:38 ` Grygorii Strashko
[not found] ` <2a0ce107-dddb-6c59-8681-677e217e9fac-l0cyMroinI0@public.gmane.org>
2016-12-08 23:55 ` Tony Lindgren
[not found] ` <20161208235513.GJ4920-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-12-09 18:45 ` Grygorii Strashko
2016-12-09 16:08 ` Roger Quadros
[not found] ` <8a94638a-a8fe-88e0-aece-1ed9835df3c6-l0cyMroinI0@public.gmane.org>
2016-12-09 16:28 ` Tony Lindgren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87fulyuqs6.fsf@linux.intel.com \
--to=balbi-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
--cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
--cc=grygorii.strashko-l0cyMroinI0@public.gmane.org \
--cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=nm-l0cyMroinI0@public.gmane.org \
--cc=nsekhar-l0cyMroinI0@public.gmane.org \
--cc=rogerq-l0cyMroinI0@public.gmane.org \
--cc=tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.