[Intel-gfx] [PATCH v2 7/9] drm/i915/mtl: Add MTL for remapping CCS FBs
Matt Roper
matthew.d.roper at intel.com
Wed Feb 22 19:26:45 UTC 2023
On Tue, Feb 21, 2023 at 11:35:05PM -0800, Radhakrishna Sripada wrote:
> From: Clint Taylor <clinton.a.taylor at intel.com>
>
> 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 <clinton.a.taylor at intel.com>
> Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada at intel.com>
> ---
> 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
More information about the Intel-gfx
mailing list