1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright © 2019 Intel Corporation
4  */
5 
6 #ifndef __INTEL_DMC_H__
7 #define __INTEL_DMC_H__
8 
9 #include <linux/types.h>
10 
11 enum pipe;
12 struct drm_i915_private;
13 struct drm_printer;
14 
15 void intel_dmc_init(struct drm_i915_private *i915);
16 void intel_dmc_load_program(struct drm_i915_private *i915);
17 void intel_dmc_disable_program(struct drm_i915_private *i915);
18 void intel_dmc_enable_pipe(struct drm_i915_private *i915, enum pipe pipe);
19 void intel_dmc_disable_pipe(struct drm_i915_private *i915, enum pipe pipe);
20 void intel_dmc_fini(struct drm_i915_private *i915);
21 void intel_dmc_suspend(struct drm_i915_private *i915);
22 void intel_dmc_resume(struct drm_i915_private *i915);
23 bool intel_dmc_has_payload(struct drm_i915_private *i915);
24 void intel_dmc_debugfs_register(struct drm_i915_private *i915);
25 void intel_dmc_print_error_state(struct drm_printer *p,
26 				 struct drm_i915_private *i915);
27 
28 void assert_dmc_loaded(struct drm_i915_private *i915);
29 
30 #endif /* __INTEL_DMC_H__ */
31