Messages in this thread | | | Subject | Re: [PATCH 3/3] i2c: i2c-qcom-geni: Add support for 'assigned-performance-states' | From | Rajendra Nayak <> | Date | Mon, 18 Jan 2021 11:06:10 +0530 |
| |
On 1/15/2021 8:13 PM, Bjorn Andersson wrote: > 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?
I agree, this will be repeated across multiple drivers which would need some minimal vote while they are active, handling this during genpd enable/disable in genpd core makes sense.
> > 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 >>
-- QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
| |