On 08/29, Viresh Kumar wrote: > On 18-08-16, 16:52, Finlye Xiao wrote: > > +static int rockchip_adjust_opp_table(struct device *cpu_dev, > > + struct cpufreq_frequency_table *table, > > + int volt) > > +{ > > + struct opp_table *opp_table; > > + struct cpufreq_frequency_table *pos; > > + struct dev_pm_opp *opp; > > + > > + if (!volt) > > + return 0; > > + > > + rcu_read_lock(); > > + > > + opp_table = _find_opp_table(cpu_dev); > > + if (IS_ERR(opp_table)) { > > + rcu_read_unlock(); > > + return PTR_ERR(opp_table); > > + } > > + > > + cpufreq_for_each_valid_entry(pos, table) { > > + opp = dev_pm_opp_find_freq_exact(cpu_dev, pos->frequency * 1000, > > + true); > > + if (IS_ERR(opp)) > > + continue; > > + > > + opp->u_volt += volt; > > + opp->u_volt_min += volt; > > + opp->u_volt_max += volt; > > + } > > + > > + rcu_read_unlock(); > > + > > + return 0; > > +} > > I wouldn't prefer altering the opp tables from individual drivers at all. At the > least, it should be done via some helpers exposed by the core. > > But before that I would like to hear from Stephen a bit as I recall he was also > working on something similar. > I had a patch to modify the voltage at runtime for the "current" OPP. Now that we have regulator and clk control inside OPP that became a little easier to do without having to do some notifier from the OPP layer to the consumers. I haven't had time to revive those patches though. Should we do that? Does this need to modify anything besides the OPP the device is currently running at? -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html