Lines Matching defs:policy

220 	if (epp > 0 && cpudata->policy == CPUFREQ_POLICY_PERFORMANCE) {
221 pr_debug("EPP cannot be set under performance policy\n");
471 static int amd_pstate_verify(struct cpufreq_policy_data *policy)
473 cpufreq_verify_within_cpu_limits(policy);
478 static int amd_pstate_update_min_max_limit(struct cpufreq_policy *policy)
481 struct amd_cpudata *cpudata = policy->driver_data;
483 max_limit_perf = div_u64(policy->max * cpudata->highest_perf, cpudata->max_freq);
484 min_limit_perf = div_u64(policy->min * cpudata->highest_perf, cpudata->max_freq);
488 WRITE_ONCE(cpudata->max_limit_freq, policy->max);
489 WRITE_ONCE(cpudata->min_limit_freq, policy->min);
494 static int amd_pstate_update_freq(struct cpufreq_policy *policy,
498 struct amd_cpudata *cpudata = policy->driver_data;
504 if (policy->min != cpudata->min_limit_freq || policy->max != cpudata->max_limit_freq)
505 amd_pstate_update_min_max_limit(policy);
511 freqs.old = policy->cur;
517 WARN_ON(fast_switch && !policy->fast_switch_enabled);
524 cpufreq_freq_transition_begin(policy, &freqs);
527 max_perf, fast_switch, policy->governor->flags);
530 cpufreq_freq_transition_end(policy, &freqs, false);
535 static int amd_pstate_target(struct cpufreq_policy *policy,
539 return amd_pstate_update_freq(policy, target_freq, false);
542 static unsigned int amd_pstate_fast_switch(struct cpufreq_policy *policy,
545 if (!amd_pstate_update_freq(policy, target_freq, true))
547 return policy->cur;
557 struct cpufreq_policy *policy = cpufreq_cpu_get(cpu);
558 struct amd_cpudata *cpudata = policy->driver_data;
561 if (policy->min != cpudata->min_limit_freq || policy->max != cpudata->max_limit_freq)
562 amd_pstate_update_min_max_limit(policy);
586 policy->cur = target_freq;
589 policy->governor->flags);
590 cpufreq_cpu_put(policy);
665 static int amd_pstate_set_boost(struct cpufreq_policy *policy, int state)
667 struct amd_cpudata *cpudata = policy->driver_data;
676 policy->cpuinfo.max_freq = cpudata->max_freq;
678 policy->cpuinfo.max_freq = cpudata->nominal_freq;
680 policy->max = policy->cpuinfo.max_freq;
683 policy->cpuinfo.max_freq);
709 static int amd_pstate_cpu_init(struct cpufreq_policy *policy)
719 amd_perf_ctl_reset(policy->cpu);
720 dev = get_cpu_device(policy->cpu);
728 cpudata->cpu = policy->cpu;
746 policy->cpuinfo.transition_latency = AMD_PSTATE_TRANSITION_LATENCY;
747 policy->transition_delay_us = AMD_PSTATE_TRANSITION_DELAY;
749 policy->min = min_freq;
750 policy->max = max_freq;
752 policy->cpuinfo.min_freq = min_freq;
753 policy->cpuinfo.max_freq = max_freq;
756 policy->cur = policy->cpuinfo.min_freq;
759 policy->fast_switch_possible = true;
761 ret = freq_qos_add_request(&policy->constraints, &cpudata->req[0],
762 FREQ_QOS_MIN, policy->cpuinfo.min_freq);
768 ret = freq_qos_add_request(&policy->constraints, &cpudata->req[1],
769 FREQ_QOS_MAX, policy->cpuinfo.max_freq);
783 policy->driver_data = cpudata;
798 static int amd_pstate_cpu_exit(struct cpufreq_policy *policy)
800 struct amd_cpudata *cpudata = policy->driver_data;
804 policy->fast_switch_possible = false;
810 static int amd_pstate_cpu_resume(struct cpufreq_policy *policy)
821 static int amd_pstate_cpu_suspend(struct cpufreq_policy *policy)
839 static ssize_t show_amd_pstate_max_freq(struct cpufreq_policy *policy,
843 struct amd_cpudata *cpudata = policy->driver_data;
852 static ssize_t show_amd_pstate_lowest_nonlinear_freq(struct cpufreq_policy *policy,
856 struct amd_cpudata *cpudata = policy->driver_data;
869 static ssize_t show_amd_pstate_highest_perf(struct cpufreq_policy *policy,
873 struct amd_cpudata *cpudata = policy->driver_data;
881 struct cpufreq_policy *policy, char *buf)
885 struct amd_cpudata *cpudata = policy->driver_data;
887 if (cpudata->policy == CPUFREQ_POLICY_PERFORMANCE)
900 struct cpufreq_policy *policy, const char *buf, size_t count)
902 struct amd_cpudata *cpudata = policy->driver_data;
922 struct cpufreq_policy *policy, char *buf)
924 struct amd_cpudata *cpudata = policy->driver_data;
1131 static int amd_pstate_epp_cpu_init(struct cpufreq_policy *policy)
1142 amd_perf_ctl_reset(policy->cpu);
1143 dev = get_cpu_device(policy->cpu);
1151 cpudata->cpu = policy->cpu;
1169 policy->cpuinfo.min_freq = min_freq;
1170 policy->cpuinfo.max_freq = max_freq;
1172 policy->cur = policy->cpuinfo.min_freq;
1180 policy->driver_data = cpudata;
1184 policy->min = policy->cpuinfo.min_freq;
1185 policy->max = policy->cpuinfo.max_freq;
1188 * Set the policy to provide a valid fallback value in case
1193 policy->policy = CPUFREQ_POLICY_PERFORMANCE;
1195 policy->policy = CPUFREQ_POLICY_POWERSAVE;
1217 static int amd_pstate_epp_cpu_exit(struct cpufreq_policy *policy)
1219 struct amd_cpudata *cpudata = policy->driver_data;
1223 policy->driver_data = NULL;
1226 pr_debug("CPU %d exiting\n", policy->cpu);
1230 static void amd_pstate_epp_update_limit(struct cpufreq_policy *policy)
1232 struct amd_cpudata *cpudata = policy->driver_data;
1239 max_limit_perf = div_u64(policy->max * cpudata->highest_perf, cpudata->max_freq);
1240 min_limit_perf = div_u64(policy->min * cpudata->highest_perf, cpudata->max_freq);
1251 if (cpudata->policy == CPUFREQ_POLICY_PERFORMANCE)
1265 cpudata->epp_policy = cpudata->policy;
1277 if (cpudata->policy == CPUFREQ_POLICY_PERFORMANCE)
1290 static int amd_pstate_epp_set_policy(struct cpufreq_policy *policy)
1292 struct amd_cpudata *cpudata = policy->driver_data;
1294 if (!policy->cpuinfo.max_freq)
1297 pr_debug("set_policy: cpuinfo.max %u policy->max %u\n",
1298 policy->cpuinfo.max_freq, policy->max);
1300 cpudata->policy = policy->policy;
1302 amd_pstate_epp_update_limit(policy);
1329 static int amd_pstate_epp_cpu_online(struct cpufreq_policy *policy)
1331 struct amd_cpudata *cpudata = policy->driver_data;
1343 static void amd_pstate_epp_offline(struct cpufreq_policy *policy)
1345 struct amd_cpudata *cpudata = policy->driver_data;
1372 static int amd_pstate_epp_cpu_offline(struct cpufreq_policy *policy)
1374 struct amd_cpudata *cpudata = policy->driver_data;
1382 amd_pstate_epp_offline(policy);
1387 static int amd_pstate_epp_verify_policy(struct cpufreq_policy_data *policy)
1389 cpufreq_verify_within_cpu_limits(policy);
1390 pr_debug("policy_max =%d, policy_min=%d\n", policy->max, policy->min);
1394 static int amd_pstate_epp_suspend(struct cpufreq_policy *policy)
1396 struct amd_cpudata *cpudata = policy->driver_data;
1414 static int amd_pstate_epp_resume(struct cpufreq_policy *policy)
1416 struct amd_cpudata *cpudata = policy->driver_data;