#define NUM_STEPS …
#define H2G_DELAY …
#define delay_for_h2g() …
#define FREQUENCY_REQ_UNIT …
enum test_type { … };
struct slpc_thread { … };
static int slpc_set_min_freq(struct intel_guc_slpc *slpc, u32 freq)
{ … }
static int slpc_set_max_freq(struct intel_guc_slpc *slpc, u32 freq)
{ … }
static int slpc_set_freq(struct intel_gt *gt, u32 freq)
{ … }
static int slpc_restore_freq(struct intel_guc_slpc *slpc, u32 min, u32 max)
{ … }
static u64 measure_power_at_freq(struct intel_gt *gt, int *freq, u64 *power)
{ … }
static int vary_max_freq(struct intel_guc_slpc *slpc, struct intel_rps *rps,
u32 *max_act_freq)
{ … }
static int vary_min_freq(struct intel_guc_slpc *slpc, struct intel_rps *rps,
u32 *max_act_freq)
{ … }
static int slpc_power(struct intel_gt *gt, struct intel_engine_cs *engine)
{ … }
static int max_granted_freq(struct intel_guc_slpc *slpc, struct intel_rps *rps, u32 *max_act_freq)
{ … }
static int run_test(struct intel_gt *gt, int test_type)
{ … }
static int live_slpc_vary_min(void *arg)
{ … }
static int live_slpc_vary_max(void *arg)
{ … }
static int live_slpc_max_granted(void *arg)
{ … }
static int live_slpc_power(void *arg)
{ … }
static void slpc_spinner_thread(struct kthread_work *work)
{ … }
static int live_slpc_tile_interaction(void *arg)
{ … }
int intel_slpc_live_selftests(struct drm_i915_private *i915)
{ … }