From: Matthias Kaehlcke <mka@chromium.org>
To: Sandeep Maheswaram <quic_c_sanm@quicinc.com>
Cc: Rob Herring <robh+dt@kernel.org>, Andy Gross <agross@kernel.org>,
Bjorn Andersson <bjorn.andersson@linaro.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Felipe Balbi <balbi@kernel.org>,
Stephen Boyd <swboyd@chromium.org>,
Doug Anderson <dianders@chromium.org>,
Mathias Nyman <mathias.nyman@intel.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
quic_pkondeti@quicinc.com, quic_ppratap@quicinc.com,
quic_kriskura@quicinc.com, quic_vpulyala@quicinc.com
Subject: Re: [PATCH v13 5/6] usb: dwc3: qcom: Keep power domain on to retain controller status
Date: Mon, 11 Apr 2022 14:13:22 -0700 [thread overview]
Message-ID: <YlSZ8uk8MjygY7uf@google.com> (raw)
In-Reply-To: <1649704614-31518-6-git-send-email-quic_c_sanm@quicinc.com>
On Tue, Apr 12, 2022 at 12:46:53AM +0530, Sandeep Maheswaram wrote:
> Keep the power domain always on during runtime suspend or if the
> controller supports wakeup in order to retain controller status
> and to support wakeup from devices.
>
> Signed-off-by: Sandeep Maheswaram <quic_c_sanm@quicinc.com>
> ---
> drivers/usb/dwc3/dwc3-qcom.c | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
> index 9804a19..9747be6 100644
> --- a/drivers/usb/dwc3/dwc3-qcom.c
> +++ b/drivers/usb/dwc3/dwc3-qcom.c
> @@ -17,6 +17,7 @@
> #include <linux/of_platform.h>
> #include <linux/platform_device.h>
> #include <linux/phy/phy.h>
> +#include <linux/pm_domain.h>
> #include <linux/usb/of.h>
> #include <linux/reset.h>
> #include <linux/iopoll.h>
> @@ -724,6 +725,7 @@ static int dwc3_qcom_probe(struct platform_device *pdev)
> struct resource *res, *parent_res = NULL;
> int ret, i;
> bool ignore_pipe_clk;
> + struct generic_pm_domain *genpd;
nit: I'm not really a fan of gazillions of whitespaces between the type
and the variable name, but if they are kept all variable names above
should move a tab to the right. In any case the style in this file isn't
consistent, so an alternative would be to just get rid of the alignment
completely.
> qcom = devm_kzalloc(&pdev->dev, sizeof(*qcom), GFP_KERNEL);
> if (!qcom)
> @@ -732,6 +734,8 @@ static int dwc3_qcom_probe(struct platform_device *pdev)
> platform_set_drvdata(pdev, qcom);
> qcom->dev = &pdev->dev;
>
> + genpd = pd_to_genpd(qcom->dev->pm_domain);
> +
> if (has_acpi_companion(dev)) {
> qcom->acpi_pdata = acpi_device_get_match_data(dev);
> if (!qcom->acpi_pdata) {
> @@ -839,7 +843,12 @@ static int dwc3_qcom_probe(struct platform_device *pdev)
> if (ret)
> goto interconnect_exit;
>
> - device_init_wakeup(&pdev->dev, 1);
> + genpd->flags |= GENPD_FLAG_RPM_ALWAYS_ON;
> +
> + if (device_may_wakeup(&qcom->dwc3->dev))
> + genpd->flags |= GENPD_FLAG_ALWAYS_ON;
In v12 only GENPD_FLAG_ALWAYS_ON was set, not GENPD_FLAG_RPM_ALWAYS_ON.
I asked a few times for a change log, in this instance it would be
useful to explain why GENPD_FLAG_RPM_ALWAYS_ON is now set.
> +
> + device_init_wakeup(&pdev->dev, device_may_wakeup(&qcom->dwc3->dev));
device_may_wakeup() isn't an expensive operation, but it's still not nice to
call it twice in three lines of code. Instead you could do this:
if (device_may_wakeup(&qcom->dwc3->dev)) {
genpd->flags |= GENPD_FLAG_ALWAYS_ON;
device_init_wakeup(&pdev->dev, true);
}
next prev parent reply other threads:[~2022-04-11 21:13 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-11 19:16 [PATCH v13 0/6] USB DWC3 host wake up support from system suspend Sandeep Maheswaram
2022-04-11 19:16 ` [PATCH v13 1/6] dt-bindings: usb: dwc3: Add wakeup-source property support Sandeep Maheswaram
2022-04-12 12:02 ` Krzysztof Kozlowski
2022-04-11 19:16 ` [PATCH v13 2/6] usb: dwc3: core: Host wake up support from system suspend Sandeep Maheswaram
2022-04-11 20:54 ` Matthias Kaehlcke
2022-04-12 4:46 ` Sandeep Maheswaram (Temp)
2022-04-12 5:00 ` Pavan Kondeti
2022-04-12 6:38 ` Sandeep Maheswaram (Temp)
2022-04-12 6:49 ` Pavan Kondeti
2022-04-12 19:05 ` Matthias Kaehlcke
2022-04-13 9:08 ` Sandeep Maheswaram (Temp)
2022-04-13 15:56 ` Matthias Kaehlcke
2022-04-14 5:57 ` Sandeep Maheswaram (Temp)
2022-04-16 0:30 ` Matthias Kaehlcke
2022-04-19 10:22 ` Sandeep Maheswaram (Temp) (QUIC)
2022-04-11 19:16 ` [PATCH v13 3/6] usb: dwc3: qcom: Add helper functions to enable,disable wake irqs Sandeep Maheswaram
2022-04-11 19:16 ` [PATCH v13 4/6] usb: dwc3: qcom: Configure wakeup interrupts during suspend Sandeep Maheswaram
2022-04-11 19:16 ` [PATCH v13 5/6] usb: dwc3: qcom: Keep power domain on to retain controller status Sandeep Maheswaram
2022-04-11 21:13 ` Matthias Kaehlcke [this message]
2022-04-12 4:50 ` Sandeep Maheswaram (Temp)
2022-04-11 19:16 ` [PATCH v13 6/6] arm64: dts: qcom: sc7280: Add wakeup-source property for USB node Sandeep Maheswaram
2022-04-21 14:27 ` (subset) " Bjorn Andersson
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=YlSZ8uk8MjygY7uf@google.com \
--to=mka@chromium.org \
--cc=agross@kernel.org \
--cc=balbi@kernel.org \
--cc=bjorn.andersson@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=dianders@chromium.org \
--cc=gregkh@linuxfoundation.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mathias.nyman@intel.com \
--cc=quic_c_sanm@quicinc.com \
--cc=quic_kriskura@quicinc.com \
--cc=quic_pkondeti@quicinc.com \
--cc=quic_ppratap@quicinc.com \
--cc=quic_vpulyala@quicinc.com \
--cc=robh+dt@kernel.org \
--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.