mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 17:30:02 +00:00
![Ville Syrjälä](/assets/img/avatar_default.png)
Expose FBC debugfs files for each crtc. These may or may not point to the same FBC instance depending on the platform. We leave the old global debugfs files in place until igt catches up to the new per-crtc approach. v2: Take a trip via intel_crtc_debugfs_add() (Jani) Cc: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20211213151435.9700-1-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula <jani.nikula@intel.com>
48 lines
1.5 KiB
C
48 lines
1.5 KiB
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2019 Intel Corporation
|
|
*/
|
|
|
|
#ifndef __INTEL_FBC_H__
|
|
#define __INTEL_FBC_H__
|
|
|
|
#include <linux/types.h>
|
|
|
|
enum fb_op_origin;
|
|
struct drm_i915_private;
|
|
struct intel_atomic_state;
|
|
struct intel_crtc;
|
|
struct intel_crtc_state;
|
|
struct intel_fbc;
|
|
struct intel_plane;
|
|
struct intel_plane_state;
|
|
|
|
enum intel_fbc_id {
|
|
INTEL_FBC_A,
|
|
|
|
I915_MAX_FBCS,
|
|
};
|
|
|
|
int intel_fbc_atomic_check(struct intel_atomic_state *state);
|
|
bool intel_fbc_pre_update(struct intel_atomic_state *state,
|
|
struct intel_crtc *crtc);
|
|
void intel_fbc_post_update(struct intel_atomic_state *state,
|
|
struct intel_crtc *crtc);
|
|
void intel_fbc_init(struct drm_i915_private *dev_priv);
|
|
void intel_fbc_cleanup(struct drm_i915_private *dev_priv);
|
|
void intel_fbc_update(struct intel_atomic_state *state,
|
|
struct intel_crtc *crtc);
|
|
void intel_fbc_disable(struct intel_crtc *crtc);
|
|
void intel_fbc_global_disable(struct drm_i915_private *dev_priv);
|
|
void intel_fbc_invalidate(struct drm_i915_private *dev_priv,
|
|
unsigned int frontbuffer_bits,
|
|
enum fb_op_origin origin);
|
|
void intel_fbc_flush(struct drm_i915_private *dev_priv,
|
|
unsigned int frontbuffer_bits, enum fb_op_origin origin);
|
|
void intel_fbc_add_plane(struct intel_fbc *fbc, struct intel_plane *plane);
|
|
void intel_fbc_handle_fifo_underrun_irq(struct drm_i915_private *i915);
|
|
void intel_fbc_reset_underrun(struct drm_i915_private *i915);
|
|
void intel_fbc_crtc_debugfs_add(struct intel_crtc *crtc);
|
|
void intel_fbc_debugfs_register(struct drm_i915_private *i915);
|
|
|
|
#endif /* __INTEL_FBC_H__ */
|