[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Yuom7k3Y4tDhy/QJ@hovoldconsulting.com>
Date: Wed, 3 Aug 2022 09:42:38 +0200
From: Johan Hovold <johan@...nel.org>
To: Krishna Kurapati PSSNV <quic_kriskura@...cinc.com>
Cc: Johan Hovold <johan+linaro@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Felipe Balbi <balbi@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Andy Gross <agross@...nel.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>,
Konrad Dybcio <konrad.dybcio@...ainline.org>,
Stephen Boyd <swboyd@...omium.org>,
Doug Anderson <dianders@...omium.org>,
Matthias Kaehlcke <mka@...omium.org>,
Pavankumar Kondeti <quic_pkondeti@...cinc.com>,
quic_ppratap@...cinc.com, quic_vpulyala@...cinc.com,
linux-arm-msm@...r.kernel.org, linux-usb@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/8] Revert "usb: dwc3: qcom: Keep power domain on to
retain controller status"
On Tue, Aug 02, 2022 at 11:30:34PM +0530, Krishna Kurapati PSSNV wrote:
>
> On 8/2/2022 8:43 PM, Johan Hovold wrote:
> > This reverts commit d9be8d5c5b032e5383ff5c404ff4155e9c705429.
> >
> > Generic power-domain flags must be set before the power-domain is
> > initialised and must specifically not be modified by drivers for devices
> > that happen to be in the domain.
> >
> > To make sure that USB power-domains are left enabled during system
> > suspend when a device in the domain is in the wakeup path, the
> > GENPD_FLAG_ACTIVE_WAKEUP flag should instead be set for the domain
> > unconditionally when it is registered.
> In case we need the genpd framework to set the GENPD_FLAG_ACTIVE_WAKEUP
> flag for a particular domain that will be used by a device (which is
> wakeup capable) and hasn't been probed yet , can you help me understand if
> there any dt-flags we can add to convey the same the genpd framework
> so that it will set that flag during domain registration ?
This can't be expressed in DT (currently), so what you need is something
like the below:
diff --git a/drivers/clk/qcom/gcc-sc7280.c b/drivers/clk/qcom/gcc-sc7280.c
index 7ff64d4d5920..4ff855269467 100644
--- a/drivers/clk/qcom/gcc-sc7280.c
+++ b/drivers/clk/qcom/gcc-sc7280.c
@@ -3125,6 +3125,7 @@ static struct gdsc gcc_usb30_prim_gdsc = {
.gdscr = 0xf004,
.pd = {
.name = "gcc_usb30_prim_gdsc",
+ .flags = GENPD_FLAG_ACTIVE_WAKEUP,
},
.pwrsts = PWRSTS_OFF_ON,
.flags = VOTABLE,
@@ -3134,6 +3135,7 @@ static struct gdsc gcc_usb30_sec_gdsc = {
.gdscr = 0x9e004,
.pd = {
.name = "gcc_usb30_sec_gdsc",
+ .flags = GENPD_FLAG_ACTIVE_WAKEUP,
},
.pwrsts = PWRSTS_OFF_ON,
.flags = VOTABLE,
to make sure that genpd keeps these domains powered during system
suspend if they are used by devices that are in the wakeup path.
Johan
Powered by blists - more mailing lists