Lines Matching full:pstate
202 * @pstate: Stores P state limits for this CPU
239 struct pstate_data pstate;
292 u64 (*get_val)(struct cpudata*, int pstate);
497 cpu->pstate.max_pstate == cpu->pstate.turbo_pstate);
503 int turbo_pstate = cpu->pstate.turbo_pstate;
506 (cpu->pstate.min_pstate * 100 / turbo_pstate) : 0;
808 return sprintf(buf, "%d\n", ratio * cpu->pstate.scaling);
1013 cpudata->pstate.max_freq : cpudata->pstate.turbo_freq;
1093 total = cpu->pstate.turbo_pstate - cpu->pstate.min_pstate + 1;
1094 no_turbo = cpu->pstate.max_pstate - cpu->pstate.min_pstate + 1;
1117 total = cpu->pstate.turbo_pstate - cpu->pstate.min_pstate + 1;
1178 int pct = cpu->pstate.max_pstate * 100 / cpu->pstate.turbo_pstate;
1216 turbo_max = cpu->pstate.turbo_pstate;
1226 freq *= cpu->pstate.scaling;
1485 static u64 atom_get_val(struct cpudata *cpudata, int pstate)
1491 val = (u64)pstate << 8;
1496 int_tofp(pstate - cpudata->pstate.min_pstate),
1502 if (pstate > cpudata->pstate.max_pstate)
1548 int_tofp(cpudata->pstate.max_pstate -
1549 cpudata->pstate.min_pstate));
1657 static u64 core_get_val(struct cpudata *cpudata, int pstate)
1661 val = (u64)pstate << 8;
1686 static void intel_pstate_set_pstate(struct cpudata *cpu, int pstate)
1688 trace_cpu_frequency(pstate * cpu->pstate.scaling, cpu->cpu);
1689 cpu->pstate.current_pstate = pstate;
1696 pstate_funcs.get_val(cpu, pstate));
1701 intel_pstate_set_pstate(cpu, cpu->pstate.min_pstate);
1706 int pstate = max(cpu->pstate.min_pstate, cpu->max_perf_ratio);
1709 intel_pstate_set_pstate(cpu, pstate);
1714 cpu->pstate.min_pstate = pstate_funcs.get_min();
1715 cpu->pstate.max_pstate_physical = pstate_funcs.get_max_physical();
1716 cpu->pstate.turbo_pstate = pstate_funcs.get_turbo();
1717 cpu->pstate.scaling = pstate_funcs.get_scaling();
1723 cpu->pstate.turbo_freq = phy_max * cpu->pstate.scaling;
1724 cpu->pstate.turbo_pstate = phy_max;
1725 cpu->pstate.max_pstate = HWP_GUARANTEED_PERF(READ_ONCE(cpu->hwp_cap_cached));
1727 cpu->pstate.turbo_freq = cpu->pstate.turbo_pstate * cpu->pstate.scaling;
1728 cpu->pstate.max_pstate = pstate_funcs.get_max();
1730 cpu->pstate.max_freq = cpu->pstate.max_pstate * cpu->pstate.scaling;
1907 return mul_ext_fp(cpu->pstate.max_pstate_physical,
1926 cpu->pstate.max_pstate : cpu->pstate.turbo_pstate;
1929 if (target < cpu->pstate.min_pstate)
1930 target = cpu->pstate.min_pstate;
1946 static int intel_pstate_prepare_request(struct cpudata *cpu, int pstate)
1948 int min_pstate = max(cpu->pstate.min_pstate, cpu->min_perf_ratio);
1951 return clamp_t(int, pstate, min_pstate, max_pstate);
1954 static void intel_pstate_update_pstate(struct cpudata *cpu, int pstate)
1956 if (pstate == cpu->pstate.current_pstate)
1959 cpu->pstate.current_pstate = pstate;
1960 wrmsrl(MSR_IA32_PERF_CTL, pstate_funcs.get_val(cpu, pstate));
1965 int from = cpu->pstate.current_pstate;
1973 trace_cpu_frequency(target_pstate * cpu->pstate.scaling, cpu->cpu);
1980 cpu->pstate.current_pstate,
2192 cpu->pstate.max_freq : cpu->pstate.turbo_freq;
2212 cpu->pstate.max_pstate : cpu->pstate.turbo_pstate;
2213 turbo_max = cpu->pstate.turbo_pstate;
2215 max_freq = max_state * cpu->pstate.scaling;
2307 cpu->pstate.max_pstate_physical > cpu->pstate.max_pstate &&
2309 policy->max > cpu->pstate.max_freq) {
2325 max_freq = max_state * cpu->pstate.scaling;
2416 policy->min = cpu->pstate.min_pstate * cpu->pstate.scaling;
2417 policy->max = cpu->pstate.turbo_pstate * cpu->pstate.scaling;
2420 policy->cpuinfo.min_freq = cpu->pstate.min_pstate * cpu->pstate.scaling;
2424 cpu->pstate.max_pstate : cpu->pstate.turbo_pstate;
2425 policy->cpuinfo.max_freq *= cpu->pstate.scaling;
2431 cpu->pstate.max_freq : cpu->pstate.turbo_freq;
2520 cpu->pstate.current_pstate,
2568 int old_pstate = cpu->pstate.current_pstate;
2574 cpu->pstate.current_pstate = target_pstate;
2577 cpu->pstate.current_pstate = target_pstate;
2603 target_pstate = DIV_ROUND_UP(freqs.new, cpu->pstate.scaling);
2606 target_pstate = freqs.new / cpu->pstate.scaling;
2609 target_pstate = DIV_ROUND_CLOSEST(freqs.new, cpu->pstate.scaling);
2615 freqs.new = target_pstate * cpu->pstate.scaling;
2630 target_pstate = DIV_ROUND_UP(target_freq, cpu->pstate.scaling);
2634 return target_pstate * cpu->pstate.scaling;
2673 turbo_max = cpu->pstate.turbo_pstate;
2678 min_freq *= cpu->pstate.scaling;
2680 max_freq *= cpu->pstate.scaling;
3079 * The Intel pstate driver will be ignored if the platform