drm/i915: properly restore the ppgtt page directory on resume
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 21 Mar 2012 23:14:43 +0000 (00:14 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Sun, 1 Apr 2012 10:25:29 +0000 (12:25 +0200)
commit55a254ac63a3ac1867d1501030e7fba69c7d4aeb
treea0438e133793dcce412879537d49214c29a8fefd
parentf47166d2b0001fcb752b40c5a2d4db986dfbea68
drm/i915: properly restore the ppgtt page directory on resume

The ppgtt page directory lives in a snatched part of the gtt pte
range. Which naturally gets cleared on hibernate when we pull the
power. Suspend to ram (which is what I've tested) works because
despite the fact that this is a mmio region, it is actually back by
system ram.

Fix this by moving the page directory setup code to the ppgtt init
code (which gets called on resume).

This fixes hibernate on my ivb and snb.

Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/i915_gem_gtt.c