Re: [PATCH v7 1/5] usb: dwc3: host: Set PHY mode during suspend

From: Matthias Kaehlcke
Date: Thu May 13 2021 - 10:37:41 EST


On Thu, May 13, 2021 at 04:46:41PM +0300, Felipe Balbi wrote:
>
> Hi,
>
> Matthias Kaehlcke <mka@xxxxxxxxxxxx> writes:
> >> > @@ -127,6 +142,50 @@ int dwc3_host_init(struct dwc3 *dwc)
> >> > return ret;
> >> > }
> >> >
> >> > +static void dwc3_set_phy_mode(struct usb_hcd *hcd)
> >> > +{
> >> > +
> >> > + int i, num_ports;
> >> > + u32 reg;
> >> > + unsigned int ss_phy_mode = 0;
> >> > + struct dwc3 *dwc = dev_get_drvdata(hcd->self.controller->parent);
> >> > + struct xhci_hcd *xhci_hcd = hcd_to_xhci(hcd);
> >> > +
> >> > + dwc->hs_phy_mode = 0;
> >> > +
> >> > + reg = readl(&xhci_hcd->cap_regs->hcs_params1);
> >> > + num_ports = HCS_MAX_PORTS(reg);
> >>
> >> there's a big assumption here that xhci is still alive. Why isn't this
> >> quirk implemented in xhci-plat itself?
> >
> > That should work for determining which types of devices are connected to
> > the PHYs, however IIUC the xhci-plat doesn't know about the PHY topology.
> > Are you suggesting to move that info into the xhci-plat driver so that it
> > can set the corresponding PHY modes?
>
> Yes, if xHCI needs to know about PHYs in order to properly configure the
> PHYs, so be it :-)

Thanks for the confirmation, looks like we have a path forward here then :)