From: Martin Blumenstingl <martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> To: Manu Gautam <mgautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> Cc: linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org, felipe.balbi-VuQAYsv1563Yd54FQh9/CA@public.gmane.org, mathias.nyman-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org, robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, arnd-r2nGTMty4D4@public.gmane.org, mark.rutland-5wv7dgnIgG8@public.gmane.org, linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, chunfeng.yun-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org, stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.org Subject: Re: [PATCH v7 usb-next 3/4] usb: core: hcd: integrate the PHY roothub wrapper Date: Tue, 31 Oct 2017 00:10:03 +0100 [thread overview] Message-ID: <CAFBinCD0kMkoWT4veoH8ZM7Rj2XwdvuE+tr7mM4n0J86eaOL-Q@mail.gmail.com> (raw) In-Reply-To: <89fc89e9-4510-2283-aad4-59eacf5cf925-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> Hi Manu, thank you for reviewing this! On Thu, Oct 26, 2017 at 7:42 AM, Manu Gautam <mgautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> wrote: > Hi, > > > On 10/24/2017 3:27 AM, Martin Blumenstingl wrote: >> This integrates the PHY roothub wrapper into the core hcd >> infrastructure. Multiple PHYs which are part of the roothub devicetree >> node (which is a sub-node of the sysdev's node) are now managed >> (= powered on/off when needed), by the new usb_phy_roothub code. >> >> One example where this is required is the Amlogic GXL and GXM SoCs: >> They are using a dwc3 USB controller with up to three ports enabled on >> the internal roothub. Using only the top-level "phy" properties does not >> work here since one can only specify one "usb2-phy" and one "usb3-phy", >> while actually at least two "usb2-phy" have to be specified. >> >> Signed-off-by: Martin Blumenstingl <martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> >> Tested-by: Neil Armstrong <narmstrong-rdvid1DuHRBWk0Htik3J/w@public.gmane.org> >> Acked-by: Alan Stern <stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.org> >> --- >> drivers/usb/core/hcd.c | 26 ++++++++++++++++++++++++++ >> include/linux/usb/hcd.h | 1 + >> 2 files changed, 27 insertions(+) >> >> diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c >> index 67aa3d039b9b..6ee97222cdad 100644 >> --- a/drivers/usb/core/hcd.c >> +++ b/drivers/usb/core/hcd.c >> @@ -50,6 +50,7 @@ >> #include <linux/usb/otg.h> >> >> #include "usb.h" >> +#include "phy.h" >> >> >> /*-------------------------------------------------------------------------*/ >> @@ -2271,6 +2272,8 @@ int hcd_bus_suspend(struct usb_device *rhdev, pm_message_t msg) >> usb_set_device_state(rhdev, USB_STATE_SUSPENDED); >> hcd->state = HC_STATE_SUSPENDED; >> >> + usb_phy_roothub_power_off(hcd->phy_roothub); >> + > > For system-suspend it should be ok. > But, in case of runtime/auto suspend, I think PHYs shouldn't be powered off. > Should we have check for that like- > > if (!PMSG_IS_AUTO(msg)) > usb_phy_roothub_power_off() > > Similar check in hcd_bus_resume? disclaimer: I must admit that I am not very familiar with the PM code and even worse: the platform I'm developing with does not have suspend support can I take your suggestion and include it in the next version of this series or should we wait for feedback from another developer on this topic? > >> /* Did we race with a root-hub wakeup event? */ >> if (rhdev->do_remote_wakeup) { >> char buffer[6]; >> @@ -2307,6 +2310,11 @@ int hcd_bus_resume(struct usb_device *rhdev, pm_message_t msg) >> dev_dbg(&rhdev->dev, "skipped %s of dead bus\n", "resume"); >> return 0; >> } >> + >> + status = usb_phy_roothub_power_on(hcd->phy_roothub); >> + if (status) >> + return status; >> + > > -- > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project > Regards Martin -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: martin.blumenstingl@googlemail.com (Martin Blumenstingl) To: linus-amlogic@lists.infradead.org Subject: [PATCH v7 usb-next 3/4] usb: core: hcd: integrate the PHY roothub wrapper Date: Tue, 31 Oct 2017 00:10:03 +0100 [thread overview] Message-ID: <CAFBinCD0kMkoWT4veoH8ZM7Rj2XwdvuE+tr7mM4n0J86eaOL-Q@mail.gmail.com> (raw) In-Reply-To: <89fc89e9-4510-2283-aad4-59eacf5cf925@codeaurora.org> Hi Manu, thank you for reviewing this! On Thu, Oct 26, 2017 at 7:42 AM, Manu Gautam <mgautam@codeaurora.org> wrote: > Hi, > > > On 10/24/2017 3:27 AM, Martin Blumenstingl wrote: >> This integrates the PHY roothub wrapper into the core hcd >> infrastructure. Multiple PHYs which are part of the roothub devicetree >> node (which is a sub-node of the sysdev's node) are now managed >> (= powered on/off when needed), by the new usb_phy_roothub code. >> >> One example where this is required is the Amlogic GXL and GXM SoCs: >> They are using a dwc3 USB controller with up to three ports enabled on >> the internal roothub. Using only the top-level "phy" properties does not >> work here since one can only specify one "usb2-phy" and one "usb3-phy", >> while actually at least two "usb2-phy" have to be specified. >> >> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> >> Tested-by: Neil Armstrong <narmstrong@baylibre.com> >> Acked-by: Alan Stern <stern@rowland.harvard.edu> >> --- >> drivers/usb/core/hcd.c | 26 ++++++++++++++++++++++++++ >> include/linux/usb/hcd.h | 1 + >> 2 files changed, 27 insertions(+) >> >> diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c >> index 67aa3d039b9b..6ee97222cdad 100644 >> --- a/drivers/usb/core/hcd.c >> +++ b/drivers/usb/core/hcd.c >> @@ -50,6 +50,7 @@ >> #include <linux/usb/otg.h> >> >> #include "usb.h" >> +#include "phy.h" >> >> >> /*-------------------------------------------------------------------------*/ >> @@ -2271,6 +2272,8 @@ int hcd_bus_suspend(struct usb_device *rhdev, pm_message_t msg) >> usb_set_device_state(rhdev, USB_STATE_SUSPENDED); >> hcd->state = HC_STATE_SUSPENDED; >> >> + usb_phy_roothub_power_off(hcd->phy_roothub); >> + > > For system-suspend it should be ok. > But, in case of runtime/auto suspend, I think PHYs shouldn't be powered off. > Should we have check for that like- > > if (!PMSG_IS_AUTO(msg)) > usb_phy_roothub_power_off() > > Similar check in hcd_bus_resume? disclaimer: I must admit that I am not very familiar with the PM code and even worse: the platform I'm developing with does not have suspend support can I take your suggestion and include it in the next version of this series or should we wait for feedback from another developer on this topic? > >> /* Did we race with a root-hub wakeup event? */ >> if (rhdev->do_remote_wakeup) { >> char buffer[6]; >> @@ -2307,6 +2310,11 @@ int hcd_bus_resume(struct usb_device *rhdev, pm_message_t msg) >> dev_dbg(&rhdev->dev, "skipped %s of dead bus\n", "resume"); >> return 0; >> } >> + >> + status = usb_phy_roothub_power_on(hcd->phy_roothub); >> + if (status) >> + return status; >> + > > -- > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project > Regards Martin
next prev parent reply other threads:[~2017-10-30 23:10 UTC|newest] Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-10-23 21:57 [PATCH v7 usb-next 0/4] initialize (multiple) PHYs on the roothub Martin Blumenstingl 2017-10-23 21:57 ` Martin Blumenstingl [not found] ` <20171023215718.3446-1-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> 2017-10-23 21:57 ` [PATCH v7 usb-next 1/4] dt-bindings: usb: add the documentation for USB root-hub Martin Blumenstingl 2017-10-23 21:57 ` Martin Blumenstingl 2017-10-23 21:57 ` [PATCH v7 usb-next 2/4] usb: core: add a wrapper for the USB PHYs on the root-hub Martin Blumenstingl 2017-10-23 21:57 ` Martin Blumenstingl [not found] ` <20171023215718.3446-3-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> 2017-10-24 0:06 ` Chunfeng Yun 2017-10-24 0:06 ` Chunfeng Yun 2017-10-23 21:57 ` [PATCH v7 usb-next 3/4] usb: core: hcd: integrate the PHY roothub wrapper Martin Blumenstingl 2017-10-23 21:57 ` Martin Blumenstingl [not found] ` <20171023215718.3446-4-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> 2017-10-24 0:07 ` Chunfeng Yun 2017-10-24 0:07 ` Chunfeng Yun 2017-10-26 5:42 ` Manu Gautam 2017-10-26 5:42 ` Manu Gautam [not found] ` <89fc89e9-4510-2283-aad4-59eacf5cf925-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> 2017-10-30 23:10 ` Martin Blumenstingl [this message] 2017-10-30 23:10 ` Martin Blumenstingl [not found] ` <CAFBinCD0kMkoWT4veoH8ZM7Rj2XwdvuE+tr7mM4n0J86eaOL-Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2017-10-31 11:30 ` Chunfeng Yun 2017-10-31 11:30 ` Chunfeng Yun 2017-10-23 21:57 ` [PATCH v7 usb-next 4/4] dt-bindings: usb: xhci: include the roothub and a device in the example Martin Blumenstingl 2017-10-23 21:57 ` Martin Blumenstingl [not found] ` <20171023215718.3446-5-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> 2017-10-27 3:29 ` Rob Herring 2017-10-27 3:29 ` Rob Herring 2017-10-27 19:20 ` Martin Blumenstingl 2017-10-27 19:20 ` Martin Blumenstingl [not found] ` <CAFBinCALbByzAiAqTOzGj6XHASGwWX34xg7GKf=Fa6_eiCEnkA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2017-10-27 19:55 ` Alan Stern 2017-10-27 19:55 ` Alan Stern [not found] ` <Pine.LNX.4.44L0.1710271550360.1355-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org> 2017-10-28 13:33 ` Martin Blumenstingl 2017-10-28 13:33 ` Martin Blumenstingl [not found] ` <CAFBinCBocmr6fywO9vqWu+ngfrbG=FBFqdEvYEBWR84VgMANpw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2017-10-30 14:08 ` Arnd Bergmann 2017-10-30 14:08 ` Arnd Bergmann [not found] ` <CAK8P3a1xdUy7g991MbtrSTYFsM864MQDc61=sLZmfSMwrokCBg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2017-10-30 22:59 ` Martin Blumenstingl 2017-10-30 22:59 ` Martin Blumenstingl [not found] ` <CAFBinCBJuL7J7847ZU0jO=O0WuwNZj_oBT4NO1+ge11dEbQL+w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2017-11-12 20:48 ` Martin Blumenstingl 2017-11-12 20:48 ` Martin Blumenstingl
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CAFBinCD0kMkoWT4veoH8ZM7Rj2XwdvuE+tr7mM4n0J86eaOL-Q@mail.gmail.com \ --to=martin.blumenstingl-gm/ye1e23mwn+bqq9rbeug@public.gmane.org \ --cc=arnd-r2nGTMty4D4@public.gmane.org \ --cc=chunfeng.yun-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \ --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \ --cc=felipe.balbi-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \ --cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \ --cc=linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \ --cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \ --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \ --cc=mathias.nyman-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \ --cc=mgautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \ --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \ --cc=stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.