Re: [PATCH v1 2/2] usb: tegra: Move UTMI-pads reset from ehci-tegra to tegra-phy

Thierry Reding
2017-12-11T10:25:29Z

[-- Attachment #1: Type: text/plain, Size: 1257 bytes --]

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]