From: Joonas Lahtinen Date: Fri, 8 May 2015 11:37:39 +0000 (+0300) Subject: drm/i915: Reject huge tiled objects X-Git-Tag: v5.15~15474^2~54^2~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e7ded2d74673c2cdabd1f80da8c8a1b7b531e84a;p=platform%2Fkernel%2Flinux-starfive.git drm/i915: Reject huge tiled objects We do not yet support tiled objects bigger than the mappable aperture size so reject them. Reported-by: Chris Wilson Signed-off-by: Joonas Lahtinen [danvet: Rework the check a bit to avoid warnings.] Signed-off-by: Daniel Vetter --- diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index b45f93b..f128ed8 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -1669,8 +1669,10 @@ int i915_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf) } /* Use a partial view if the object is bigger than the aperture. */ - if (obj->base.size >= dev_priv->gtt.mappable_end) { + if (obj->base.size >= dev_priv->gtt.mappable_end && + obj->tiling_mode == I915_TILING_NONE) { static const unsigned int chunk_size = 256; // 1 MiB + memset(&view, 0, sizeof(view)); view.type = I915_GGTT_VIEW_PARTIAL; view.params.partial.offset = rounddown(page_offset, chunk_size);