xref: /linux/drivers/gpu/drm/i915/display/intel_flipq.h (revision 470022b5c215351d5e3faf4823a489e589fa2e57)
1*470022b5SVille Syrjälä /* SPDX-License-Identifier: MIT */
2*470022b5SVille Syrjälä /*
3*470022b5SVille Syrjälä  * Copyright © 2025 Intel Corporation
4*470022b5SVille Syrjälä  */
5*470022b5SVille Syrjälä 
6*470022b5SVille Syrjälä #ifndef __INTEL_FLIPQ_H__
7*470022b5SVille Syrjälä #define __INTEL_FLIPQ_H__
8*470022b5SVille Syrjälä 
9*470022b5SVille Syrjälä #include <linux/types.h>
10*470022b5SVille Syrjälä 
11*470022b5SVille Syrjälä enum intel_dsb_id;
12*470022b5SVille Syrjälä enum intel_flipq_id;
13*470022b5SVille Syrjälä enum pipe;
14*470022b5SVille Syrjälä struct intel_crtc;
15*470022b5SVille Syrjälä struct intel_crtc_state;
16*470022b5SVille Syrjälä struct intel_display;
17*470022b5SVille Syrjälä struct intel_dsb;
18*470022b5SVille Syrjälä 
19*470022b5SVille Syrjälä bool intel_flipq_supported(struct intel_display *display);
20*470022b5SVille Syrjälä void intel_flipq_init(struct intel_display *display);
21*470022b5SVille Syrjälä void intel_flipq_reset(struct intel_display *display, enum pipe pipe);
22*470022b5SVille Syrjälä 
23*470022b5SVille Syrjälä void intel_flipq_enable(const struct intel_crtc_state *crtc_state);
24*470022b5SVille Syrjälä void intel_flipq_disable(const struct intel_crtc_state *old_crtc_state);
25*470022b5SVille Syrjälä 
26*470022b5SVille Syrjälä void intel_flipq_add(struct intel_crtc *crtc,
27*470022b5SVille Syrjälä 		     enum intel_flipq_id flip_queue_id,
28*470022b5SVille Syrjälä 		     unsigned int pts,
29*470022b5SVille Syrjälä 		     enum intel_dsb_id dsb_id,
30*470022b5SVille Syrjälä 		     struct intel_dsb *dsb);
31*470022b5SVille Syrjälä 
32*470022b5SVille Syrjälä #endif /* __INTEL_FLIPQ_H__ */
33