Lines Matching refs:dbs_data
25 static struct attribute_group *get_sysfs_attr(struct dbs_data *dbs_data) in get_sysfs_attr() argument
28 return dbs_data->cdata->attr_group_gov_pol; in get_sysfs_attr()
30 return dbs_data->cdata->attr_group_gov_sys; in get_sysfs_attr()
33 void dbs_check_cpu(struct dbs_data *dbs_data, int cpu) in dbs_check_cpu() argument
35 struct cpu_dbs_info *cdbs = dbs_data->cdata->get_cpu_cdbs(cpu); in dbs_check_cpu()
36 struct od_dbs_tuners *od_tuners = dbs_data->tuners; in dbs_check_cpu()
37 struct cs_dbs_tuners *cs_tuners = dbs_data->tuners; in dbs_check_cpu()
44 if (dbs_data->cdata->governor == GOV_ONDEMAND) { in dbs_check_cpu()
46 dbs_data->cdata->get_cpu_dbs_info_s(cpu); in dbs_check_cpu()
71 j_cdbs = dbs_data->cdata->get_cpu_cdbs(j); in dbs_check_cpu()
79 if (dbs_data->cdata->governor == GOV_ONDEMAND) in dbs_check_cpu()
157 dbs_data->cdata->gov_check_cpu(cpu, max_load); in dbs_check_cpu()
161 static inline void __gov_queue_work(int cpu, struct dbs_data *dbs_data, in __gov_queue_work() argument
164 struct cpu_dbs_info *cdbs = dbs_data->cdata->get_cpu_cdbs(cpu); in __gov_queue_work()
169 void gov_queue_work(struct dbs_data *dbs_data, struct cpufreq_policy *policy, in gov_queue_work() argument
182 __gov_queue_work(raw_smp_processor_id(), dbs_data, delay); in gov_queue_work()
185 __gov_queue_work(i, dbs_data, delay); in gov_queue_work()
190 static inline void gov_cancel_work(struct dbs_data *dbs_data, in gov_cancel_work() argument
197 cdbs = dbs_data->cdata->get_cpu_cdbs(i); in gov_cancel_work()
226 struct dbs_data *dbs_data; in dbs_timer() local
241 dbs_data = policy->governor_data; in dbs_timer()
243 if (dbs_data->cdata->governor == GOV_CONSERVATIVE) { in dbs_timer()
244 struct cs_dbs_tuners *cs_tuners = dbs_data->tuners; in dbs_timer()
248 struct od_dbs_tuners *od_tuners = dbs_data->tuners; in dbs_timer()
256 delay = dbs_data->cdata->gov_dbs_timer(cdbs, dbs_data, modify_all); in dbs_timer()
257 gov_queue_work(dbs_data, policy, delay, modify_all); in dbs_timer()
263 static void set_sampling_rate(struct dbs_data *dbs_data, in set_sampling_rate() argument
266 if (dbs_data->cdata->governor == GOV_CONSERVATIVE) { in set_sampling_rate()
267 struct cs_dbs_tuners *cs_tuners = dbs_data->tuners; in set_sampling_rate()
270 struct od_dbs_tuners *od_tuners = dbs_data->tuners; in set_sampling_rate()
307 struct dbs_data *dbs_data, in cpufreq_governor_init() argument
317 if (dbs_data) { in cpufreq_governor_init()
325 dbs_data->usage_count++; in cpufreq_governor_init()
326 policy->governor_data = dbs_data; in cpufreq_governor_init()
330 dbs_data = kzalloc(sizeof(*dbs_data), GFP_KERNEL); in cpufreq_governor_init()
331 if (!dbs_data) in cpufreq_governor_init()
338 dbs_data->cdata = cdata; in cpufreq_governor_init()
339 dbs_data->usage_count = 1; in cpufreq_governor_init()
341 ret = cdata->init(dbs_data, !policy->governor->initialized); in cpufreq_governor_init()
351 dbs_data->min_sampling_rate = max(dbs_data->min_sampling_rate, in cpufreq_governor_init()
353 set_sampling_rate(dbs_data, max(dbs_data->min_sampling_rate, in cpufreq_governor_init()
357 cdata->gdbs_data = dbs_data; in cpufreq_governor_init()
359 policy->governor_data = dbs_data; in cpufreq_governor_init()
362 get_sysfs_attr(dbs_data)); in cpufreq_governor_init()
373 cdata->exit(dbs_data, !policy->governor->initialized); in cpufreq_governor_init()
377 kfree(dbs_data); in cpufreq_governor_init()
382 struct dbs_data *dbs_data) in cpufreq_governor_exit() argument
384 struct common_dbs_data *cdata = dbs_data->cdata; in cpufreq_governor_exit()
391 if (!--dbs_data->usage_count) { in cpufreq_governor_exit()
393 get_sysfs_attr(dbs_data)); in cpufreq_governor_exit()
400 cdata->exit(dbs_data, policy->governor->initialized == 1); in cpufreq_governor_exit()
401 kfree(dbs_data); in cpufreq_governor_exit()
411 struct dbs_data *dbs_data) in cpufreq_governor_start() argument
413 struct common_dbs_data *cdata = dbs_data->cdata; in cpufreq_governor_start()
427 struct cs_dbs_tuners *cs_tuners = dbs_data->tuners; in cpufreq_governor_start()
432 struct od_dbs_tuners *od_tuners = dbs_data->tuners; in cpufreq_governor_start()
476 gov_queue_work(dbs_data, policy, delay_for_sampling_rate(sampling_rate), in cpufreq_governor_start()
482 struct dbs_data *dbs_data) in cpufreq_governor_stop() argument
484 struct cpu_dbs_info *cdbs = dbs_data->cdata->get_cpu_cdbs(policy->cpu); in cpufreq_governor_stop()
500 gov_cancel_work(dbs_data, policy); in cpufreq_governor_stop()
507 struct dbs_data *dbs_data) in cpufreq_governor_limits() argument
509 struct common_dbs_data *cdata = dbs_data->cdata; in cpufreq_governor_limits()
524 dbs_check_cpu(dbs_data, cpu); in cpufreq_governor_limits()
533 struct dbs_data *dbs_data; in cpufreq_governor_dbs() local
540 dbs_data = policy->governor_data; in cpufreq_governor_dbs()
542 dbs_data = cdata->gdbs_data; in cpufreq_governor_dbs()
544 if (!dbs_data && (event != CPUFREQ_GOV_POLICY_INIT)) { in cpufreq_governor_dbs()
551 ret = cpufreq_governor_init(policy, dbs_data, cdata); in cpufreq_governor_dbs()
554 ret = cpufreq_governor_exit(policy, dbs_data); in cpufreq_governor_dbs()
557 ret = cpufreq_governor_start(policy, dbs_data); in cpufreq_governor_dbs()
560 ret = cpufreq_governor_stop(policy, dbs_data); in cpufreq_governor_dbs()
563 ret = cpufreq_governor_limits(policy, dbs_data); in cpufreq_governor_dbs()