]> git.karo-electronics.de Git - karo-tx-linux.git/commit
drm/i915: Preserve ring buffers objects across resume
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 9 Apr 2014 08:19:41 +0000 (09:19 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 22 Apr 2014 19:19:59 +0000 (21:19 +0200)
commit5582e8c3c49150c0e7398688b5ed167d6c3d44fd
treee259608555a86aac31e7a9e9c3f313096baf285e
parent5ed4c83bfc317ad635e09ec7dafb790ce9538377
drm/i915: Preserve ring buffers objects across resume

Tearing down the ring buffers across resume is overkill, risks
unnecessary failure and increases fragmentation.

After failure, since the device is still active we may end up trying to
write into the dangling iomapping and trigger an oops.

v2: stop_ringbuffers() was meant to call stop(ring) not
cleanup(ring) during resume!

Reported-by: Jae-hyeon Park <jhyeon@gmail.com>
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=72351
References: https://bugs.freedesktop.org/show_bug.cgi?id=76554
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Oscar Mateo <oscar.mateo@intel.com>
[danvet: s/ring->obj == NULL/!intel_ring_initialized(ring)/ as
suggested by Oscar.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/intel_ringbuffer.c
drivers/gpu/drm/i915/intel_ringbuffer.h