[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YAGqKfDfB7EEuZVn@builder.lan>
Date: Fri, 15 Jan 2021 08:43:53 -0600
From: Bjorn Andersson <bjorn.andersson@...aro.org>
To: Roja Rani Yarubandi <rojay@...eaurora.org>, ulf.hansson@...aro.org,
viresh.kumar@...aro.org
Cc: robh+dt@...nel.org, wsa@...nel.org, swboyd@...omium.org,
dianders@...omium.org, saiprakash.ranjan@...eaurora.org,
mka@...omium.org, akashast@...eaurora.org,
msavaliy@....qualcomm.com, parashar@...eaurora.org,
rnayak@...eaurora.org, linux-pm@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-msm@...r.kernel.org, agross@...nel.org,
linux-i2c@...r.kernel.org
Subject: Re: [PATCH 3/3] i2c: i2c-qcom-geni: Add support for
'assigned-performance-states'
On Thu 24 Dec 05:12 CST 2020, Roja Rani Yarubandi wrote:
> @@ -629,6 +658,16 @@ static int __maybe_unused geni_i2c_runtime_suspend(struct device *dev)
> struct geni_i2c_dev *gi2c = dev_get_drvdata(dev);
>
> disable_irq(gi2c->irq);
> +
> + /* Drop the assigned performance state */
> + if (gi2c->assigned_pstate) {
> + ret = dev_pm_genpd_set_performance_state(dev, 0);
> + if (ret) {
> + dev_err(dev, "Failed to set performance state\n");
> + return ret;
> + }
> + }
> +
Ulf, Viresh, I think we discussed this at the time of introducing the
performance states.
The client's state does not affect if its performance_state should
be included in the calculation of the aggregated performance_state, so
each driver that needs to keep some minimum performance state needs to
have these two snippets.
Would it not make sense to on enable/disable re-evaluate the
performance_state and potentially reconfigure the hardware
automatically?
Regards,
Bjorn
> ret = geni_se_resources_off(&gi2c->se);
> if (ret) {
> enable_irq(gi2c->irq);
> @@ -654,6 +693,16 @@ static int __maybe_unused geni_i2c_runtime_resume(struct device *dev)
> if (ret)
> return ret;
>
> + /* Set the assigned performance state */
> + if (gi2c->assigned_pstate) {
> + ret = dev_pm_genpd_set_performance_state(dev,
> + gi2c->assigned_pstate);
> + if (ret) {
> + dev_err(dev, "Failed to set performance state\n");
> + return ret;
> + }
> + }
> +
> enable_irq(gi2c->irq);
> gi2c->suspended = 0;
> return 0;
> --
> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
> of Code Aurora Forum, hosted by The Linux Foundation
>
Powered by blists - more mailing lists