On Tue, Feb 21, 2023 at 11:35:05PM -0800, Radhakrishna Sripada wrote:
> From: Clint Taylor <[email protected]>
> 
>     Add support for remapping CCS FBs on MTL to remove the restriction
>     of the power-of-two sized stride and the 2MB surface offset alignment
>     for these FBs.

There's strange/unwanted indentation here...

The "Add MTL for..." part of the title also seems confusing to me.  It
might be worth rewording?

> 
> Signed-off-by: Clint Taylor <[email protected]>
> Signed-off-by: Radhakrishna Sripada <[email protected]>
> ---
>  drivers/gpu/drm/i915/display/intel_fb.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_fb.c 
> b/drivers/gpu/drm/i915/display/intel_fb.c
> index 799bdc81a6a9..fc4cb829e8af 100644
> --- a/drivers/gpu/drm/i915/display/intel_fb.c
> +++ b/drivers/gpu/drm/i915/display/intel_fb.c
> @@ -1189,7 +1189,8 @@ bool intel_fb_needs_pot_stride_remap(const struct 
> intel_framebuffer *fb)
>  {
>       struct drm_i915_private *i915 = to_i915(fb->base.dev);
>  
> -     return IS_ALDERLAKE_P(i915) && fb->base.modifier != 
> DRM_FORMAT_MOD_LINEAR;
> +     return (IS_ALDERLAKE_P(i915) || DISPLAY_VER(i915) >= 14) &&

We're updating this condition in a few places (and may need to update it
again in the future); it might be worth creating a feature flag for
this, since I'm not sure if it's definitely going to carry forward to
all future platforms.


Matt

> +            fb->base.modifier != DRM_FORMAT_MOD_LINEAR;
>  }
>  
>  static int intel_fb_pitch(const struct intel_framebuffer *fb, int 
> color_plane, unsigned int rotation)
> @@ -1325,9 +1326,10 @@ plane_view_scanout_stride(const struct 
> intel_framebuffer *fb, int color_plane,
>                         unsigned int tile_width,
>                         unsigned int src_stride_tiles, unsigned int 
> dst_stride_tiles)
>  {
> +     struct drm_i915_private *i915 = to_i915(fb->base.dev);
>       unsigned int stride_tiles;
>  
> -     if (IS_ALDERLAKE_P(to_i915(fb->base.dev)))
> +     if (IS_ALDERLAKE_P(i915) || DISPLAY_VER(i915) >= 14)
>               stride_tiles = src_stride_tiles;
>       else
>               stride_tiles = dst_stride_tiles;
> @@ -1521,7 +1523,8 @@ static void intel_fb_view_init(struct drm_i915_private 
> *i915, struct intel_fb_vi
>       memset(view, 0, sizeof(*view));
>       view->gtt.type = view_type;
>  
> -     if (view_type == I915_GTT_VIEW_REMAPPED && IS_ALDERLAKE_P(i915))
> +     if (view_type == I915_GTT_VIEW_REMAPPED &&
> +         (IS_ALDERLAKE_P(i915) || DISPLAY_VER(i915) >= 14))
>               view->gtt.remapped.plane_alignment = SZ_2M / PAGE_SIZE;
>  }
>  
> -- 
> 2.34.1
> 

-- 
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation

Reply via email to