Lines Matching full:freq

234 static u32 encode_freq(u32 freq)  in encode_freq()  argument
236 return DIV_ROUND_CLOSEST(freq * GT_FREQUENCY_SCALER, in encode_freq()
242 u32 freq; in pc_get_min_freq() local
244 freq = FIELD_GET(SLPC_MIN_UNSLICE_FREQ_MASK, in pc_get_min_freq()
245 slpc_shared_data_read(pc, task_state_data.freq)); in pc_get_min_freq()
247 return decode_freq(freq); in pc_get_min_freq()
255 /* Allow/Disallow punit to process software freq requests */ in pc_set_manual_rp_ctrl()
259 static void pc_set_cur_freq(struct xe_guc_pc *pc, u32 freq) in pc_set_cur_freq() argument
266 /* Req freq is in units of 16.66 Mhz */ in pc_set_cur_freq()
267 rpnswreq = REG_FIELD_PREP(REQ_RATIO_MASK, encode_freq(freq)); in pc_set_cur_freq()
276 static int pc_set_min_freq(struct xe_guc_pc *pc, u32 freq) in pc_set_min_freq() argument
282 if (freq < pc->rpn_freq || freq > pc->rp0_freq) in pc_set_min_freq()
290 freq < pc->rpe_freq); in pc_set_min_freq()
294 freq); in pc_set_min_freq()
299 u32 freq; in pc_get_max_freq() local
301 freq = FIELD_GET(SLPC_MAX_UNSLICE_FREQ_MASK, in pc_get_max_freq()
302 slpc_shared_data_read(pc, task_state_data.freq)); in pc_get_max_freq()
304 return decode_freq(freq); in pc_get_max_freq()
307 static int pc_set_max_freq(struct xe_guc_pc *pc, u32 freq) in pc_set_max_freq() argument
314 if (freq < pc->rpn_freq || freq > pc->rp0_freq) in pc_set_max_freq()
319 freq); in pc_set_max_freq()
382 u32 freq; in xe_guc_pc_get_act_freq() local
388 freq = xe_mmio_read32(gt, MTL_MIRROR_TARGET_WP1); in xe_guc_pc_get_act_freq()
389 freq = REG_FIELD_GET(MTL_CAGF_MASK, freq); in xe_guc_pc_get_act_freq()
391 freq = xe_mmio_read32(gt, GT_PERF_STATUS); in xe_guc_pc_get_act_freq()
392 freq = REG_FIELD_GET(CAGF_MASK, freq); in xe_guc_pc_get_act_freq()
395 freq = decode_freq(freq); in xe_guc_pc_get_act_freq()
399 return freq; in xe_guc_pc_get_act_freq()
405 * @freq: A pointer to a u32 where the freq value will be returned
410 int xe_guc_pc_get_cur_freq(struct xe_guc_pc *pc, u32 *freq) in xe_guc_pc_get_cur_freq() argument
417 * GuC SLPC plays with cur freq request when GuCRC is enabled in xe_guc_pc_get_cur_freq()
424 *freq = xe_mmio_read32(gt, RPNSWREQ); in xe_guc_pc_get_cur_freq()
426 *freq = REG_FIELD_GET(REQ_RATIO_MASK, *freq); in xe_guc_pc_get_cur_freq()
427 *freq = decode_freq(*freq); in xe_guc_pc_get_cur_freq()
436 * xe_guc_pc_get_rp0_freq - Get the RP0 freq
439 * Returns: RP0 freq.
447 * xe_guc_pc_get_rpe_freq - Get the RPe freq
450 * Returns: RPe freq.
465 * xe_guc_pc_get_rpn_freq - Get the RPn freq
468 * Returns: RPn freq.
478 * @freq: A pointer to a u32 where the freq value will be returned
483 int xe_guc_pc_get_min_freq(struct xe_guc_pc *pc, u32 *freq) in xe_guc_pc_get_min_freq() argument
497 * GuC SLPC plays with min freq request when GuCRC is enabled in xe_guc_pc_get_min_freq()
508 *freq = pc_get_min_freq(pc); in xe_guc_pc_get_min_freq()
521 * @freq: The selected minimal frequency
527 int xe_guc_pc_set_min_freq(struct xe_guc_pc *pc, u32 freq) in xe_guc_pc_set_min_freq() argument
539 ret = pc_set_min_freq(pc, freq); in xe_guc_pc_set_min_freq()
543 pc->user_requested_min = freq; in xe_guc_pc_set_min_freq()
555 * @freq: A pointer to a u32 where the freq value will be returned
560 int xe_guc_pc_get_max_freq(struct xe_guc_pc *pc, u32 *freq) in xe_guc_pc_get_max_freq() argument
576 *freq = pc_get_max_freq(pc); in xe_guc_pc_get_max_freq()
587 * @freq: The selected maximum frequency value
593 int xe_guc_pc_set_max_freq(struct xe_guc_pc *pc, u32 freq) in xe_guc_pc_set_max_freq() argument
605 ret = pc_set_max_freq(pc, freq); in xe_guc_pc_set_max_freq()
609 pc->user_requested_max = freq; in xe_guc_pc_set_max_freq()
883 /* Request max possible since dynamic freq mgmt is not enabled */ in xe_guc_pc_start()