intel_rps.h revision 1.2
1/*	$NetBSD: intel_rps.h,v 1.2 2021/12/18 23:45:30 riastradh Exp $	*/
2
3/*
4 * SPDX-License-Identifier: MIT
5 *
6 * Copyright © 2019 Intel Corporation
7 */
8
9#ifndef INTEL_RPS_H
10#define INTEL_RPS_H
11
12#include "intel_rps_types.h"
13
14struct i915_request;
15
16void intel_rps_init_early(struct intel_rps *rps);
17void intel_rps_init(struct intel_rps *rps);
18
19void intel_rps_driver_register(struct intel_rps *rps);
20void intel_rps_driver_unregister(struct intel_rps *rps);
21
22void intel_rps_enable(struct intel_rps *rps);
23void intel_rps_disable(struct intel_rps *rps);
24
25void intel_rps_park(struct intel_rps *rps);
26void intel_rps_unpark(struct intel_rps *rps);
27void intel_rps_boost(struct i915_request *rq);
28
29int intel_rps_set(struct intel_rps *rps, u8 val);
30void intel_rps_mark_interactive(struct intel_rps *rps, bool interactive);
31
32int intel_gpu_freq(struct intel_rps *rps, int val);
33int intel_freq_opcode(struct intel_rps *rps, int val);
34u32 intel_rps_get_cagf(struct intel_rps *rps, u32 rpstat1);
35u32 intel_rps_read_actual_frequency(struct intel_rps *rps);
36
37void gen5_rps_irq_handler(struct intel_rps *rps);
38void gen6_rps_irq_handler(struct intel_rps *rps, u32 pm_iir);
39void gen11_rps_irq_handler(struct intel_rps *rps, u32 pm_iir);
40
41#endif /* INTEL_RPS_H */
42