1fbf756c3SDave Airlie /* SPDX-License-Identifier: MIT */
2fbf756c3SDave Airlie /*
3fbf756c3SDave Airlie  * Copyright © 2020 Intel Corporation
4fbf756c3SDave Airlie  */
5fbf756c3SDave Airlie 
6fbf756c3SDave Airlie #ifndef _INTEL_CRTC_H_
7fbf756c3SDave Airlie #define _INTEL_CRTC_H_
8fbf756c3SDave Airlie 
9fbf756c3SDave Airlie #include <linux/types.h>
10fbf756c3SDave Airlie 
11fbf756c3SDave Airlie enum pipe;
12fbf756c3SDave Airlie struct drm_i915_private;
13fbf756c3SDave Airlie struct intel_crtc;
14fbf756c3SDave Airlie struct intel_crtc_state;
15fbf756c3SDave Airlie 
16fbf756c3SDave Airlie u32 intel_crtc_max_vblank_count(const struct intel_crtc_state *crtc_state);
17fbf756c3SDave Airlie int intel_crtc_init(struct drm_i915_private *dev_priv, enum pipe pipe);
18fbf756c3SDave Airlie struct intel_crtc_state *intel_crtc_state_alloc(struct intel_crtc *crtc);
19fbf756c3SDave Airlie void intel_crtc_state_reset(struct intel_crtc_state *crtc_state,
20fbf756c3SDave Airlie 			    struct intel_crtc *crtc);
21*7c53e628SJani Nikula u32 intel_crtc_get_vblank_counter(struct intel_crtc *crtc);
22*7c53e628SJani Nikula void intel_crtc_vblank_on(const struct intel_crtc_state *crtc_state);
23*7c53e628SJani Nikula void intel_crtc_vblank_off(const struct intel_crtc_state *crtc_state);
24fbf756c3SDave Airlie 
25fbf756c3SDave Airlie #endif
26