On Sat, Jul 16, 2016 at 06:42:36PM +0100, Chris Wilson wrote: > Even after adding individual page support for GTT mmaping, we can still > fail to find any space within the mappable region, and > drm_mm_insert_node() will then report ENOSPC. We have to then handle > this error by using the shmem access to the pages. > > Fixes: b50a53715f09 ("drm/i915: Support for pread/pwrite ... objects") > Testcase: igt/gem_concurrent_blit > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Ankitprasad Sharma <ankitprasad.r.sharma@xxxxxxxxx> > Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Aside: Anything anywhere in the pipeline to make gtt mmap more robust for ENOSPC? -Daniel > --- > 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 4644a7e67cf6..e37f73d3965c 100644 > --- a/drivers/gpu/drm/i915/i915_gem.c > +++ b/drivers/gpu/drm/i915/i915_gem.c > @@ -1306,7 +1306,7 @@ i915_gem_pwrite_ioctl(struct drm_device *dev, void *data, > * textures). Fallback to the shmem path in that case. */ > } > > - if (ret == -EFAULT) { > + if (ret == -EFAULT || ret == -ENOSPC) { > if (obj->phys_handle) > ret = i915_gem_phys_pwrite(obj, args, file); > else if (i915_gem_object_has_struct_page(obj)) > -- > 2.8.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx