All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Always update the no_fbc_reason when disabling
@ 2018-01-25 22:41 Chris Wilson
  2018-01-25 23:12 ` ✗ Fi.CI.BAT: failure for " Patchwork
  2018-02-03 10:14 ` [PATCH] " Chris Wilson
  0 siblings, 2 replies; 5+ messages in thread
From: Chris Wilson @ 2018-01-25 22:41 UTC (permalink / raw)
  To: intel-gfx

Provide the reason why we call intel_fbc_deactivate() so that debugging
issues with FBC being delayed is clearer.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/intel_fbc.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c
index a8a8a80497a8..80682a418a70 100644
--- a/drivers/gpu/drm/i915/intel_fbc.c
+++ b/drivers/gpu/drm/i915/intel_fbc.c
@@ -492,7 +492,8 @@ static void intel_fbc_schedule_activation(struct intel_crtc *crtc)
 	schedule_work(&work->work);
 }
 
-static void intel_fbc_deactivate(struct drm_i915_private *dev_priv)
+static void intel_fbc_deactivate(struct drm_i915_private *dev_priv,
+				 const char *reason)
 {
 	struct intel_fbc *fbc = &dev_priv->fbc;
 
@@ -505,6 +506,8 @@ static void intel_fbc_deactivate(struct drm_i915_private *dev_priv)
 
 	if (fbc->active)
 		intel_fbc_hw_deactivate(dev_priv);
+
+	fbc->no_fbc_reason = reason;
 }
 
 static bool multiple_pipes_ok(struct intel_crtc *crtc,
@@ -923,6 +926,7 @@ void intel_fbc_pre_update(struct intel_crtc *crtc,
 {
 	struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
 	struct intel_fbc *fbc = &dev_priv->fbc;
+	const char *reason = "update pending";
 
 	if (!fbc_supported(dev_priv))
 		return;
@@ -930,7 +934,7 @@ void intel_fbc_pre_update(struct intel_crtc *crtc,
 	mutex_lock(&fbc->lock);
 
 	if (!multiple_pipes_ok(crtc, plane_state)) {
-		fbc->no_fbc_reason = "more than one pipe active";
+		reason = "more than one pipe active";
 		goto deactivate;
 	}
 
@@ -940,7 +944,7 @@ void intel_fbc_pre_update(struct intel_crtc *crtc,
 	intel_fbc_update_state_cache(crtc, crtc_state, plane_state);
 
 deactivate:
-	intel_fbc_deactivate(dev_priv);
+	intel_fbc_deactivate(dev_priv, reason);
 unlock:
 	mutex_unlock(&fbc->lock);
 }
@@ -973,9 +977,8 @@ static void __intel_fbc_post_update(struct intel_crtc *crtc)
 	    intel_fbc_reg_params_equal(&old_params, &fbc->params))
 		return;
 
-	intel_fbc_deactivate(dev_priv);
+	intel_fbc_deactivate(dev_priv, "FBC enabled (active or scheduled)");
 	intel_fbc_schedule_activation(crtc);
-	fbc->no_fbc_reason = "FBC enabled (active or scheduled)";
 }
 
 void intel_fbc_post_update(struct intel_crtc *crtc)
@@ -1016,7 +1019,7 @@ void intel_fbc_invalidate(struct drm_i915_private *dev_priv,
 	fbc->busy_bits |= intel_fbc_get_frontbuffer_bit(fbc) & frontbuffer_bits;
 
 	if (fbc->enabled && fbc->busy_bits)
-		intel_fbc_deactivate(dev_priv);
+		intel_fbc_deactivate(dev_priv, "frontbuffer write");
 
 	mutex_unlock(&fbc->lock);
 }
@@ -1246,7 +1249,7 @@ static void intel_fbc_underrun_work_fn(struct work_struct *work)
 	DRM_DEBUG_KMS("Disabling FBC due to FIFO underrun.\n");
 	fbc->underrun_detected = true;
 
-	intel_fbc_deactivate(dev_priv);
+	intel_fbc_deactivate(dev_priv, "FIFO underrun");
 out:
 	mutex_unlock(&fbc->lock);
 }
-- 
2.15.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* ✗ Fi.CI.BAT: failure for drm/i915: Always update the no_fbc_reason when disabling
  2018-01-25 22:41 [PATCH] drm/i915: Always update the no_fbc_reason when disabling Chris Wilson
@ 2018-01-25 23:12 ` Patchwork
  2018-02-03 10:14 ` [PATCH] " Chris Wilson
  1 sibling, 0 replies; 5+ messages in thread
From: Patchwork @ 2018-01-25 23:12 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Always update the no_fbc_reason when disabling
URL   : https://patchwork.freedesktop.org/series/37139/
State : failure

== Summary ==

Series 37139v1 drm/i915: Always update the no_fbc_reason when disabling
https://patchwork.freedesktop.org/api/1.0/series/37139/revisions/1/mbox/

Test gem_mmap_gtt:
        Subgroup basic-small-bo-tiledx:
                pass       -> FAIL       (fi-gdg-551) fdo#102575
Test gem_ringfill:
        Subgroup basic-default-hang:
                pass       -> DMESG-WARN (fi-pnv-d510) fdo#101600
Test kms_pipe_crc_basic:
        Subgroup suspend-read-crc-pipe-a:
                pass       -> INCOMPLETE (fi-skl-6260u)
        Subgroup suspend-read-crc-pipe-b:
                pass       -> INCOMPLETE (fi-snb-2520m) fdo#103713

fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575
fdo#101600 https://bugs.freedesktop.org/show_bug.cgi?id=101600
fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713

fi-bdw-5557u     total:288  pass:267  dwarn:0   dfail:0   fail:0   skip:21  time:422s
fi-bdw-gvtdvm    total:288  pass:264  dwarn:0   dfail:0   fail:0   skip:24  time:424s
fi-blb-e6850     total:288  pass:223  dwarn:1   dfail:0   fail:0   skip:64  time:373s
fi-bsw-n3050     total:288  pass:242  dwarn:0   dfail:0   fail:0   skip:46  time:480s
fi-bwr-2160      total:288  pass:183  dwarn:0   dfail:0   fail:0   skip:105 time:281s
fi-bxt-dsi       total:288  pass:258  dwarn:0   dfail:0   fail:0   skip:30  time:484s
fi-bxt-j4205     total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  time:483s
fi-byt-j1900     total:288  pass:253  dwarn:0   dfail:0   fail:0   skip:35  time:469s
fi-byt-n2820     total:288  pass:249  dwarn:0   dfail:0   fail:0   skip:39  time:457s
fi-cnl-y2        total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:531s
fi-elk-e7500     total:224  pass:168  dwarn:10  dfail:0   fail:0   skip:45 
fi-gdg-551       total:288  pass:179  dwarn:0   dfail:0   fail:1   skip:108 time:280s
fi-glk-1         total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  time:510s
fi-hsw-4770      total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:393s
fi-hsw-4770r     total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:403s
fi-ilk-650       total:288  pass:228  dwarn:0   dfail:0   fail:0   skip:60  time:418s
fi-ivb-3520m     total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  time:459s
fi-ivb-3770      total:288  pass:255  dwarn:0   dfail:0   fail:0   skip:33  time:413s
fi-kbl-7500u     total:288  pass:263  dwarn:1   dfail:0   fail:0   skip:24  time:460s
fi-kbl-7560u     total:288  pass:269  dwarn:0   dfail:0   fail:0   skip:19  time:502s
fi-kbl-7567u     total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  time:454s
fi-kbl-r         total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:502s
fi-pnv-d510      total:288  pass:222  dwarn:1   dfail:0   fail:0   skip:65  time:581s
fi-skl-6260u     total:244  pass:227  dwarn:0   dfail:0   fail:0   skip:16 
fi-skl-6600u     total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:509s
fi-skl-6700hq    total:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  time:530s
fi-skl-6700k2    total:288  pass:264  dwarn:0   dfail:0   fail:0   skip:24  time:482s
fi-skl-6770hq    total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  time:483s
fi-skl-guc       total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  time:418s
fi-skl-gvtdvm    total:288  pass:265  dwarn:0   dfail:0   fail:0   skip:23  time:431s
fi-snb-2520m     total:245  pass:211  dwarn:0   dfail:0   fail:0   skip:33 
fi-snb-2600      total:288  pass:248  dwarn:0   dfail:0   fail:0   skip:40  time:400s
Blacklisted hosts:
fi-cfl-s2        total:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  time:569s
fi-glk-dsi       total:288  pass:258  dwarn:0   dfail:0   fail:0   skip:30  time:474s

804d087465e907accca7a2631d8a9485729b9a48 drm-tip: 2018y-01m-25d-18h-22m-16s UTC integration manifest
0a1ee1b1396a drm/i915: Always update the no_fbc_reason when disabling

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7785/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] drm/i915: Always update the no_fbc_reason when disabling
  2018-01-25 22:41 [PATCH] drm/i915: Always update the no_fbc_reason when disabling Chris Wilson
  2018-01-25 23:12 ` ✗ Fi.CI.BAT: failure for " Patchwork
@ 2018-02-03 10:14 ` Chris Wilson
  2018-02-05 11:05   ` Jani Nikula
  1 sibling, 1 reply; 5+ messages in thread
From: Chris Wilson @ 2018-02-03 10:14 UTC (permalink / raw)
  To: intel-gfx

Quoting Chris Wilson (2018-01-25 22:41:22)
> Provide the reason why we call intel_fbc_deactivate() so that debugging
> issues with FBC being delayed is clearer.
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

Any takers?

> ---
>  drivers/gpu/drm/i915/intel_fbc.c | 17 ++++++++++-------
>  1 file changed, 10 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c
> index a8a8a80497a8..80682a418a70 100644
> --- a/drivers/gpu/drm/i915/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/intel_fbc.c
> @@ -492,7 +492,8 @@ static void intel_fbc_schedule_activation(struct intel_crtc *crtc)
>         schedule_work(&work->work);
>  }
>  
> -static void intel_fbc_deactivate(struct drm_i915_private *dev_priv)
> +static void intel_fbc_deactivate(struct drm_i915_private *dev_priv,
> +                                const char *reason)
>  {
>         struct intel_fbc *fbc = &dev_priv->fbc;
>  
> @@ -505,6 +506,8 @@ static void intel_fbc_deactivate(struct drm_i915_private *dev_priv)
>  
>         if (fbc->active)
>                 intel_fbc_hw_deactivate(dev_priv);
> +
> +       fbc->no_fbc_reason = reason;
>  }
>  
>  static bool multiple_pipes_ok(struct intel_crtc *crtc,
> @@ -923,6 +926,7 @@ void intel_fbc_pre_update(struct intel_crtc *crtc,
>  {
>         struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
>         struct intel_fbc *fbc = &dev_priv->fbc;
> +       const char *reason = "update pending";
>  
>         if (!fbc_supported(dev_priv))
>                 return;
> @@ -930,7 +934,7 @@ void intel_fbc_pre_update(struct intel_crtc *crtc,
>         mutex_lock(&fbc->lock);
>  
>         if (!multiple_pipes_ok(crtc, plane_state)) {
> -               fbc->no_fbc_reason = "more than one pipe active";
> +               reason = "more than one pipe active";
>                 goto deactivate;
>         }
>  
> @@ -940,7 +944,7 @@ void intel_fbc_pre_update(struct intel_crtc *crtc,
>         intel_fbc_update_state_cache(crtc, crtc_state, plane_state);
>  
>  deactivate:
> -       intel_fbc_deactivate(dev_priv);
> +       intel_fbc_deactivate(dev_priv, reason);
>  unlock:
>         mutex_unlock(&fbc->lock);
>  }
> @@ -973,9 +977,8 @@ static void __intel_fbc_post_update(struct intel_crtc *crtc)
>             intel_fbc_reg_params_equal(&old_params, &fbc->params))
>                 return;
>  
> -       intel_fbc_deactivate(dev_priv);
> +       intel_fbc_deactivate(dev_priv, "FBC enabled (active or scheduled)");
>         intel_fbc_schedule_activation(crtc);
> -       fbc->no_fbc_reason = "FBC enabled (active or scheduled)";
>  }
>  
>  void intel_fbc_post_update(struct intel_crtc *crtc)
> @@ -1016,7 +1019,7 @@ void intel_fbc_invalidate(struct drm_i915_private *dev_priv,
>         fbc->busy_bits |= intel_fbc_get_frontbuffer_bit(fbc) & frontbuffer_bits;
>  
>         if (fbc->enabled && fbc->busy_bits)
> -               intel_fbc_deactivate(dev_priv);
> +               intel_fbc_deactivate(dev_priv, "frontbuffer write");
>  
>         mutex_unlock(&fbc->lock);
>  }
> @@ -1246,7 +1249,7 @@ static void intel_fbc_underrun_work_fn(struct work_struct *work)
>         DRM_DEBUG_KMS("Disabling FBC due to FIFO underrun.\n");
>         fbc->underrun_detected = true;
>  
> -       intel_fbc_deactivate(dev_priv);
> +       intel_fbc_deactivate(dev_priv, "FIFO underrun");
>  out:
>         mutex_unlock(&fbc->lock);
>  }
> -- 
> 2.15.1
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] drm/i915: Always update the no_fbc_reason when disabling
  2018-02-03 10:14 ` [PATCH] " Chris Wilson
@ 2018-02-05 11:05   ` Jani Nikula
  2018-02-05 13:19     ` Chris Wilson
  0 siblings, 1 reply; 5+ messages in thread
From: Jani Nikula @ 2018-02-05 11:05 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx

On Sat, 03 Feb 2018, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> Quoting Chris Wilson (2018-01-25 22:41:22)
>> Provide the reason why we call intel_fbc_deactivate() so that debugging
>> issues with FBC being delayed is clearer.
>> 
>> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
>
> Any takers?

Reviewed-by: Jani Nikula <jani.nikula@intel.com>


>
>> ---
>>  drivers/gpu/drm/i915/intel_fbc.c | 17 ++++++++++-------
>>  1 file changed, 10 insertions(+), 7 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c
>> index a8a8a80497a8..80682a418a70 100644
>> --- a/drivers/gpu/drm/i915/intel_fbc.c
>> +++ b/drivers/gpu/drm/i915/intel_fbc.c
>> @@ -492,7 +492,8 @@ static void intel_fbc_schedule_activation(struct intel_crtc *crtc)
>>         schedule_work(&work->work);
>>  }
>>  
>> -static void intel_fbc_deactivate(struct drm_i915_private *dev_priv)
>> +static void intel_fbc_deactivate(struct drm_i915_private *dev_priv,
>> +                                const char *reason)
>>  {
>>         struct intel_fbc *fbc = &dev_priv->fbc;
>>  
>> @@ -505,6 +506,8 @@ static void intel_fbc_deactivate(struct drm_i915_private *dev_priv)
>>  
>>         if (fbc->active)
>>                 intel_fbc_hw_deactivate(dev_priv);
>> +
>> +       fbc->no_fbc_reason = reason;
>>  }
>>  
>>  static bool multiple_pipes_ok(struct intel_crtc *crtc,
>> @@ -923,6 +926,7 @@ void intel_fbc_pre_update(struct intel_crtc *crtc,
>>  {
>>         struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
>>         struct intel_fbc *fbc = &dev_priv->fbc;
>> +       const char *reason = "update pending";
>>  
>>         if (!fbc_supported(dev_priv))
>>                 return;
>> @@ -930,7 +934,7 @@ void intel_fbc_pre_update(struct intel_crtc *crtc,
>>         mutex_lock(&fbc->lock);
>>  
>>         if (!multiple_pipes_ok(crtc, plane_state)) {
>> -               fbc->no_fbc_reason = "more than one pipe active";
>> +               reason = "more than one pipe active";
>>                 goto deactivate;
>>         }
>>  
>> @@ -940,7 +944,7 @@ void intel_fbc_pre_update(struct intel_crtc *crtc,
>>         intel_fbc_update_state_cache(crtc, crtc_state, plane_state);
>>  
>>  deactivate:
>> -       intel_fbc_deactivate(dev_priv);
>> +       intel_fbc_deactivate(dev_priv, reason);
>>  unlock:
>>         mutex_unlock(&fbc->lock);
>>  }
>> @@ -973,9 +977,8 @@ static void __intel_fbc_post_update(struct intel_crtc *crtc)
>>             intel_fbc_reg_params_equal(&old_params, &fbc->params))
>>                 return;
>>  
>> -       intel_fbc_deactivate(dev_priv);
>> +       intel_fbc_deactivate(dev_priv, "FBC enabled (active or scheduled)");
>>         intel_fbc_schedule_activation(crtc);
>> -       fbc->no_fbc_reason = "FBC enabled (active or scheduled)";
>>  }
>>  
>>  void intel_fbc_post_update(struct intel_crtc *crtc)
>> @@ -1016,7 +1019,7 @@ void intel_fbc_invalidate(struct drm_i915_private *dev_priv,
>>         fbc->busy_bits |= intel_fbc_get_frontbuffer_bit(fbc) & frontbuffer_bits;
>>  
>>         if (fbc->enabled && fbc->busy_bits)
>> -               intel_fbc_deactivate(dev_priv);
>> +               intel_fbc_deactivate(dev_priv, "frontbuffer write");
>>  
>>         mutex_unlock(&fbc->lock);
>>  }
>> @@ -1246,7 +1249,7 @@ static void intel_fbc_underrun_work_fn(struct work_struct *work)
>>         DRM_DEBUG_KMS("Disabling FBC due to FIFO underrun.\n");
>>         fbc->underrun_detected = true;
>>  
>> -       intel_fbc_deactivate(dev_priv);
>> +       intel_fbc_deactivate(dev_priv, "FIFO underrun");
>>  out:
>>         mutex_unlock(&fbc->lock);
>>  }
>> -- 
>> 2.15.1
>> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] drm/i915: Always update the no_fbc_reason when disabling
  2018-02-05 11:05   ` Jani Nikula
@ 2018-02-05 13:19     ` Chris Wilson
  0 siblings, 0 replies; 5+ messages in thread
From: Chris Wilson @ 2018-02-05 13:19 UTC (permalink / raw)
  To: Jani Nikula, intel-gfx

Quoting Jani Nikula (2018-02-05 11:05:09)
> On Sat, 03 Feb 2018, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> > Quoting Chris Wilson (2018-01-25 22:41:22)
> >> Provide the reason why we call intel_fbc_deactivate() so that debugging
> >> issues with FBC being delayed is clearer.
> >> 
> >> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> >
> > Any takers?
> 
> Reviewed-by: Jani Nikula <jani.nikula@intel.com>

Thanks, now for the next phase and see what is causing kms_frontbuffer*
to misbehave.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-02-05 13:19 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-25 22:41 [PATCH] drm/i915: Always update the no_fbc_reason when disabling Chris Wilson
2018-01-25 23:12 ` ✗ Fi.CI.BAT: failure for " Patchwork
2018-02-03 10:14 ` [PATCH] " Chris Wilson
2018-02-05 11:05   ` Jani Nikula
2018-02-05 13:19     ` Chris Wilson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.