1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright © 2019 Intel Corporation
4  */
5 
6 #ifndef INTEL_RC6_H
7 #define INTEL_RC6_H
8 
9 #include "i915_reg.h"
10 
11 struct intel_engine_cs;
12 struct intel_rc6;
13 
14 void intel_rc6_init(struct intel_rc6 *rc6);
15 void intel_rc6_fini(struct intel_rc6 *rc6);
16 
17 void intel_rc6_unpark(struct intel_rc6 *rc6);
18 void intel_rc6_park(struct intel_rc6 *rc6);
19 
20 void intel_rc6_sanitize(struct intel_rc6 *rc6);
21 void intel_rc6_enable(struct intel_rc6 *rc6);
22 void intel_rc6_disable(struct intel_rc6 *rc6);
23 
24 u64 intel_rc6_residency_ns(struct intel_rc6 *rc6, i915_reg_t reg);
25 u64 intel_rc6_residency_us(struct intel_rc6 *rc6, i915_reg_t reg);
26 
27 #endif /* INTEL_RC6_H */
28