[Intel-gfx] [PATCH 4/5] drm/i915: Simplify the uncleared FIFO underrun detection

Thomas Wood thomas.wood at intel.com
Wed May 21 16:13:15 CEST 2014


On 16 May 2014 17:40,  <ville.syrjala at linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Checking whether the error interrupt was enabled or not isn't really
> necessary when we check for uncleared FIFO underruns. If it was enabled
> we'll race with the interrupt handler a bit, but that seems OK as we
> still claim the interrupt.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>


checkpatch.pl complains that there are lines over 80 characters, but otherwise:

Reviewed-by: Thomas Wood <thomas.wood at intel.com>


> ---
>  drivers/gpu/drm/i915/i915_irq.c | 13 ++-----------
>  1 file changed, 2 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index 862964f..dd6e359 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -337,13 +337,9 @@ static void ivybridge_set_fifo_underrun_reporting(struct drm_device *dev,
>
>                 ironlake_enable_display_irq(dev_priv, DE_ERR_INT_IVB);
>         } else {
> -               bool was_enabled = !(I915_READ(DEIMR) & DE_ERR_INT_IVB);
> -
> -               /* Change the state _after_ we've read out the current one. */
>                 ironlake_disable_display_irq(dev_priv, DE_ERR_INT_IVB);
>
> -               if (!was_enabled &&
> -                   (I915_READ(GEN7_ERR_INT) & ERR_INT_FIFO_UNDERRUN(pipe))) {
> +               if (I915_READ(GEN7_ERR_INT) & ERR_INT_FIFO_UNDERRUN(pipe)) {
>                         DRM_ERROR("uncleared fifo underrun on pipe %c\n",
>                                   pipe_name(pipe));
>                 }
> @@ -421,14 +417,9 @@ static void cpt_set_fifo_underrun_reporting(struct drm_device *dev,
>
>                 ibx_enable_display_interrupt(dev_priv, SDE_ERROR_CPT);
>         } else {
> -               uint32_t tmp = I915_READ(SERR_INT);
> -               bool was_enabled = !(I915_READ(SDEIMR) & SDE_ERROR_CPT);
> -
> -               /* Change the state _after_ we've read out the current one. */
>                 ibx_disable_display_interrupt(dev_priv, SDE_ERROR_CPT);
>
> -               if (!was_enabled &&
> -                   (tmp & SERR_INT_TRANS_FIFO_UNDERRUN(pch_transcoder))) {
> +               if (I915_READ(SERR_INT) & SERR_INT_TRANS_FIFO_UNDERRUN(pch_transcoder)) {
>                         DRM_ERROR("uncleared pch fifo underrun on pch transcoder %c\n",
>                                   transcoder_name(pch_transcoder));
>                 }
> --
> 1.8.5.5
>



More information about the Intel-gfx mailing list