On Mon, Jul 06, 2015 at 04:29:12PM +0100, Tvrtko Ursulin wrote: > > On 07/06/2015 04:19 PM, Chris Wilson wrote: > >On Mon, Jul 06, 2015 at 03:15:01PM +0100, Tvrtko Ursulin wrote: > >>From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > >> > >>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@xxxxxxxxx> > >>Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> > >>Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > >>Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> > >>--- > >>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.) > > What are these non-objects and where do I find the code with > restores them improperly? The PDEs are allocated directly in the GGTT and ignored completely across hibernation. All we ideally need to do is evict them on freeze. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx