From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Elson Serrao <quic_eserrao@quicinc.com>,
gregkh@linuxfoundation.org, Thinh.Nguyen@synopsys.com,
rogerq@kernel.org, robh+dt@kernel.org,
krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org,
devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org
Subject: Re: [PATCH v4 2/3] dt-bindings: usb: snps,dwc3: Add runtime-suspend-on-usb-suspend property
Date: Wed, 23 Aug 2023 08:34:24 +0200 [thread overview]
Message-ID: <5dfae814-7233-eb1f-cae7-f335e54ce1b6@linaro.org> (raw)
In-Reply-To: <a0a6c561-6319-00ba-c6db-f1dec9f0f0aa@quicinc.com>
On 23/08/2023 01:58, Elson Serrao wrote:
>
>
> On 8/19/2023 2:35 AM, Krzysztof Kozlowski wrote:
>> On 18/08/2023 21:16, Elson Serrao wrote:
>>>
>>>
>>> On 8/15/2023 10:44 PM, Krzysztof Kozlowski wrote:
>>>> On 14/08/2023 20:50, Elson Roy Serrao wrote:
>>>>> This property allows dwc3 runtime suspend when bus suspend interrupt
>>>>> is received even with cable connected. This would allow the dwc3
>>>>> controller to enter low power mode during bus suspend scenario.
>>>>>
>>>>> This property would particularly benefit dwc3 IPs where hibernation is
>>>>> not enabled and the dwc3 low power mode entry/exit is handled by the
>>>>> glue driver. The assumption here is that the platform using this dt
>>>>> property is capable of detecting resume events to bring the controller
>>>>> out of suspend.
>>>>>
>>>>> Signed-off-by: Elson Roy Serrao <quic_eserrao@quicinc.com>
>>>>> ---
>>>>> Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 5 +++++
>>>>> 1 file changed, 5 insertions(+)
>>>>>
>>>>> diff --git a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
>>>>> index a696f23730d3..e19a60d06d2b 100644
>>>>> --- a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
>>>>> +++ b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
>>>>> @@ -403,6 +403,11 @@ properties:
>>>>> description:
>>>>> Enable USB remote wakeup.
>>>>>
>>>>> + snps,runtime-suspend-on-usb-suspend:
>>>>> + description:
>>>>> + If True then dwc3 runtime suspend is allowed during bus suspend
>>>>> + case even with the USB cable connected.
>>>>
>>>> This was no tested... but anyway, this is no a DT property but OS
>>>> policy. There is no such thing as "runtime suspend" in the hardware,
>>>> because you describe one particular OS.
>>>>
>>>> Sorry, no a DT property, drop the change entirely.
>>>>
>>>>
>>> Hi Krzysztof
>>>
>>> Sorry my local dt checker had some issue and it did not catch these
>>> errors. I have rectified it now.
>>>
>>> This dt property is mainly for skipping dwc3 controller halt when a USB
>>> suspend interrupt is received with usb cable connected, so that we dont
>>> trigger a DISCONNECT event. Perhaps a better name would reflect the true
>>> usage of this?
>>>
>>> Something like snps,skip-dwc3-halt-on-usb-suspend. dwc3 cores where
>>> hibernation feature is not enabled/supported can use this property
>>
>> So this is specific to DWC3 core, thus should be just implied by compatible.
>>
>
> Hi Krzysztof
>
> Apologies for not being clear. Below is the reasoning behind this dt entry.
>
> When bus suspend interrupt is received and if usb cable is connected,
> dwc3 driver does not suspend. The aim of this series is to handle this
> interrupt when USB cable is connected to achieve power savings. OEMs
> might have their own implementation in their glue driver to turn off
> clocks and other resources when USB is not in use, thus saving power.
> But since glue layer has dependency on dwc3 driver (parent-child
> relationship) we need to allow dwc3 driver to NOT ignore the bus suspend
> interrupt and let the dwc3 driver suspend (so that glue driver can
> suspend as well)
All this describes current OS implementation so has nothing to do with
bindings.
>
> Now it is the responsibility of glue driver to detect USB wakeup signal
> from the host during resume (since dwc3 driver is suspended at this
> point and cannot handle interrupts). Every OEM may not have the
> capability to detect wakeup signal.
Again, driver architecture.
> The goal of this dt property is for
> the dwc3 driver to allow handling of the bus suspend interrupt when such
DT properties are not "for the drivers".
> a capability exists on a given HW platform. When this property is
Each platform has this capability. If not, then it is
compatible-related, as I said before which you did not address.
> defined dwc3 driver knows that the low power mode entry/exit is
> controlled by the glue driver and thus it can allow the suspend
> operation when bus suspend interrupt is received.
>
> For example on Qualcomm platforms there is a phy sideband signalling
> which detects the wakeup signal when resume is initiated by the host.
So compatible-specific.
> Thus qcom platforms can benefit from this feature by defining this dt
> property. (in a parallel discussion with Thinh N to come up with a
> better name for this dt entry).
Thanks, with quite a long message you at the end admitted this is
compatible-specific. Exactly what I wrote it one sentence previously.
Best regards,
Krzysztof
next prev parent reply other threads:[~2023-08-23 6:34 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-14 18:50 [PATCH v4 0/3] Support dwc3 runtime suspend during bus suspend Elson Roy Serrao
2023-08-14 18:50 ` [PATCH v4 1/3] usb: function: u_ether: Handle rx requests during suspend/resume Elson Roy Serrao
2023-08-14 18:50 ` [PATCH v4 2/3] dt-bindings: usb: snps,dwc3: Add runtime-suspend-on-usb-suspend property Elson Roy Serrao
2023-08-14 19:13 ` Rob Herring
2023-08-16 5:44 ` Krzysztof Kozlowski
2023-08-18 19:16 ` Elson Serrao
2023-08-19 0:42 ` Thinh Nguyen
2023-08-19 9:35 ` Krzysztof Kozlowski
2023-08-22 23:58 ` Elson Serrao
2023-08-23 6:34 ` Krzysztof Kozlowski [this message]
2023-08-23 8:04 ` Roger Quadros
2023-08-26 1:53 ` Thinh Nguyen
2023-08-26 8:39 ` Krzysztof Kozlowski
2023-08-28 21:34 ` Elson Serrao
2023-08-30 1:37 ` Thinh Nguyen
2023-08-30 4:31 ` Elson Serrao
2023-08-30 7:05 ` Krzysztof Kozlowski
2023-08-31 3:01 ` Thinh Nguyen
2023-08-31 6:29 ` Krzysztof Kozlowski
2023-09-21 17:09 ` Elson Serrao
2023-10-02 18:56 ` Thinh Nguyen
2023-10-17 22:59 ` Elson Serrao
2023-10-20 22:26 ` Thinh Nguyen
2023-08-14 18:50 ` [PATCH v4 3/3] usb: dwc3: Modify runtime pm ops to handle bus suspend Elson Roy Serrao
2023-10-24 10:14 ` Roger Quadros
2023-10-24 18:41 ` Elson Serrao
2023-10-25 8:02 ` Roger Quadros
2023-10-25 22:21 ` Elson Serrao
2023-10-26 8:29 ` Roger Quadros
2023-10-27 0:07 ` Elson Serrao
2023-10-27 6:37 ` Roger Quadros
2023-10-30 18:41 ` Elson Serrao
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=5dfae814-7233-eb1f-cae7-f335e54ce1b6@linaro.org \
--to=krzysztof.kozlowski@linaro.org \
--cc=Thinh.Nguyen@synopsys.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=quic_eserrao@quicinc.com \
--cc=robh+dt@kernel.org \
--cc=rogerq@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).