1*24f90d66SChris 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 9c1132367SAndi Shyti #include "i915_reg.h" 10c1132367SAndi Shyti 11c1132367SAndi Shyti struct intel_engine_cs; 12c1132367SAndi Shyti struct intel_rc6; 13c1132367SAndi Shyti 14c1132367SAndi Shyti void intel_rc6_init(struct intel_rc6 *rc6); 15c1132367SAndi Shyti void intel_rc6_fini(struct intel_rc6 *rc6); 16c1132367SAndi Shyti 17730eaeb5SChris Wilson void intel_rc6_unpark(struct intel_rc6 *rc6); 18730eaeb5SChris Wilson void intel_rc6_park(struct intel_rc6 *rc6); 19730eaeb5SChris Wilson 20c1132367SAndi Shyti void intel_rc6_sanitize(struct intel_rc6 *rc6); 21c1132367SAndi Shyti void intel_rc6_enable(struct intel_rc6 *rc6); 22c1132367SAndi Shyti void intel_rc6_disable(struct intel_rc6 *rc6); 23c1132367SAndi Shyti 24c1132367SAndi Shyti u64 intel_rc6_residency_ns(struct intel_rc6 *rc6, i915_reg_t reg); 25c1132367SAndi Shyti u64 intel_rc6_residency_us(struct intel_rc6 *rc6, i915_reg_t reg); 26c1132367SAndi Shyti 27c1132367SAndi Shyti #endif /* INTEL_RC6_H */ 28