1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * SPDX-License-Identifier: MIT 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * Copyright © 2019 Intel Corporation 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #ifndef INTEL_RC6_H 8*4882a593Smuzhiyun #define INTEL_RC6_H 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #include "i915_reg.h" 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun struct intel_engine_cs; 13*4882a593Smuzhiyun struct intel_rc6; 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun void intel_rc6_init(struct intel_rc6 *rc6); 16*4882a593Smuzhiyun void intel_rc6_fini(struct intel_rc6 *rc6); 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun void intel_rc6_unpark(struct intel_rc6 *rc6); 19*4882a593Smuzhiyun void intel_rc6_park(struct intel_rc6 *rc6); 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun void intel_rc6_sanitize(struct intel_rc6 *rc6); 22*4882a593Smuzhiyun void intel_rc6_enable(struct intel_rc6 *rc6); 23*4882a593Smuzhiyun void intel_rc6_disable(struct intel_rc6 *rc6); 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun u64 intel_rc6_residency_ns(struct intel_rc6 *rc6, i915_reg_t reg); 26*4882a593Smuzhiyun u64 intel_rc6_residency_us(struct intel_rc6 *rc6, i915_reg_t reg); 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun #endif /* INTEL_RC6_H */ 29