1/* SPDX-License-Identifier: MIT */
2/*
3 * Copyright �� 2019 Intel Corporation
4 */
5
6#ifndef __INTEL_PIPE_CRC_H__
7#define __INTEL_PIPE_CRC_H__
8
9#include <linux/types.h>
10
11struct drm_crtc;
12struct drm_i915_private;
13struct intel_crtc;
14
15#ifdef CONFIG_DEBUG_FS
16void intel_crtc_crc_init(struct intel_crtc *crtc);
17int intel_crtc_set_crc_source(struct drm_crtc *crtc, const char *source_name);
18int intel_crtc_verify_crc_source(struct drm_crtc *crtc,
19				 const char *source_name, size_t *values_cnt);
20const char *const *intel_crtc_get_crc_sources(struct drm_crtc *crtc,
21					      size_t *count);
22void intel_crtc_disable_pipe_crc(struct intel_crtc *crtc);
23void intel_crtc_enable_pipe_crc(struct intel_crtc *crtc);
24#else
25static inline void intel_crtc_crc_init(struct intel_crtc *crtc) {}
26#define intel_crtc_set_crc_source NULL
27#define intel_crtc_verify_crc_source NULL
28#define intel_crtc_get_crc_sources NULL
29static inline void intel_crtc_disable_pipe_crc(struct intel_crtc *crtc)
30{
31}
32
33static inline void intel_crtc_enable_pipe_crc(struct intel_crtc *crtc)
34{
35}
36#endif
37
38#endif /* __INTEL_PIPE_CRC_H__ */
39