On Thu, Dec 17, 2020 at 12:40:05PM +0300, Dmitry Osipenko wrote: > Tegra PHY driver now supports waking up controller from a low power mode. > Enable runtime PM in order to put controller into the LPM during idle. > > Tested-by: Matt Merhar <mattmerhar@xxxxxxxxxxxxxx> > Tested-by: Nicolas Chauvet <kwizart@xxxxxxxxx> > Tested-by: Peter Geis <pgwipeout@xxxxxxxxx> > Tested-by: Ion Agorria <ion@xxxxxxxxxxx> > Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx> > --- > drivers/usb/chipidea/ci_hdrc_tegra.c | 13 ++++++++++--- > 1 file changed, 10 insertions(+), 3 deletions(-) > > diff --git a/drivers/usb/chipidea/ci_hdrc_tegra.c b/drivers/usb/chipidea/ci_hdrc_tegra.c > index 5fccdeeefc64..655671159511 100644 > --- a/drivers/usb/chipidea/ci_hdrc_tegra.c > +++ b/drivers/usb/chipidea/ci_hdrc_tegra.c > @@ -38,21 +38,24 @@ struct tegra_usb_soc_info { > > static const struct tegra_usb_soc_info tegra20_ehci_soc_info = { > .flags = CI_HDRC_REQUIRES_ALIGNED_DMA | > - CI_HDRC_OVERRIDE_PHY_CONTROL, > + CI_HDRC_OVERRIDE_PHY_CONTROL | > + CI_HDRC_SUPPORTS_RUNTIME_PM, > .dr_mode = USB_DR_MODE_HOST, > .txfifothresh = 10, > }; > > static const struct tegra_usb_soc_info tegra30_ehci_soc_info = { > .flags = CI_HDRC_REQUIRES_ALIGNED_DMA | > - CI_HDRC_OVERRIDE_PHY_CONTROL, > + CI_HDRC_OVERRIDE_PHY_CONTROL | > + CI_HDRC_SUPPORTS_RUNTIME_PM, > .dr_mode = USB_DR_MODE_HOST, > .txfifothresh = 16, > }; > > static const struct tegra_usb_soc_info tegra_udc_soc_info = { > .flags = CI_HDRC_REQUIRES_ALIGNED_DMA | > - CI_HDRC_OVERRIDE_PHY_CONTROL, > + CI_HDRC_OVERRIDE_PHY_CONTROL | > + CI_HDRC_SUPPORTS_RUNTIME_PM, > .dr_mode = USB_DR_MODE_UNKNOWN, > }; > > @@ -323,6 +326,10 @@ static int tegra_usb_probe(struct platform_device *pdev) > usb->data.hub_control = tegra_ehci_hub_control; > usb->data.notify_event = tegra_usb_notify_event; > > + /* Tegra PHY driver currently doesn't support LPM for ULPI */ > + if (of_usb_get_phy_mode(pdev->dev.of_node) == USBPHY_INTERFACE_MODE_ULPI) > + usb->data.flags &= ~CI_HDRC_SUPPORTS_RUNTIME_PM; > + Does this prevent the wakeup_enabled from being set for ULPI PHYs? Thierry
Attachment:
signature.asc
Description: PGP signature