Home | History | Annotate | Line # | Download | only in display
      1  1.3  riastrad /*	$NetBSD: intel_fbc.h,v 1.3 2021/12/19 12:32:15 riastradh Exp $	*/
      2  1.1  riastrad 
      3  1.1  riastrad /* SPDX-License-Identifier: MIT */
      4  1.1  riastrad /*
      5  1.1  riastrad  * Copyright  2019 Intel Corporation
      6  1.1  riastrad  */
      7  1.1  riastrad 
      8  1.1  riastrad #ifndef __INTEL_FBC_H__
      9  1.1  riastrad #define __INTEL_FBC_H__
     10  1.1  riastrad 
     11  1.1  riastrad #include <linux/types.h>
     12  1.1  riastrad 
     13  1.1  riastrad #include "intel_frontbuffer.h"
     14  1.1  riastrad 
     15  1.1  riastrad struct drm_i915_private;
     16  1.1  riastrad struct intel_atomic_state;
     17  1.1  riastrad struct intel_crtc;
     18  1.1  riastrad struct intel_crtc_state;
     19  1.1  riastrad struct intel_plane_state;
     20  1.1  riastrad 
     21  1.1  riastrad void intel_fbc_choose_crtc(struct drm_i915_private *dev_priv,
     22  1.1  riastrad 			   struct intel_atomic_state *state);
     23  1.1  riastrad bool intel_fbc_is_active(struct drm_i915_private *dev_priv);
     24  1.1  riastrad bool intel_fbc_pre_update(struct intel_crtc *crtc,
     25  1.1  riastrad 			  const struct intel_crtc_state *crtc_state,
     26  1.1  riastrad 			  const struct intel_plane_state *plane_state);
     27  1.1  riastrad void intel_fbc_post_update(struct intel_crtc *crtc);
     28  1.1  riastrad void intel_fbc_init(struct drm_i915_private *dev_priv);
     29  1.3  riastrad void intel_fbc_cleanup(struct drm_i915_private *dev_priv);
     30  1.1  riastrad void intel_fbc_enable(struct intel_crtc *crtc,
     31  1.1  riastrad 		      const struct intel_crtc_state *crtc_state,
     32  1.1  riastrad 		      const struct intel_plane_state *plane_state);
     33  1.1  riastrad void intel_fbc_disable(struct intel_crtc *crtc);
     34  1.1  riastrad void intel_fbc_global_disable(struct drm_i915_private *dev_priv);
     35  1.1  riastrad void intel_fbc_invalidate(struct drm_i915_private *dev_priv,
     36  1.1  riastrad 			  unsigned int frontbuffer_bits,
     37  1.1  riastrad 			  enum fb_op_origin origin);
     38  1.1  riastrad void intel_fbc_flush(struct drm_i915_private *dev_priv,
     39  1.1  riastrad 		     unsigned int frontbuffer_bits, enum fb_op_origin origin);
     40  1.1  riastrad void intel_fbc_cleanup_cfb(struct drm_i915_private *dev_priv);
     41  1.1  riastrad void intel_fbc_handle_fifo_underrun_irq(struct drm_i915_private *dev_priv);
     42  1.1  riastrad int intel_fbc_reset_underrun(struct drm_i915_private *dev_priv);
     43  1.1  riastrad 
     44  1.1  riastrad #endif /* __INTEL_FBC_H__ */
     45