drm/i915: Retire requests from i915_gem_busy_ioctl.

This ensures that the user gets the latest information from the hardware
on whether the buffer is busy, potentially reducing the working set of objects
that the user chooses.

Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>

authored by Eric Anholt and committed by Dave Airlie f21289b3 5669fcac

+7
+7
drivers/gpu/drm/i915/i915_gem.c
··· 2872 return -EBADF; 2873 } 2874 2875 obj_priv = obj->driver_private; 2876 /* Don't count being on the flushing list against the object being 2877 * done. Otherwise, a buffer left on the flushing list but not getting
··· 2872 return -EBADF; 2873 } 2874 2875 + /* Update the active list for the hardware's current position. 2876 + * Otherwise this only updates on a delayed timer or when irqs are 2877 + * actually unmasked, and our working set ends up being larger than 2878 + * required. 2879 + */ 2880 + i915_gem_retire_requests(dev); 2881 + 2882 obj_priv = obj->driver_private; 2883 /* Don't count being on the flushing list against the object being 2884 * done. Otherwise, a buffer left on the flushing list but not getting