132f9402dSAnusha Srivatsa /* SPDX-License-Identifier: MIT */
232f9402dSAnusha Srivatsa /*
332f9402dSAnusha Srivatsa  * Copyright © 2019 Intel Corporation
432f9402dSAnusha Srivatsa  */
532f9402dSAnusha Srivatsa 
632f9402dSAnusha Srivatsa #ifndef __INTEL_DMC_H__
732f9402dSAnusha Srivatsa #define __INTEL_DMC_H__
832f9402dSAnusha Srivatsa 
932f9402dSAnusha Srivatsa struct drm_i915_private;
1032f9402dSAnusha Srivatsa 
1132f9402dSAnusha Srivatsa #define DMC_VERSION(major, minor)	((major) << 16 | (minor))
1232f9402dSAnusha Srivatsa #define DMC_VERSION_MAJOR(version)	((version) >> 16)
1332f9402dSAnusha Srivatsa #define DMC_VERSION_MINOR(version)	((version) & 0xffff)
1432f9402dSAnusha Srivatsa 
1532f9402dSAnusha Srivatsa void intel_dmc_ucode_init(struct drm_i915_private *i915);
1632f9402dSAnusha Srivatsa void intel_dmc_load_program(struct drm_i915_private *i915);
1732f9402dSAnusha Srivatsa void intel_dmc_ucode_fini(struct drm_i915_private *i915);
1832f9402dSAnusha Srivatsa void intel_dmc_ucode_suspend(struct drm_i915_private *i915);
1932f9402dSAnusha Srivatsa void intel_dmc_ucode_resume(struct drm_i915_private *i915);
20*03256487SAnusha Srivatsa bool intel_dmc_has_payload(struct drm_i915_private *i915);
2132f9402dSAnusha Srivatsa 
2232f9402dSAnusha Srivatsa #endif /* __INTEL_DMC_H__ */
23