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