[Intel-gfx] [PATCH 33/35] hack: Don't disable underrun reporting on the first error on ILK/SNB/IVB

Paulo Zanoni przanoni at gmail.com
Fri Jul 5 19:19:22 CEST 2013


2013/7/5  <ville.syrjala at linux.intel.com>:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Don't want to lose them in the noise. Just let them happen.

When I was experimenting with this, I noticed that when we get
underruns, we get thousands of underruns per second, until we fix the
condition that is causing the underruns. With this we'll get tons and
tons and tons of interrupts and really flood dmesg.

> ---
>  drivers/gpu/drm/i915/i915_irq.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index ee5127f..10554bf 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -1102,15 +1102,15 @@ static void ivb_err_int_handler(struct drm_device *dev)
>                 DRM_ERROR("Poison interrupt\n");
>
>         if (err_int & ERR_INT_FIFO_UNDERRUN_A)
> -               if (intel_set_cpu_fifo_underrun_reporting(dev, PIPE_A, false))
> +               if (intel_set_cpu_fifo_underrun_reporting(dev, PIPE_A, true))
>                         DRM_DEBUG_DRIVER("Pipe A FIFO underrun\n");
>
>         if (err_int & ERR_INT_FIFO_UNDERRUN_B)
> -               if (intel_set_cpu_fifo_underrun_reporting(dev, PIPE_B, false))
> +               if (intel_set_cpu_fifo_underrun_reporting(dev, PIPE_B, true))
>                         DRM_DEBUG_DRIVER("Pipe B FIFO underrun\n");
>
>         if (err_int & ERR_INT_FIFO_UNDERRUN_C)
> -               if (intel_set_cpu_fifo_underrun_reporting(dev, PIPE_C, false))
> +               if (intel_set_cpu_fifo_underrun_reporting(dev, PIPE_C, true))
>                         DRM_DEBUG_DRIVER("Pipe C FIFO underrun\n");
>
>         I915_WRITE(GEN7_ERR_INT, err_int);
> @@ -1359,11 +1359,11 @@ static irqreturn_t ironlake_irq_handler(int irq, void *arg)
>                 DRM_ERROR("Poison interrupt\n");
>
>         if (de_iir & DE_PIPEA_FIFO_UNDERRUN)
> -               if (intel_set_cpu_fifo_underrun_reporting(dev, PIPE_A, false))
> +               if (intel_set_cpu_fifo_underrun_reporting(dev, PIPE_A, true))
>                         DRM_DEBUG_DRIVER("Pipe A FIFO underrun\n");
>
>         if (de_iir & DE_PIPEB_FIFO_UNDERRUN)
> -               if (intel_set_cpu_fifo_underrun_reporting(dev, PIPE_B, false))
> +               if (intel_set_cpu_fifo_underrun_reporting(dev, PIPE_B, true))
>                         DRM_DEBUG_DRIVER("Pipe B FIFO underrun\n");
>
>         if (de_iir & DE_PLANEA_FLIP_DONE) {
> --
> 1.8.1.5
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx



-- 
Paulo Zanoni



More information about the Intel-gfx mailing list