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
11struct drm_i915_error_state_buf;
12struct drm_i915_private;
13enum pipe;
14
15void intel_dmc_init(struct drm_i915_private *i915);
16void intel_dmc_load_program(struct drm_i915_private *i915);
17void intel_dmc_disable_program(struct drm_i915_private *i915);
18void intel_dmc_enable_pipe(struct drm_i915_private *i915, enum pipe pipe);
19void intel_dmc_disable_pipe(struct drm_i915_private *i915, enum pipe pipe);
20void intel_dmc_fini(struct drm_i915_private *i915);
21void intel_dmc_suspend(struct drm_i915_private *i915);
22void intel_dmc_resume(struct drm_i915_private *i915);
23bool intel_dmc_has_payload(struct drm_i915_private *i915);
24void intel_dmc_debugfs_register(struct drm_i915_private *i915);
25void intel_dmc_print_error_state(struct drm_i915_error_state_buf *m,
26				 struct drm_i915_private *i915);
27
28void assert_dmc_loaded(struct drm_i915_private *i915);
29
30#endif /* __INTEL_DMC_H__ */
31