drm/i915/mtl: X-Tile support changes to client blits
Refactor the supports_x_tiling and fast_blit_ok helper functions in the live client selftest to better reflect when XY_FAST_COPY_BLT supports X-tile and can be used. Bspec: 47982 Signed-off-by: Jonathan Cavitt <jonathan.cavitt@intel.com> Reviewed-by: Matt Roper <matthew.d.roper@intel.com> Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230223183954.1817632-1-jonathan.cavitt@intel.com
This commit is contained in:
parent
da6198afb0
commit
ba8ff97100
@ -108,31 +108,30 @@ struct tiled_blits {
|
||||
u32 height;
|
||||
};
|
||||
|
||||
static bool supports_x_tiling(const struct drm_i915_private *i915)
|
||||
static bool fastblit_supports_x_tiling(const struct drm_i915_private *i915)
|
||||
{
|
||||
int gen = GRAPHICS_VER(i915);
|
||||
|
||||
/* XY_FAST_COPY_BLT does not exist on pre-gen9 platforms */
|
||||
drm_WARN_ON(&i915->drm, gen < 9);
|
||||
|
||||
if (gen < 12)
|
||||
return true;
|
||||
|
||||
if (!HAS_LMEM(i915) || IS_DG1(i915))
|
||||
if (GRAPHICS_VER_FULL(i915) < IP_VER(12, 50))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
return HAS_DISPLAY(i915);
|
||||
}
|
||||
|
||||
static bool fast_blit_ok(const struct blit_buffer *buf)
|
||||
{
|
||||
int gen = GRAPHICS_VER(buf->vma->vm->i915);
|
||||
|
||||
if (gen < 9)
|
||||
/* XY_FAST_COPY_BLT does not exist on pre-gen9 platforms */
|
||||
if (GRAPHICS_VER(buf->vma->vm->i915) < 9)
|
||||
return false;
|
||||
|
||||
if (gen < 12)
|
||||
return true;
|
||||
|
||||
/* filter out platforms with unsupported X-tile support in fastblit */
|
||||
if (buf->tiling == CLIENT_TILING_X && !supports_x_tiling(buf->vma->vm->i915))
|
||||
if (buf->tiling == CLIENT_TILING_X && !fastblit_supports_x_tiling(buf->vma->vm->i915))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user