summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/gt/intel_rc6.h
diff options
context:
space:
mode:
authorAndi Shyti <andi.shyti@intel.com>2019-09-27 12:08:49 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2019-09-27 13:01:57 +0100
commitc113236718e89561f309705f1a78126b3df93a21 (patch)
tree87faf34a4ecbc91f639025e804ba7bac09ecd5d7 /drivers/gpu/drm/i915/gt/intel_rc6.h
parenta3f56e7da5231c902925711940835b6716f63f73 (diff)
downloadlinux-c113236718e89561f309705f1a78126b3df93a21.tar.gz
linux-c113236718e89561f309705f1a78126b3df93a21.tar.bz2
linux-c113236718e89561f309705f1a78126b3df93a21.zip
drm/i915: Extract GT render sleep (rc6) management
Continuing the theme of breaking intel_pm.c up in a reasonable chunk of powermanagement utilities, pull out the rc6 setup into its GT handler. Based on a patch by Chris Wilson. Signed-off-by: Andi Shyti <andi.shyti@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20190919143840.20384-1-andi.shyti@intel.com Link: https://patchwork.freedesktop.org/patch/msgid/20190927110849.28734-1-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915/gt/intel_rc6.h')
-rw-r--r--drivers/gpu/drm/i915/gt/intel_rc6.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/gt/intel_rc6.h b/drivers/gpu/drm/i915/gt/intel_rc6.h
new file mode 100644
index 000000000000..5e6711f36457
--- /dev/null
+++ b/drivers/gpu/drm/i915/gt/intel_rc6.h
@@ -0,0 +1,25 @@
+/*
+ * SPDX-License-Identifier: MIT
+ *
+ * Copyright © 2019 Intel Corporation
+ */
+
+#ifndef INTEL_RC6_H
+#define INTEL_RC6_H
+
+#include "i915_reg.h"
+
+struct intel_engine_cs;
+struct intel_rc6;
+
+void intel_rc6_init(struct intel_rc6 *rc6);
+void intel_rc6_fini(struct intel_rc6 *rc6);
+
+void intel_rc6_sanitize(struct intel_rc6 *rc6);
+void intel_rc6_enable(struct intel_rc6 *rc6);
+void intel_rc6_disable(struct intel_rc6 *rc6);
+
+u64 intel_rc6_residency_ns(struct intel_rc6 *rc6, i915_reg_t reg);
+u64 intel_rc6_residency_us(struct intel_rc6 *rc6, i915_reg_t reg);
+
+#endif /* INTEL_RC6_H */