mirror of
https://github.com/torvalds/linux.git
synced 2026-04-19 23:34:00 -04:00
RPa is the Achievable frequency, defined by PCODE at runtime based on multiple running conditions. v2: Remove RPA_MASK from i915 file Cc: Vinay Belgaumkar <vinay.belgaumkar@intel.com> Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com> Reviewed-by: Vinay Belgaumkar <vinay.belgaumkar@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20241220152936.623627-1-rodrigo.vivi@intel.com Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
40 lines
1.4 KiB
C
40 lines
1.4 KiB
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2022 Intel Corporation
|
|
*/
|
|
|
|
#ifndef _XE_GUC_PC_H_
|
|
#define _XE_GUC_PC_H_
|
|
|
|
#include <linux/types.h>
|
|
|
|
struct xe_guc_pc;
|
|
enum slpc_gucrc_mode;
|
|
|
|
int xe_guc_pc_init(struct xe_guc_pc *pc);
|
|
int xe_guc_pc_start(struct xe_guc_pc *pc);
|
|
int xe_guc_pc_stop(struct xe_guc_pc *pc);
|
|
int xe_guc_pc_gucrc_disable(struct xe_guc_pc *pc);
|
|
int xe_guc_pc_override_gucrc_mode(struct xe_guc_pc *pc, enum slpc_gucrc_mode mode);
|
|
int xe_guc_pc_unset_gucrc_mode(struct xe_guc_pc *pc);
|
|
|
|
u32 xe_guc_pc_get_act_freq(struct xe_guc_pc *pc);
|
|
int xe_guc_pc_get_cur_freq(struct xe_guc_pc *pc, u32 *freq);
|
|
u32 xe_guc_pc_get_rp0_freq(struct xe_guc_pc *pc);
|
|
u32 xe_guc_pc_get_rpa_freq(struct xe_guc_pc *pc);
|
|
u32 xe_guc_pc_get_rpe_freq(struct xe_guc_pc *pc);
|
|
u32 xe_guc_pc_get_rpn_freq(struct xe_guc_pc *pc);
|
|
int xe_guc_pc_get_min_freq(struct xe_guc_pc *pc, u32 *freq);
|
|
int xe_guc_pc_set_min_freq(struct xe_guc_pc *pc, u32 freq);
|
|
int xe_guc_pc_get_max_freq(struct xe_guc_pc *pc, u32 *freq);
|
|
int xe_guc_pc_set_max_freq(struct xe_guc_pc *pc, u32 freq);
|
|
|
|
enum xe_gt_idle_state xe_guc_pc_c_status(struct xe_guc_pc *pc);
|
|
u64 xe_guc_pc_rc6_residency(struct xe_guc_pc *pc);
|
|
u64 xe_guc_pc_mc6_residency(struct xe_guc_pc *pc);
|
|
void xe_guc_pc_init_early(struct xe_guc_pc *pc);
|
|
int xe_guc_pc_restore_stashed_freq(struct xe_guc_pc *pc);
|
|
void xe_guc_pc_raise_unslice(struct xe_guc_pc *pc);
|
|
|
|
#endif /* _XE_GUC_PC_H_ */
|