[Intel-gfx] [PATCH] drm/i915: Restore all GGTT VMAs on resume

Chris Wilson chris at chris-wilson.co.uk
Mon Jul 6 08:19:01 PDT 2015


On Mon, Jul 06, 2015 at 03:15:01PM +0100, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> 
> When rotated and partial views were added no one spotted the resume
> path which assumes only one GGTT VMA per object and hence is now
> skipping rebind of alternative views.
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> ---
> Similarly to my recent debugfs patch, it would seem quicker path could
> be to walk GGTT active & inactive lists, but I assume we want to call
> i915_gem_clflush_object only once per object which would make that
> problematic.

It's a bit easier because there are no active entries after suspend, and
we may not care too much for over clflushing.

We should actually clear the GGTT of all but pinned entries on
hibernate (which would save a bunch of work on early resume), and there
are a bunch of non-objects inside the GGTT that should be evicted/restored
properly. (Would have been trivial had we made them all objects in the
first place.)

The patch is in the right direction and the other issues are present
irrespective of this patch.

I guess a begrudingly
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list