From: Chris Wilson Date: Fri, 24 Feb 2017 19:33:15 +0000 (+0000) Subject: drm/i915: Timeout lowlevel_hole GTT selftest early X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=91e32157de148ce37422d8110f6f8a84d05da1ec;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git drm/i915: Timeout lowlevel_hole GTT selftest early Check for a timeout in the lowlevel_hole GTT before we allocate state for that pass, as our cleanup phase stops on the iteration before the timeout. References: https://bugs.freedesktop.org/show_bug.cgi?id=99947 Signed-off-by: Chris Wilson Cc: Matthew Auld Link: http://patchwork.freedesktop.org/patch/msgid/20170224193315.21072-1-chris@chris-wilson.co.uk Reviewed-by: Matthew Auld --- diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c index e23753181720..6bac267914df 100644 --- a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c @@ -237,18 +237,19 @@ static int lowlevel_hole(struct drm_i915_private *i915, GEM_BUG_ON(addr + BIT_ULL(size) > vm->total); + if (igt_timeout(end_time, + "%s timed out before %d/%d\n", + __func__, n, count)) { + hole_end = hole_start; /* quit */ + break; + } + if (vm->allocate_va_range && vm->allocate_va_range(vm, addr, BIT_ULL(size))) break; vm->insert_entries(vm, obj->mm.pages, addr, I915_CACHE_NONE, 0); - if (igt_timeout(end_time, - "%s timed out after %d/%d\n", - __func__, n, count)) { - hole_end = hole_start; /* quit */ - break; - } } count = n;