xref: /openbmc/linux/drivers/gpu/drm/i915/gt/intel_rc6.h (revision 37350409)
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 
978d0b455SAshutosh Dixit #include <linux/types.h>
10c1132367SAndi Shyti 
1178d0b455SAshutosh Dixit enum intel_rc6_res_type;
12c1132367SAndi Shyti struct intel_rc6;
1378d0b455SAshutosh 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 
2578d0b455SAshutosh Dixit u64 intel_rc6_residency_ns(struct intel_rc6 *rc6, enum intel_rc6_res_type id);
2678d0b455SAshutosh Dixit u64 intel_rc6_residency_us(struct intel_rc6 *rc6, enum intel_rc6_res_type id);
2778d0b455SAshutosh Dixit void intel_rc6_print_residency(struct seq_file *m, const char *title,
2878d0b455SAshutosh Dixit 			       enum intel_rc6_res_type id);
29c1132367SAndi Shyti 
30*37350409SVinay Belgaumkar bool intel_check_bios_c6_setup(struct intel_rc6 *rc6);
31*37350409SVinay Belgaumkar 
32c1132367SAndi Shyti #endif /* INTEL_RC6_H */
33