xref: /openbmc/linux/drivers/gpu/drm/i915/gt/intel_rc6.h (revision 78d0b455)
124f90d66SChris Wilson /* SPDX-License-Identifier: MIT */
2c1132367SAndi Shyti /*
3c1132367SAndi Shyti  * Copyright © 2019 Intel Corporation
4c1132367SAndi Shyti  */
5c1132367SAndi Shyti 
6c1132367SAndi Shyti #ifndef INTEL_RC6_H
7c1132367SAndi Shyti #define INTEL_RC6_H
8c1132367SAndi Shyti 
9*78d0b455SAshutosh Dixit #include <linux/types.h>
10c1132367SAndi Shyti 
11*78d0b455SAshutosh Dixit enum intel_rc6_res_type;
12c1132367SAndi Shyti struct intel_rc6;
13*78d0b455SAshutosh Dixit struct seq_file;
14c1132367SAndi Shyti 
15c1132367SAndi Shyti void intel_rc6_init(struct intel_rc6 *rc6);
16c1132367SAndi Shyti void intel_rc6_fini(struct intel_rc6 *rc6);
17c1132367SAndi Shyti 
18730eaeb5SChris Wilson void intel_rc6_unpark(struct intel_rc6 *rc6);
19730eaeb5SChris Wilson void intel_rc6_park(struct intel_rc6 *rc6);
20730eaeb5SChris Wilson 
21c1132367SAndi Shyti void intel_rc6_sanitize(struct intel_rc6 *rc6);
22c1132367SAndi Shyti void intel_rc6_enable(struct intel_rc6 *rc6);
23c1132367SAndi Shyti void intel_rc6_disable(struct intel_rc6 *rc6);
24c1132367SAndi Shyti 
25*78d0b455SAshutosh Dixit u64 intel_rc6_residency_ns(struct intel_rc6 *rc6, enum intel_rc6_res_type id);
26*78d0b455SAshutosh Dixit u64 intel_rc6_residency_us(struct intel_rc6 *rc6, enum intel_rc6_res_type id);
27*78d0b455SAshutosh Dixit void intel_rc6_print_residency(struct seq_file *m, const char *title,
28*78d0b455SAshutosh Dixit 			       enum intel_rc6_res_type id);
29c1132367SAndi Shyti 
30c1132367SAndi Shyti #endif /* INTEL_RC6_H */
31