Lines Matching refs:freq
147 static u8 wait_for_freq(struct intel_rps *rps, u8 freq, int timeout_ms) in wait_for_freq() argument
154 memset(history, freq, sizeof(history)); in wait_for_freq()
167 if (act == freq) in wait_for_freq()
184 static u8 rps_set_check(struct intel_rps *rps, u8 freq) in rps_set_check() argument
188 if (wait_for(!intel_rps_set(rps, freq), 50)) { in rps_set_check()
192 GEM_BUG_ON(rps->last_freq != freq); in rps_set_check()
195 return wait_for_freq(rps, freq, 50); in rps_set_check()
547 static u64 measure_frequency_at(struct intel_rps *rps, u32 *cntr, int *freq) in measure_frequency_at() argument
552 *freq = rps_set_check(rps, *freq); in measure_frequency_at()
555 *freq = (*freq + read_cagf(rps)) / 2; in measure_frequency_at()
578 int *freq) in measure_cs_frequency_at() argument
583 *freq = rps_set_check(rps, *freq); in measure_cs_frequency_at()
586 *freq = (*freq + read_cagf(rps)) / 2; in measure_cs_frequency_at()
633 int freq; in live_rps_frequency_cs() member
671 min.freq = rps->min_freq; in live_rps_frequency_cs()
672 min.count = measure_cs_frequency_at(rps, engine, &min.freq); in live_rps_frequency_cs()
674 max.freq = rps->max_freq; in live_rps_frequency_cs()
675 max.count = measure_cs_frequency_at(rps, engine, &max.freq); in live_rps_frequency_cs()
679 min.count, intel_gpu_freq(rps, min.freq), in live_rps_frequency_cs()
680 max.count, intel_gpu_freq(rps, max.freq), in live_rps_frequency_cs()
681 (int)DIV64_U64_ROUND_CLOSEST(100 * min.freq * max.count, in live_rps_frequency_cs()
682 max.freq * min.count)); in live_rps_frequency_cs()
684 if (!scaled_within(max.freq * min.count, in live_rps_frequency_cs()
685 min.freq * max.count, in live_rps_frequency_cs()
691 max.freq * min.count, in live_rps_frequency_cs()
692 min.freq * max.count); in live_rps_frequency_cs()
695 for (f = min.freq + 1; f <= rps->max_freq; f++) { in live_rps_frequency_cs()
706 (int)DIV64_U64_ROUND_CLOSEST(100 * min.freq * count, in live_rps_frequency_cs()
774 int freq; in live_rps_frequency_srm() member
811 min.freq = rps->min_freq; in live_rps_frequency_srm()
812 min.count = measure_frequency_at(rps, cntr, &min.freq); in live_rps_frequency_srm()
814 max.freq = rps->max_freq; in live_rps_frequency_srm()
815 max.count = measure_frequency_at(rps, cntr, &max.freq); in live_rps_frequency_srm()
819 min.count, intel_gpu_freq(rps, min.freq), in live_rps_frequency_srm()
820 max.count, intel_gpu_freq(rps, max.freq), in live_rps_frequency_srm()
821 (int)DIV64_U64_ROUND_CLOSEST(100 * min.freq * max.count, in live_rps_frequency_srm()
822 max.freq * min.count)); in live_rps_frequency_srm()
824 if (!scaled_within(max.freq * min.count, in live_rps_frequency_srm()
825 min.freq * max.count, in live_rps_frequency_srm()
831 max.freq * min.count, in live_rps_frequency_srm()
832 min.freq * max.count); in live_rps_frequency_srm()
835 for (f = min.freq + 1; f <= rps->max_freq; f++) { in live_rps_frequency_srm()
846 (int)DIV64_U64_ROUND_CLOSEST(100 * min.freq * count, in live_rps_frequency_srm()
1108 static u64 measure_power_at(struct intel_rps *rps, int *freq) in measure_power_at() argument
1113 *freq = rps_set_check(rps, *freq); in measure_power_at()
1116 *freq = (*freq + read_cagf(rps)) / 2; in measure_power_at()
1156 int freq; in live_rps_power() member
1185 max.freq = rps->max_freq; in live_rps_power()
1186 max.power = measure_power_at(rps, &max.freq); in live_rps_power()
1188 min.freq = rps->min_freq; in live_rps_power()
1189 min.power = measure_power_at(rps, &min.freq); in live_rps_power()
1196 min.power, intel_gpu_freq(rps, min.freq), in live_rps_power()
1197 max.power, intel_gpu_freq(rps, max.freq)); in live_rps_power()
1199 if (10 * min.freq >= 9 * max.freq) { in live_rps_power()
1201 min.freq, intel_gpu_freq(rps, min.freq), in live_rps_power()
1202 max.freq, intel_gpu_freq(rps, max.freq)); in live_rps_power()
1258 u8 freq; in live_rps_dynamic() member
1283 max.freq = wait_for_freq(rps, rps->max_freq, 500); in live_rps_dynamic()
1289 min.freq = wait_for_freq(rps, rps->min_freq, 2000); in live_rps_dynamic()
1294 max.freq, intel_gpu_freq(rps, max.freq), in live_rps_dynamic()
1296 min.freq, intel_gpu_freq(rps, min.freq), in live_rps_dynamic()
1298 if (min.freq >= max.freq) { in live_rps_dynamic()