Messages in this thread | | | Date | Fri, 15 Jan 2021 08:43:53 -0600 | From | Bjorn Andersson <> | 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 >
| |