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