Skip to content

Commit

Permalink
drm/i915: extract intel_sprite.h from intel_drv.h
Browse files Browse the repository at this point in the history
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.

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/679c857a1933ee3d0706f978ab05ca880cd30a00.1554461791.git.jani.nikula@intel.com
  • Loading branch information
Jani Nikula committed Apr 8, 2019
1 parent 75a4639 commit f9a79f9
Showing 10 changed files with 63 additions and 35 deletions.
1 change: 1 addition & 0 deletions drivers/gpu/drm/i915/Makefile.header-test
Original file line number Diff line number Diff line change
@@ -31,6 +31,7 @@ header_test := \
intel_pm.h \
intel_psr.h \
intel_sdvo.h \
intel_sprite.h \
intel_tv.h \
intel_workarounds_types.h

1 change: 1 addition & 0 deletions drivers/gpu/drm/i915/i915_drv.c
Original file line number Diff line number Diff line change
@@ -59,6 +59,7 @@
#include "intel_drv.h"
#include "intel_fbdev.h"
#include "intel_pm.h"
#include "intel_sprite.h"
#include "intel_uc.h"
#include "intel_workarounds.h"

1 change: 1 addition & 0 deletions drivers/gpu/drm/i915/intel_atomic.c
Original file line number Diff line number Diff line change
@@ -36,6 +36,7 @@

#include "intel_drv.h"
#include "intel_hdcp.h"
#include "intel_sprite.h"

/**
* intel_digital_connector_atomic_get_property - hook for connector->atomic_get_property.
1 change: 1 addition & 0 deletions drivers/gpu/drm/i915/intel_atomic_plane.c
Original file line number Diff line number Diff line change
@@ -38,6 +38,7 @@
#include "intel_atomic_plane.h"
#include "intel_drv.h"
#include "intel_pm.h"
#include "intel_sprite.h"

struct intel_plane *intel_plane_alloc(void)
{
1 change: 1 addition & 0 deletions drivers/gpu/drm/i915/intel_display.c
Original file line number Diff line number Diff line change
@@ -66,6 +66,7 @@
#include "intel_pm.h"
#include "intel_psr.h"
#include "intel_sdvo.h"
#include "intel_sprite.h"
#include "intel_tv.h"

/* Primary plane formats for gen <= 3 */
35 changes: 0 additions & 35 deletions drivers/gpu/drm/i915/intel_drv.h
Original file line number Diff line number Diff line change
@@ -2038,41 +2038,6 @@ void chv_phy_powergate_lanes(struct intel_encoder *encoder,
bool chv_phy_powergate_ch(struct drm_i915_private *dev_priv, enum dpio_phy phy,
enum dpio_channel ch, bool override);

/* intel_sprite.c */
bool is_planar_yuv_format(u32 pixelformat);
int intel_usecs_to_scanlines(const struct drm_display_mode *adjusted_mode,
int usecs);
struct intel_plane *intel_sprite_plane_create(struct drm_i915_private *dev_priv,
enum pipe pipe, int plane);
int intel_sprite_set_colorkey_ioctl(struct drm_device *dev, void *data,
struct drm_file *file_priv);
void intel_pipe_update_start(const struct intel_crtc_state *new_crtc_state);
void intel_pipe_update_end(struct intel_crtc_state *new_crtc_state);
int intel_plane_check_stride(const struct intel_plane_state *plane_state);
int intel_plane_check_src_coordinates(struct intel_plane_state *plane_state);
int chv_plane_check_rotation(const struct intel_plane_state *plane_state);
struct intel_plane *
skl_universal_plane_create(struct drm_i915_private *dev_priv,
enum pipe pipe, enum plane_id plane_id);

static inline bool icl_is_nv12_y_plane(enum plane_id id)
{
/* Don't need to do a gen check, these planes are only available on gen11 */
if (id == PLANE_SPRITE4 || id == PLANE_SPRITE5)
return true;

return false;
}

static inline bool icl_is_hdr_plane(struct drm_i915_private *dev_priv,
enum plane_id plane_id)
{
if (INTEL_GEN(dev_priv) < 11)
return false;

return plane_id < PLANE_SPRITE2;
}

/* intel_atomic.c */
int intel_digital_connector_atomic_get_property(struct drm_connector *connector,
const struct drm_connector_state *state,
1 change: 1 addition & 0 deletions drivers/gpu/drm/i915/intel_pm.c
Original file line number Diff line number Diff line change
@@ -37,6 +37,7 @@
#include "intel_drv.h"
#include "intel_fbc.h"
#include "intel_pm.h"
#include "intel_sprite.h"
#include "../../../platform/x86/intel_ips.h"

/**
1 change: 1 addition & 0 deletions drivers/gpu/drm/i915/intel_psr.c
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@
#include "intel_dp.h"
#include "intel_drv.h"
#include "intel_psr.h"
#include "intel_sprite.h"

/**
* DOC: Panel Self Refresh (PSR/SRD)
1 change: 1 addition & 0 deletions drivers/gpu/drm/i915/intel_sprite.c
Original file line number Diff line number Diff line change
@@ -45,6 +45,7 @@
#include "intel_frontbuffer.h"
#include "intel_pm.h"
#include "intel_psr.h"
#include "intel_sprite.h"

bool is_planar_yuv_format(u32 pixelformat)
{
55 changes: 55 additions & 0 deletions drivers/gpu/drm/i915/intel_sprite.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/* SPDX-License-Identifier: MIT */
/*
* Copyright © 2019 Intel Corporation
*/

#ifndef __INTEL_SPRITE_H__
#define __INTEL_SPRITE_H__

#include <linux/types.h>

#include "i915_drv.h"
#include "intel_display.h"

struct drm_device;
struct drm_display_mode;
struct drm_file;
struct drm_i915_private;
struct intel_crtc_state;
struct intel_plane_state;

bool is_planar_yuv_format(u32 pixelformat);
int intel_usecs_to_scanlines(const struct drm_display_mode *adjusted_mode,
int usecs);
struct intel_plane *intel_sprite_plane_create(struct drm_i915_private *dev_priv,
enum pipe pipe, int plane);
int intel_sprite_set_colorkey_ioctl(struct drm_device *dev, void *data,
struct drm_file *file_priv);
void intel_pipe_update_start(const struct intel_crtc_state *new_crtc_state);
void intel_pipe_update_end(struct intel_crtc_state *new_crtc_state);
int intel_plane_check_stride(const struct intel_plane_state *plane_state);
int intel_plane_check_src_coordinates(struct intel_plane_state *plane_state);
int chv_plane_check_rotation(const struct intel_plane_state *plane_state);
struct intel_plane *
skl_universal_plane_create(struct drm_i915_private *dev_priv,
enum pipe pipe, enum plane_id plane_id);

static inline bool icl_is_nv12_y_plane(enum plane_id id)
{
/* Don't need to do a gen check, these planes are only available on gen11 */
if (id == PLANE_SPRITE4 || id == PLANE_SPRITE5)
return true;

return false;
}

static inline bool icl_is_hdr_plane(struct drm_i915_private *dev_priv,
enum plane_id plane_id)
{
if (INTEL_GEN(dev_priv) < 11)
return false;

return plane_id < PLANE_SPRITE2;
}

#endif /* __INTEL_SPRITE_H__ */

0 comments on commit f9a79f9

Please sign in to comment.