[Intel-gfx] [PATCH] drm/i915: Round tile chunks up for constructing partial VMAs
Joonas Lahtinen
joonas.lahtinen at linux.intel.com
Mon Nov 7 11:02:37 UTC 2016
On ma, 2016-11-07 at 10:54 +0000, Chris Wilson wrote:
> When we split a large object up into chunks for GTT faulting (because we
> can't fit the whole object into the aperture) we have to align our cuts
> with the fence registers. Each partial VMA must cover a complete set of
> tile rows or the offset into each partial VMA is not aligned with the
> whole image. Currently we enforce a minimum size on each partial VMA,
> but this minimum size itself was not aligned to the tile row causing
> distortion.
>
> > Reported-by: Andreas Reis <andreas.reis at gmail.com>
> > Reported-by: Chris Clayton <chris2553 at googlemail.com>
> > Reported-by: Norbert Preining <preining at logic.at>
> > Tested-by: Norbert Preining <preining at logic.at>
> Fixes: 03af84fe7f48 ("drm/i915: Choose partial chunksize based on tile row size")
> Fixes: a61007a83a46 ("drm/i915: Fix partial GGTT faulting") # enabling patch
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98402
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> > Cc: Jani Nikula <jani.nikula at linux.intel.com>
> > Cc: <drm-intel-fixes at lists.freedesktop.org> # v4.9-rc1+
> ---
> drivers/gpu/drm/i915/i915_gem.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index c642385bb236..a52b40bbac6f 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -1837,7 +1837,7 @@ int i915_gem_fault(struct vm_area_struct *area, struct vm_fault *vmf)
> /* Use a partial view if it is bigger than available space */
> chunk_size = MIN_CHUNK_PAGES;
> if (i915_gem_object_is_tiled(obj))
> - chunk_size = max(chunk_size, tile_row_pages(obj));
> + chunk_size = roundup(chunk_size, tile_row_pages(obj));
>
Later in code, if chunk_size ends up bigger than object size, we
convert back to normal view, so this is good. Not sure if it's worth a
comment.
Reviewed-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
Regards, Joonas
--
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
More information about the Intel-gfx
mailing list