drm/i915: Wait for all pending operations to the fb before disabling the pipe
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 17 Apr 2012 09:05:38 +0000 (10:05 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 19 Sep 2012 14:05:00 +0000 (15:05 +0100)
commit7da67bc3c1da67f269296edc1d217ada6f1339e3
treec37a5c733218d7de4e735a70c02e985903ef3c1e
parent63180c8a56b254148c28762b200139dcaf92a73d
drm/i915: Wait for all pending operations to the fb before disabling the pipe

During modeset we have to disable the pipe to reconfigure its timings
and maybe its size. Userspace may have queued up command buffers that
depend upon the pipe running in a certain configuration and so the
commands may become confused across the modeset. At the moment, we use a
less than satisfactory kick-scanline-waits should the GPU hang during
the modeset. It should be more reliable to wait for the pending
operations to complete first, even though we still have a window for
userspace to submit a broken command buffer during the modeset.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
(cherry picked from commit 0f91128d88bbb8b0a8e7bb93df2c40680871d45a)

Signed-off-by: Timo Aaltonen <timo.aaltonen@canonical.com>
drivers/gpu/drm/i915/intel_display.c