Commit 98afa316 authored by Jani Nikula's avatar Jani Nikula

drm/i915: extract intel_fbc.h from intel_drv.h

It used to be handy that we only had a couple of headers, but over time
intel_drv.h has become unwieldy. Extract declarations to a separate
header file corresponding to the implementation module, clarifying the
modularity of the driver.

Ensure the new header is self-contained, and do so with minimal further
includes, using forward declarations as needed. Include the new header
only where needed, and sort the modified include directives while at it
and as needed.

No functional changes.

v2: Remove stray newline (Chris)
Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Acked-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/db44ba199c86f24bfa9e490531eddf51cccd89da.1554461791.git.jani.nikula@intel.com
parent 174594db
...@@ -15,6 +15,7 @@ header_test := \ ...@@ -15,6 +15,7 @@ header_test := \
intel_csr.h \ intel_csr.h \
intel_ddi.h \ intel_ddi.h \
intel_engine_types.h \ intel_engine_types.h \
intel_fbc.h \
intel_frontbuffer.h \ intel_frontbuffer.h \
intel_workarounds_types.h intel_workarounds_types.h
......
...@@ -26,14 +26,16 @@ ...@@ -26,14 +26,16 @@
* *
*/ */
#include <linux/sort.h>
#include <linux/sched/mm.h> #include <linux/sched/mm.h>
#include <linux/sort.h>
#include <drm/drm_debugfs.h> #include <drm/drm_debugfs.h>
#include <drm/drm_fourcc.h> #include <drm/drm_fourcc.h>
#include "intel_drv.h"
#include "intel_guc_submission.h"
#include "i915_reset.h" #include "i915_reset.h"
#include "intel_drv.h"
#include "intel_fbc.h"
#include "intel_guc_submission.h"
static inline struct drm_i915_private *node_to_i915(struct drm_info_node *node) static inline struct drm_i915_private *node_to_i915(struct drm_info_node *node)
{ {
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include "intel_engine_types.h" #include "intel_engine_types.h"
struct drm_i915_private; struct drm_i915_private;
struct i915_request;
struct intel_engine_cs; struct intel_engine_cs;
struct intel_guc; struct intel_guc;
......
...@@ -25,8 +25,10 @@ ...@@ -25,8 +25,10 @@
*/ */
#include <drm/i915_drm.h> #include <drm/i915_drm.h>
#include "intel_drv.h"
#include "i915_reg.h" #include "i915_reg.h"
#include "intel_drv.h"
#include "intel_fbc.h"
static void i915_save_display(struct drm_i915_private *dev_priv) static void i915_save_display(struct drm_i915_private *dev_priv)
{ {
......
...@@ -52,6 +52,7 @@ ...@@ -52,6 +52,7 @@
#include "intel_ddi.h" #include "intel_ddi.h"
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_dsi.h" #include "intel_dsi.h"
#include "intel_fbc.h"
#include "intel_frontbuffer.h" #include "intel_frontbuffer.h"
/* Primary plane formats for gen <= 3 */ /* Primary plane formats for gen <= 3 */
......
...@@ -2012,30 +2012,6 @@ static inline void intel_fbdev_restore_mode(struct drm_device *dev) ...@@ -2012,30 +2012,6 @@ static inline void intel_fbdev_restore_mode(struct drm_device *dev)
} }
#endif #endif
/* intel_fbc.c */
void intel_fbc_choose_crtc(struct drm_i915_private *dev_priv,
struct intel_atomic_state *state);
bool intel_fbc_is_active(struct drm_i915_private *dev_priv);
void intel_fbc_pre_update(struct intel_crtc *crtc,
struct intel_crtc_state *crtc_state,
struct intel_plane_state *plane_state);
void intel_fbc_post_update(struct intel_crtc *crtc);
void intel_fbc_init(struct drm_i915_private *dev_priv);
void intel_fbc_init_pipe_state(struct drm_i915_private *dev_priv);
void intel_fbc_enable(struct intel_crtc *crtc,
struct intel_crtc_state *crtc_state,
struct intel_plane_state *plane_state);
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_cleanup_cfb(struct drm_i915_private *dev_priv);
void intel_fbc_handle_fifo_underrun_irq(struct drm_i915_private *dev_priv);
int intel_fbc_reset_underrun(struct drm_i915_private *dev_priv);
/* intel_hdmi.c */ /* intel_hdmi.c */
void intel_hdmi_init(struct drm_i915_private *dev_priv, i915_reg_t hdmi_reg, void intel_hdmi_init(struct drm_i915_private *dev_priv, i915_reg_t hdmi_reg,
enum port port); enum port port);
......
...@@ -40,8 +40,9 @@ ...@@ -40,8 +40,9 @@
#include <drm/drm_fourcc.h> #include <drm/drm_fourcc.h>
#include "intel_drv.h"
#include "i915_drv.h" #include "i915_drv.h"
#include "intel_drv.h"
#include "intel_fbc.h"
static inline bool fbc_supported(struct drm_i915_private *dev_priv) static inline bool fbc_supported(struct drm_i915_private *dev_priv)
{ {
......
/* SPDX-License-Identifier: MIT */
/*
* Copyright © 2019 Intel Corporation
*/
#ifndef __INTEL_FBC_H__
#define __INTEL_FBC_H__
#include <linux/types.h>
#include "intel_frontbuffer.h"
struct drm_i915_private;
struct intel_atomic_state;
struct intel_crtc;
struct intel_crtc_state;
struct intel_plane_state;
void intel_fbc_choose_crtc(struct drm_i915_private *dev_priv,
struct intel_atomic_state *state);
bool intel_fbc_is_active(struct drm_i915_private *dev_priv);
void intel_fbc_pre_update(struct intel_crtc *crtc,
struct intel_crtc_state *crtc_state,
struct intel_plane_state *plane_state);
void intel_fbc_post_update(struct intel_crtc *crtc);
void intel_fbc_init(struct drm_i915_private *dev_priv);
void intel_fbc_init_pipe_state(struct drm_i915_private *dev_priv);
void intel_fbc_enable(struct intel_crtc *crtc,
struct intel_crtc_state *crtc_state,
struct intel_plane_state *plane_state);
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_cleanup_cfb(struct drm_i915_private *dev_priv);
void intel_fbc_handle_fifo_underrun_irq(struct drm_i915_private *dev_priv);
int intel_fbc_reset_underrun(struct drm_i915_private *dev_priv);
#endif /* __INTEL_FBC_H__ */
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include "i915_drv.h" #include "i915_drv.h"
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_fbc.h"
/** /**
* DOC: fifo underrun handling * DOC: fifo underrun handling
......
...@@ -61,9 +61,10 @@ ...@@ -61,9 +61,10 @@
*/ */
#include "i915_drv.h"
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_fbc.h"
#include "intel_frontbuffer.h" #include "intel_frontbuffer.h"
#include "i915_drv.h"
void __intel_fb_obj_invalidate(struct drm_i915_gem_object *obj, void __intel_fb_obj_invalidate(struct drm_i915_gem_object *obj,
enum fb_op_origin origin, enum fb_op_origin origin,
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#include "i915_drv.h" #include "i915_drv.h"
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_fbc.h"
#include "../../../platform/x86/intel_ips.h" #include "../../../platform/x86/intel_ips.h"
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment