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