Messages in this thread | | | Date | Mon, 11 Dec 2017 11:25:23 +0100 | From | Thierry Reding <> | Subject | Re: [PATCH v1 2/2] usb: tegra: Move UTMI-pads reset from ehci-tegra to tegra-phy |
| |
On Mon, Dec 11, 2017 at 02:07:38AM +0300, Dmitry Osipenko wrote: > UTMI pads are shared by USB controllers and reset of UTMI pads is shared > with the reset of USB1 controller. Currently reset of UTMI pads is done by > the EHCI driver and ChipIdea UDC works because EHCI driver always happen > to be probed first. Move reset controls from ehci-tegra to tegra-phy in > order to resolve the problem. > > Signed-off-by: Dmitry Osipenko <digetx@gmail.com> > --- > drivers/usb/host/ehci-tegra.c | 87 ++++++++++++++++++--------------------- > drivers/usb/phy/phy-tegra-usb.c | 46 +++++++++++++++++++++ > include/linux/usb/tegra_usb_phy.h | 2 + > 3 files changed, 87 insertions(+), 48 deletions(-)
I don't think we can do this. For one I don't think shared resets are going to work here because you really won't ever be able to reset after two devices have requested the same reset. Second, utmip_pad_close() could be called at any point and it will have the side-effect of either not doing a reset at all (because it is shared) or resetting the USBD controller at the same time.
We've been over this code a great deal over the years. I'd love it to be simpler, but every time we tried to simplify it, things broke.
Thierry [unhandled content-type:application/pgp-signature] | |