Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e7ded2d7 authored by Joonas Lahtinen's avatar Joonas Lahtinen Committed by Daniel Vetter
Browse files

drm/i915: Reject huge tiled objects



We do not yet support tiled objects bigger than the mappable
aperture size so reject them.

Reported-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
[danvet: Rework the check a bit to avoid warnings.]
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 71849b67
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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);