drm/i915: Force relocations via cpu if we run out of idle aperture
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 7 Oct 2016 06:53:25 +0000 (07:53 +0100)
committerJani Nikula <jani.nikula@intel.com>
Mon, 10 Oct 2016 13:06:44 +0000 (16:06 +0300)
commitc92fa4fe90256a73975bd1e1c47b60a566b2d037
tree4cfcebd4cf968aaef29d6475e2f85955778831b2
parent9b05a6099ed67c2a92e7e5d9032536f1c08169a6
drm/i915: Force relocations via cpu if we run out of idle aperture

If we run out of enough aperture space to fit the entire object, we
fallback to trying to insert a single page. However, if that also fails,
we currently fail to userspace with an unexpected ENOSPC. (ENOSPC means
to userspace that their batch could not be fitted within the GTT.) Prior
to commit e8cb909ac3ab ("drm/i915: Fallback to single page GTT
mmappings for relocations") the approach is to fallback to using the
slow CPU relocation path in case of iomapping failure, and that is the
behaviour we need to restore.

Fixes: e8cb909ac3ab ("drm/i915: Fallback to single page GTT mmappings...")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98101
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20161007065327.24515-2-chris@chris-wilson.co.uk
(cherry picked from commit d7f7633557503bd231347d8896b9a6fb08f84e00)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/i915_gem_execbuffer.c