From: Matthias Kaehlcke <mka@chromium.org>
To: Peter Chen <peter.chen@nxp.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Rob Herring <robh+dt@kernel.org>,
Frank Rowand <frowand.list@gmail.com>,
Alan Stern <stern@rowland.harvard.edu>,
Krzysztof Kozlowski <krzk@kernel.org>,
Bastien Nocera <hadess@hadess.net>,
Ravi Chandra Sadineni <ravisadineni@chromium.org>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
Stephen Boyd <swboyd@chromium.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
Douglas Anderson <dianders@chromium.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Alexander A. Klimov" <grandmaster@al2klimov.de>,
Masahiro Yamada <masahiroy@kernel.org>
Subject: Re: [PATCH 2/2] USB: misc: Add onboard_usb_hub driver
Date: Tue, 15 Sep 2020 16:03:45 -0700 [thread overview]
Message-ID: <20200915230345.GF2771744@google.com> (raw)
In-Reply-To: <AM7PR04MB715735A8A102F3EC9041EA328B200@AM7PR04MB7157.eurprd04.prod.outlook.com>
Hi Peter,
On Tue, Sep 15, 2020 at 07:05:38AM +0000, Peter Chen wrote:
>
> > > > + hub->cfg.power_off_in_suspend =
> > of_property_read_bool(dev->of_node, "power-off-in-suspend");
> > > > + hub->cfg.wakeup_source = of_property_read_bool(dev->of_node,
> > > > +"wakeup-source");
> > >
> > > Do you really need these two properties? If the device (and its
> > > children if existed) has wakeup enabled, you keep power in suspend,
> > > otherwise, you could close it, any exceptions?
> >
> > That would work for my use case, but I'm not sure it's a universally good
> > configuration.
> >
> > I don't have a specific USB device in mind, but you could have a device that
> > shouldn't lose it's context during suspend or keep operating autonomously (e.g.
> > a sensor with a large buffer collecting samples). Not sure if something like this
> > exists in the real though.
> >
> > I'm not an expert, but it seems there are USB controllers with wakeup support
> > which is always enabled. A board with such a controller then couldn't have a
> > policy to power down the hub regardless of wakeup capable devices being
> > connected.
> >
>
> Whether or not it is a wakeup_source, it could get through its or its children's
> /sys/../power/wakeup value, you have already used usb_wakeup_enabled_descendants
> to know it.
I conceptually agree, but in practice there are some conflicting details:
wakeup for the hubs on my system is by default disabled, yet USB wakeup works
regardless, so the flag doesn't really provide useful information. I guess we
could still use it if there is no better way, but it doesn't seem ideal.
Similar for udev->bus->controller, according to sysfs it doesn't even have wakeup
support. Please let me know if there is a reliable way to check if wakeup is
enabled on the controller of a device.
> If the onboard HUB needs to reflect wakeup signal, it should not power off its regulator.
>
> For another property power-off-in-suspend, I think it is also a user option,
> but not a hardware feature.
Ok, I think you are suggesting a sysfs attribute instead of a DT property, that
sounds good to me.
next prev parent reply other threads:[~2020-09-15 23:04 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-14 18:27 [PATCH 1/2] dt-bindings: usb: Add binding for onboard USB hubs Matthias Kaehlcke
2020-09-14 18:27 ` [PATCH 2/2] USB: misc: Add onboard_usb_hub driver Matthias Kaehlcke
2020-09-14 19:52 ` Matthias Kaehlcke
2020-09-14 20:14 ` Alan Stern
2020-09-14 21:14 ` Matthias Kaehlcke
2020-09-15 2:32 ` kernel test robot
2020-09-15 2:55 ` Peter Chen
2020-09-15 5:02 ` Matthias Kaehlcke
2020-09-15 7:05 ` Peter Chen
2020-09-15 23:03 ` Matthias Kaehlcke [this message]
2020-09-16 2:14 ` Alan Stern
2020-09-16 19:27 ` Matthias Kaehlcke
2020-09-16 8:19 ` Peter Chen
2020-09-16 19:16 ` Matthias Kaehlcke
2020-09-17 0:27 ` Peter Chen
2020-09-17 0:47 ` Matthias Kaehlcke
2020-09-17 1:24 ` Peter Chen
2020-09-17 15:54 ` Matthias Kaehlcke
2020-09-15 14:21 ` [PATCH 1/2] dt-bindings: usb: Add binding for onboard USB hubs Rob Herring
2020-09-16 0:00 ` Matthias Kaehlcke
2020-09-18 16:05 ` Rob Herring
2020-09-22 23:39 ` Matthias Kaehlcke
2020-09-15 14:21 ` Rob Herring
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=20200915230345.GF2771744@google.com \
--to=mka@chromium.org \
--cc=devicetree@vger.kernel.org \
--cc=dianders@chromium.org \
--cc=frowand.list@gmail.com \
--cc=grandmaster@al2klimov.de \
--cc=gregkh@linuxfoundation.org \
--cc=hadess@hadess.net \
--cc=krzk@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=masahiroy@kernel.org \
--cc=peter.chen@nxp.com \
--cc=ravisadineni@chromium.org \
--cc=robh+dt@kernel.org \
--cc=stern@rowland.harvard.edu \
--cc=swboyd@chromium.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.