Lines Matching full:freq
253 static u32 encode_freq(u32 freq) in encode_freq() argument
255 return DIV_ROUND_CLOSEST(freq * GT_FREQUENCY_SCALER, in encode_freq()
261 u32 freq; in pc_get_min_freq() local
263 freq = FIELD_GET(SLPC_MIN_UNSLICE_FREQ_MASK, in pc_get_min_freq()
264 slpc_shared_data_read(pc, task_state_data.freq)); in pc_get_min_freq()
266 return decode_freq(freq); in pc_get_min_freq()
274 /* Allow/Disallow punit to process software freq requests */ in pc_set_manual_rp_ctrl()
278 static void pc_set_cur_freq(struct xe_guc_pc *pc, u32 freq) in pc_set_cur_freq() argument
285 /* Req freq is in units of 16.66 Mhz */ in pc_set_cur_freq()
286 rpnswreq = REG_FIELD_PREP(REQ_RATIO_MASK, encode_freq(freq)); in pc_set_cur_freq()
295 static int pc_set_min_freq(struct xe_guc_pc *pc, u32 freq) in pc_set_min_freq() argument
301 if (freq < pc->rpn_freq || freq > pc->rp0_freq) in pc_set_min_freq()
309 freq < pc->rpe_freq); in pc_set_min_freq()
313 freq); in pc_set_min_freq()
318 u32 freq; in pc_get_max_freq() local
320 freq = FIELD_GET(SLPC_MAX_UNSLICE_FREQ_MASK, in pc_get_max_freq()
321 slpc_shared_data_read(pc, task_state_data.freq)); in pc_get_max_freq()
323 return decode_freq(freq); in pc_get_max_freq()
326 static int pc_set_max_freq(struct xe_guc_pc *pc, u32 freq) in pc_set_max_freq() argument
333 if (freq < pc->rpn_freq || freq > pc->rp0_freq) in pc_set_max_freq()
338 freq); in pc_set_max_freq()
436 u32 freq; in xe_guc_pc_get_act_freq() local
440 freq = xe_mmio_read32(>->mmio, MTL_MIRROR_TARGET_WP1); in xe_guc_pc_get_act_freq()
441 freq = REG_FIELD_GET(MTL_CAGF_MASK, freq); in xe_guc_pc_get_act_freq()
443 freq = xe_mmio_read32(>->mmio, GT_PERF_STATUS); in xe_guc_pc_get_act_freq()
444 freq = REG_FIELD_GET(CAGF_MASK, freq); in xe_guc_pc_get_act_freq()
447 freq = decode_freq(freq); in xe_guc_pc_get_act_freq()
449 return freq; in xe_guc_pc_get_act_freq()
454 u32 freq; in get_cur_freq() local
456 freq = xe_mmio_read32(>->mmio, RPNSWREQ); in get_cur_freq()
457 freq = REG_FIELD_GET(REQ_RATIO_MASK, freq); in get_cur_freq()
458 return decode_freq(freq); in get_cur_freq()
464 * @freq: A pointer to a u32 where the freq value will be returned
469 int xe_guc_pc_get_cur_freq(struct xe_guc_pc *pc, u32 *freq) in xe_guc_pc_get_cur_freq() argument
475 * GuC SLPC plays with cur freq request when GuCRC is enabled in xe_guc_pc_get_cur_freq()
484 *freq = get_cur_freq(gt); in xe_guc_pc_get_cur_freq()
491 * xe_guc_pc_get_rp0_freq - Get the RP0 freq
494 * Returns: RP0 freq.
502 * xe_guc_pc_get_rpa_freq - Get the RPa freq
505 * Returns: RPa freq.
515 * xe_guc_pc_get_rpe_freq - Get the RPe freq
518 * Returns: RPe freq.
528 * xe_guc_pc_get_rpn_freq - Get the RPn freq
531 * Returns: RPn freq.
541 * @freq: A pointer to a u32 where the freq value will be returned
546 int xe_guc_pc_get_min_freq(struct xe_guc_pc *pc, u32 *freq) in xe_guc_pc_get_min_freq() argument
563 *freq = pc_get_min_freq(pc); in xe_guc_pc_get_min_freq()
573 * @freq: The selected minimal frequency
579 int xe_guc_pc_set_min_freq(struct xe_guc_pc *pc, u32 freq) in xe_guc_pc_set_min_freq() argument
590 ret = pc_set_min_freq(pc, freq); in xe_guc_pc_set_min_freq()
594 pc->user_requested_min = freq; in xe_guc_pc_set_min_freq()
604 * @freq: A pointer to a u32 where the freq value will be returned
609 int xe_guc_pc_get_max_freq(struct xe_guc_pc *pc, u32 *freq) in xe_guc_pc_get_max_freq() argument
624 *freq = pc_get_max_freq(pc); in xe_guc_pc_get_max_freq()
634 * @freq: The selected maximum frequency value
640 int xe_guc_pc_set_max_freq(struct xe_guc_pc *pc, u32 freq) in xe_guc_pc_set_max_freq() argument
651 ret = pc_set_max_freq(pc, freq); in xe_guc_pc_set_max_freq()
655 pc->user_requested_max = freq; in xe_guc_pc_set_max_freq()
1035 /* Request max possible since dynamic freq mgmt is not enabled */ in xe_guc_pc_start()
1052 …xe_gt_warn(gt, "GuC PC start taking longer than normal [freq = %dMHz (req = %dMHz), perf_limit_rea… in xe_guc_pc_start()
1125 /* Bind requested freq to mert_freq_cap before unload */ in xe_guc_pc_fini_hw()