Re: [PATCH RESEND] usb: phy: mxs: Suggest passing "usbcore.autosuspend=-1" for mx23/mx28

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 23, 2016 at 05:06:12PM -0300, Fabio Estevam wrote:
> On Tue, Feb 23, 2016 at 4:47 PM, Fabio Estevam <festevam@xxxxxxxxx> wrote:
> > Hi Peter,
> >
> > On Sun, Feb 21, 2016 at 10:59 PM, Peter Chen <hzpeterchen@xxxxxxxxx> wrote:
> >
> >> Fabio, Felipe is correct. The mx23 and mx28 should NOT call mxs phy's
> >> suspend API
> >> since the runtime suspend is not enabled for mx23 and mx28 at chipidea driver.
> >> Would you please check if CI_HDRC_SUPPORTS_RUNTIME_PM is set wrongly
> >> for mx23/mx28 at ci_hdrc_imx.c? If it does not been set, would please add
> >> WARN_ON(1) at mxs_phy_suspend to show call stack?
> >
> > CI_HDRC_SUPPORTS_RUNTIME_PM is not set for mx23/mx28. I may have
> > enabled in earlier tests, but now I confirm it is not being set.
> >
> > I am running 4.1.13 with only this patch applied:
> >
> > --- a/drivers/usb/phy/phy-mxs-usb.c
> > +++ b/drivers/usb/phy/phy-mxs-usb.c
> > @@ -368,6 +368,9 @@ static int mxs_phy_suspend(struct usb_phy *x, int suspend)
> >         low_speed_connection = mxs_phy_is_low_speed_connection(mxs_phy);
> >         vbus_is_on = mxs_phy_get_vbus_status(mxs_phy);
> >
> > +       pr_err("********** entering mxs_phy_suspend\n");
> > +       WARN_ON(1);
> > +
> >         if (suspend) {
> >                 /*
> >                  * FIXME: Do not power down RXPWD1PT1 bit for low speed
> >
> > .but I never see mxs_phy_suspend() getting called.
> 

Oh, you said it is called before.

http://www.spinics.net/lists/linux-usb/msg136714.html

> Actually the runtime suspend funcion is mxs_phy_system_suspend().
> 
> Also added a  WARN_ON(1) inside mxs_phy_system_suspend() and it is
> also never called.
> 

Yes, it is expected since the runtime pm is not enabled for PHY mxs
driver.

> This means runtime pm functions are not being called for mx28 as expected.
> 
> Is there a way for getting USB to work on this board with a USB hub
> without passing "usbcore.autosuspend=-1" in the kernel command line?

If you make sure the neither .runtime_suspend at chipidea driver
nor mxs_phy_suspend at mxs driver are called, it means the USB HUB
can never be suspended, then the kernel command line is the only way.

Care to test external USB HUB with i.mx28 evk? I would like to know if it
is the HUB's issue. Afaik, i.mx28 has no such bug when the bus is
suspended but the PHY is still active.

-- 

Best Regards,
Peter Chen
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux