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 <chris@chris-wilson.co.uk> Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> [danvet: Rework the check a bit to avoid warnings.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
71849b67e7
commit
e7ded2d746
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue