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 
11 struct drm_crtc;
12 struct drm_i915_private;
13 struct intel_crtc;
14 
15 #ifdef CONFIG_DEBUG_FS
16 void intel_crtc_crc_init(struct intel_crtc *crtc);
17 int intel_crtc_set_crc_source(struct drm_crtc *crtc, const char *source_name);
18 int intel_crtc_verify_crc_source(struct drm_crtc *crtc,
19 				 const char *source_name, size_t *values_cnt);
20 const char *const *intel_crtc_get_crc_sources(struct drm_crtc *crtc,
21 					      size_t *count);
22 void intel_crtc_disable_pipe_crc(struct intel_crtc *crtc);
23 void intel_crtc_enable_pipe_crc(struct intel_crtc *crtc);
24 #else
intel_crtc_crc_init(struct intel_crtc * crtc)25 static 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
intel_crtc_disable_pipe_crc(struct intel_crtc * crtc)29 static inline void intel_crtc_disable_pipe_crc(struct intel_crtc *crtc)
30 {
31 }
32 
intel_crtc_enable_pipe_crc(struct intel_crtc * crtc)33 static inline void intel_crtc_enable_pipe_crc(struct intel_crtc *crtc)
34 {
35 }
36 #endif
37 
38 #endif /* __INTEL_PIPE_CRC_H__ */
39