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 <linux/types.h> 10 11 enum intel_rc6_res_type; 12 struct intel_rc6; 13 struct seq_file; 14 15 void intel_rc6_init(struct intel_rc6 *rc6); 16 void intel_rc6_fini(struct intel_rc6 *rc6); 17 18 void intel_rc6_unpark(struct intel_rc6 *rc6); 19 void intel_rc6_park(struct intel_rc6 *rc6); 20 21 void intel_rc6_sanitize(struct intel_rc6 *rc6); 22 void intel_rc6_enable(struct intel_rc6 *rc6); 23 void intel_rc6_disable(struct intel_rc6 *rc6); 24 25 u64 intel_rc6_residency_ns(struct intel_rc6 *rc6, enum intel_rc6_res_type id); 26 u64 intel_rc6_residency_us(struct intel_rc6 *rc6, enum intel_rc6_res_type id); 27 void intel_rc6_print_residency(struct seq_file *m, const char *title, 28 enum intel_rc6_res_type id); 29 30 bool intel_check_bios_c6_setup(struct intel_rc6 *rc6); 31 32 #endif /* INTEL_RC6_H */ 33