usb: dwc2: Avoid more calls to dwc2_core_reset()
authorDouglas Anderson <dianders@chromium.org>
Thu, 17 Dec 2015 19:15:21 +0000 (11:15 -0800)
committerFelipe Balbi <balbi@ti.com>
Tue, 22 Dec 2015 17:54:30 +0000 (11:54 -0600)
commit7d56cc2620f523eba7a831daa22186c8ae5bbdfe
tree90d755169ac50f396f634d78ebe2dcf8d4b16ee6
parent20bde643434d541bc5f662c5836a05e9e276eca3
usb: dwc2: Avoid more calls to dwc2_core_reset()

Calls to dwc2_core_reset() are currently very slow, taking at least
150ms (possibly more).  It behooves us to take as many of these calls
out as possible.

It turns out that the calls in dwc2_fs_phy_init() and dwc2_hs_phy_init()
should (as documented in the code) only be needed if we need to do a PHY
SELECT.  That means that if we see that we can avoid the PHY SELECT then
we can avoid the reset.

This patch appears to successfully bypass two resets (one per USB
device) on rk3288-based ARM Chromebooks.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/dwc2/core.c