]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/gpu/drm/i915/intel_fifo_underrun.c
drm/i915: Rearrange i915_wait_request() accounting with callers
[karo-tx-linux.git] / drivers / gpu / drm / i915 / intel_fifo_underrun.c
index 2aa744081f090248bdfc721703f2d3da3692c3cc..3018f4f589c8cc98b427a2e20e7c55b415b0198e 100644 (file)
@@ -254,13 +254,13 @@ static bool __intel_set_cpu_fifo_underrun_reporting(struct drm_device *dev,
        old = !intel_crtc->cpu_fifo_underrun_disabled;
        intel_crtc->cpu_fifo_underrun_disabled = !enable;
 
-       if (HAS_GMCH_DISPLAY(dev))
+       if (HAS_GMCH_DISPLAY(dev_priv))
                i9xx_set_fifo_underrun_reporting(dev, pipe, enable, old);
-       else if (IS_GEN5(dev) || IS_GEN6(dev))
+       else if (IS_GEN5(dev_priv) || IS_GEN6(dev_priv))
                ironlake_set_fifo_underrun_reporting(dev, pipe, enable);
-       else if (IS_GEN7(dev))
+       else if (IS_GEN7(dev_priv))
                ivybridge_set_fifo_underrun_reporting(dev, pipe, enable, old);
-       else if (IS_GEN8(dev) || IS_GEN9(dev))
+       else if (IS_GEN8(dev_priv) || IS_GEN9(dev_priv))
                broadwell_set_fifo_underrun_reporting(dev, pipe, enable);
 
        return old;
@@ -372,6 +372,8 @@ void intel_cpu_fifo_underrun_irq_handler(struct drm_i915_private *dev_priv,
        if (intel_set_cpu_fifo_underrun_reporting(dev_priv, pipe, false))
                DRM_ERROR("CPU pipe %c FIFO underrun\n",
                          pipe_name(pipe));
+
+       intel_fbc_handle_fifo_underrun_irq(dev_priv);
 }
 
 /**