intel_clear_scanline_wait tries to clear ring wait conditions when we turn off pipes, to prevent hanging WAIT_EVENT and similar commands. But we call it early before rings have been setup during initialization and shouldn't touch the ring regs yet. Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org> --- drivers/gpu/drm/i915/intel_display.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index dc0ef17..1a8cb30 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -3098,6 +3098,10 @@ static void intel_clear_scanline_wait(struct drm_device *dev) ring = LP_RING(dev_priv); + /* This may be called before rings are initialized */ + if (!ring->mmio_base) + return; + tmp = I915_READ_CTL(ring); if (tmp & RING_WAIT) I915_WRITE_CTL(ring, tmp); -- 1.7.5.4