lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 08 May 2014 10:22:51 +0900 From: Jonghwan Choi <jhbird.choi@...sung.com> To: 'Viresh Kumar' <viresh.kumar@...aro.org>, 'Nishanth Menon' <nm@...com> Cc: 'Linux PM list' <linux-pm@...r.kernel.org>, 'open list' <linux-kernel@...r.kernel.org>, "'Rafael J. Wysocki'" <rjw@...ysocki.net>, 'Len Brown' <len.brown@...el.com>, 'Amit Daniel Kachhap' <amit.daniel@...sung.com> Subject: RE: [PATCH 1/3] PM / OPP: Add support for descending order for cpufreq table > @Jonghwan: Please consider doing this: > - Don't play with the order of frequencies in table. > - Instead initialize .driver_data filed with values that you need to write > in the registers for all frequencies. i.e. 0 for highest frequency and > FREQ_COUNT-1 for lowest one. -> For that, I changed like this. For initializing .driver_data, I changed dev_pm_opp_init_cpufreq_table function(). --- a/drivers/base/power/opp.c +++ b/drivers/base/power/opp.c @@ -622,12 +622,12 @@ EXPORT_SYMBOL_GPL(dev_pm_opp_disable); * or in contexts where mutex locking cannot be used. */ int dev_pm_opp_init_cpufreq_table(struct device *dev, - struct cpufreq_frequency_table **table) + struct cpufreq_frequency_table **table, int order) { struct device_opp *dev_opp; struct dev_pm_opp *opp; struct cpufreq_frequency_table *freq_table; - int i = 0; + int i = 0, index = 0; /* Pretend as if I am an updater */ mutex_lock(&dev_opp_list_lock); @@ -649,16 +649,22 @@ int dev_pm_opp_init_cpufreq_table(struct device *dev, return -ENOMEM; } + if (OPP_TABLE_ORDER_DESCENDING == order) + index = dev_pm_opp_get_opp_count(dev) - 1; + list_for_each_entry(opp, &dev_opp->opp_list, node) { if (opp->available) { - freq_table[i].driver_data = i; + if (OPP_TABLE_ORDER_DESCENDING == order) + freq_table[i].driver_data = index--; + else + freq_table[i].driver_data = index++; freq_table[i].frequency = opp->rate / 1000; i++; } } mutex_unlock(&dev_opp_list_lock); - freq_table[i].driver_data = i; + freq_table[i].driver_data = index; freq_table[i].frequency = CPUFREQ_TABLE_END; *table = &freq_table[0]; Is it acceptiable? Thanks Best Regards -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists