Commit 7050ef35 authored by Ville Syrjälä's avatar Ville Syrjälä

drm/i915: Split gen2 vs. gen3 .max_stride()

Plane .max_stride() is already a vfunc so having one made
up of two branches based on the display version is silly.
Split i9xx_plane_max_stride() into gen2 vs. gen3 variants
so  that we get rid of said check.
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240506125718.26001-2-ville.syrjala@linux.intel.comReviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
parent deac7611
......@@ -741,23 +741,25 @@ i965_plane_max_stride(struct intel_plane *plane,
}
static unsigned int
i9xx_plane_max_stride(struct intel_plane *plane,
i915_plane_max_stride(struct intel_plane *plane,
u32 pixel_format, u64 modifier,
unsigned int rotation)
{
struct drm_i915_private *dev_priv = to_i915(plane->base.dev);
if (modifier == I915_FORMAT_MOD_X_TILED)
return 8 * 1024;
else
return 16 * 1024;
}
if (DISPLAY_VER(dev_priv) >= 3) {
if (modifier == I915_FORMAT_MOD_X_TILED)
return 8*1024;
else
return 16*1024;
} else {
if (plane->i9xx_plane == PLANE_C)
return 4*1024;
else
return 8*1024;
}
static unsigned int
i8xx_plane_max_stride(struct intel_plane *plane,
u32 pixel_format, u64 modifier,
unsigned int rotation)
{
if (plane->i9xx_plane == PLANE_C)
return 4 * 1024;
else
return 8 * 1024;
}
static const struct drm_plane_funcs i965_plane_funcs = {
......@@ -854,8 +856,10 @@ intel_primary_plane_create(struct drm_i915_private *dev_priv, enum pipe pipe)
if (HAS_GMCH(dev_priv)) {
if (DISPLAY_VER(dev_priv) >= 4)
plane->max_stride = i965_plane_max_stride;
else if (DISPLAY_VER(dev_priv) == 3)
plane->max_stride = i915_plane_max_stride;
else
plane->max_stride = i9xx_plane_max_stride;
plane->max_stride = i8xx_plane_max_stride;
} else {
if (IS_BROADWELL(dev_priv) || IS_HASWELL(dev_priv))
plane->max_stride = hsw_primary_max_stride;
......
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