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