xref: /linux/drivers/gpu/drm/i915/display/intel_drrs.h (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright © 2021 Intel Corporation
4  */
5 
6 #ifndef __INTEL_DRRS_H__
7 #define __INTEL_DRRS_H__
8 
9 #include <linux/types.h>
10 
11 enum drrs_type;
12 enum transcoder;
13 struct drm_i915_private;
14 struct intel_atomic_state;
15 struct intel_crtc;
16 struct intel_crtc_state;
17 struct intel_connector;
18 
19 bool intel_cpu_transcoder_has_drrs(struct drm_i915_private *i915,
20 				   enum transcoder cpu_transcoder);
21 const char *intel_drrs_type_str(enum drrs_type drrs_type);
22 bool intel_drrs_is_active(struct intel_crtc *crtc);
23 void intel_drrs_activate(const struct intel_crtc_state *crtc_state);
24 void intel_drrs_deactivate(const struct intel_crtc_state *crtc_state);
25 void intel_drrs_invalidate(struct drm_i915_private *dev_priv,
26 			   unsigned int frontbuffer_bits);
27 void intel_drrs_flush(struct drm_i915_private *dev_priv,
28 		      unsigned int frontbuffer_bits);
29 void intel_drrs_crtc_init(struct intel_crtc *crtc);
30 void intel_drrs_crtc_debugfs_add(struct intel_crtc *crtc);
31 void intel_drrs_connector_debugfs_add(struct intel_connector *connector);
32 
33 #endif /* __INTEL_DRRS_H__ */
34