Lines Matching defs:policy

136 static int set_boost(struct cpufreq_policy *policy, int val)
138 on_each_cpu_mask(policy->cpus, boost_set_msr_each,
141 cpumask_pr_args(policy->cpus), str_enabled_disabled(val));
146 static ssize_t show_freqdomain_cpus(struct cpufreq_policy *policy, char *buf)
148 struct acpi_cpufreq_data *data = policy->driver_data;
159 static ssize_t store_cpb(struct cpufreq_policy *policy, const char *buf,
173 set_boost(policy, val);
179 static ssize_t show_cpb(struct cpufreq_policy *policy, char *buf)
201 static unsigned extract_io(struct cpufreq_policy *policy, u32 value)
203 struct acpi_cpufreq_data *data = policy->driver_data;
211 return policy->freq_table[i].frequency;
216 static unsigned extract_msr(struct cpufreq_policy *policy, u32 msr)
218 struct acpi_cpufreq_data *data = policy->driver_data;
231 cpufreq_for_each_entry(pos, policy->freq_table)
234 return policy->freq_table[0].frequency;
237 static unsigned extract_freq(struct cpufreq_policy *policy, u32 val)
239 struct acpi_cpufreq_data *data = policy->driver_data;
244 return extract_msr(policy, val);
246 return extract_io(policy, val);
370 struct cpufreq_policy *policy;
376 policy = cpufreq_cpu_get_raw(cpu);
377 if (unlikely(!policy))
380 data = policy->driver_data;
381 if (unlikely(!data || !policy->freq_table))
384 cached_freq = policy->freq_table[to_perf_data(data)->state].frequency;
385 freq = extract_freq(policy, get_cur_val(cpumask_of(cpu), data));
399 static unsigned int check_freqs(struct cpufreq_policy *policy,
402 struct acpi_cpufreq_data *data = policy->driver_data;
407 cur_freq = extract_freq(policy, get_cur_val(mask, data));
415 static int acpi_cpufreq_target(struct cpufreq_policy *policy,
418 struct acpi_cpufreq_data *data = policy->driver_data;
429 next_perf_state = policy->freq_table[index].driver_data;
444 * stopped, so we can rely on the stability of policy->cpus.
446 mask = policy->shared_type == CPUFREQ_SHARED_TYPE_ANY ?
447 cpumask_of(policy->cpu) : policy->cpus;
452 if (!check_freqs(policy, mask,
453 policy->freq_table[index].frequency)) {
454 pr_debug("%s (%d)\n", __func__, policy->cpu);
465 static unsigned int acpi_cpufreq_fast_switch(struct cpufreq_policy *policy,
468 struct acpi_cpufreq_data *data = policy->driver_data;
476 if (policy->cached_target_freq == target_freq)
477 index = policy->cached_resolved_idx;
479 index = cpufreq_table_find_index_dl(policy, target_freq,
482 entry = &policy->freq_table[index];
670 static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)
675 unsigned int cpu = policy->cpu;
706 policy->driver_data = data;
715 policy->shared_type = perf->shared_type;
718 * Will let policy->cpus know about dependency only when software
721 if (policy->shared_type == CPUFREQ_SHARED_TYPE_ALL ||
722 policy->shared_type == CPUFREQ_SHARED_TYPE_ANY) {
723 cpumask_copy(policy->cpus, perf->shared_cpu_map);
729 if (bios_with_sw_any_bug && !policy_is_shared(policy)) {
730 policy->shared_type = CPUFREQ_SHARED_TYPE_ALL;
731 cpumask_copy(policy->cpus, topology_core_cpumask(cpu));
736 cpumask_clear(policy->cpus);
737 cpumask_set_cpu(cpu, policy->cpus);
740 policy->shared_type = CPUFREQ_SHARED_TYPE_HW;
801 policy->cpuinfo.transition_latency = 0;
804 policy->cpuinfo.transition_latency)
805 policy->cpuinfo.transition_latency =
811 policy->cpuinfo.transition_latency > 20 * 1000) {
812 policy->cpuinfo.transition_latency = 20 * 1000;
839 policy->cpuinfo.max_freq = freq * max_boost_ratio >> SCHED_CAPACITY_SHIFT;
850 policy->freq_table = freq_table;
856 * The core will not set policy->cur, because
861 policy->cur = acpi_cpufreq_guess_freq(data, policy->cpu);
887 policy->fast_switch_possible = !acpi_pstate_strict &&
888 !(policy_is_shared(policy) && policy->shared_type != CPUFREQ_SHARED_TYPE_ANY);
894 set_boost(policy, acpi_cpufreq_driver.boost_enabled);
895 policy->boost_enabled = acpi_cpufreq_driver.boost_enabled;
906 policy->driver_data = NULL;
911 static int acpi_cpufreq_cpu_exit(struct cpufreq_policy *policy)
913 struct acpi_cpufreq_data *data = policy->driver_data;
917 cpufreq_boost_down_prep(policy->cpu);
918 policy->fast_switch_possible = false;
919 policy->driver_data = NULL;
922 kfree(policy->freq_table);
928 static int acpi_cpufreq_resume(struct cpufreq_policy *policy)
930 struct acpi_cpufreq_data *data = policy->driver_data;