All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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: link
Be 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.