All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle"
@ 2019-02-27 20:46 Chris Wilson
  2019-02-27 20:46 ` [PATCH 2/2] drm/i915: Report engines are idle if already parked Chris Wilson
                   ` (6 more replies)
  0 siblings, 7 replies; 11+ messages in thread
From: Chris Wilson @ 2019-02-27 20:46 UTC (permalink / raw)
  To: intel-gfx; +Cc: Mika Kuoppala

This reverts commit 0b702dca26580e3bbfbbaf22dfc29280b6263414.

CI reports that this is not as reliable as it first appears, with
failures starting to sporadically occur in selftests.

Fixes: 0b702dca2658 ("drm/i915: Avoid waking the engines just to check if they are idle")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
---
 drivers/gpu/drm/i915/intel_engine_cs.c | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
index 4f244019560d..b7b626195eda 100644
--- a/drivers/gpu/drm/i915/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/intel_engine_cs.c
@@ -968,7 +968,6 @@ static bool ring_is_idle(struct intel_engine_cs *engine)
 {
 	struct drm_i915_private *dev_priv = engine->i915;
 	intel_wakeref_t wakeref;
-	unsigned long flags;
 	bool idle = true;
 
 	if (I915_SELFTEST_ONLY(!engine->mmio_base))
@@ -979,19 +978,15 @@ static bool ring_is_idle(struct intel_engine_cs *engine)
 	if (!wakeref)
 		return true;
 
-	spin_lock_irqsave(&dev_priv->uncore.lock, flags);
+	/* First check that no commands are left in the ring */
+	if ((I915_READ_HEAD(engine) & HEAD_ADDR) !=
+	    (I915_READ_TAIL(engine) & TAIL_ADDR))
+		idle = false;
 
-	/*
-	 * Check that no commands are left in the ring.
-	 *
-	 * If the engine is not awake, both reads return 0 as we do so without
-	 * forcewake.
-	 */
-	if ((I915_READ_FW(RING_HEAD(engine->mmio_base)) & HEAD_ADDR) !=
-	    (I915_READ_FW(RING_TAIL(engine->mmio_base)) & TAIL_ADDR))
+	/* No bit for gen2, so assume the CS parser is idle */
+	if (INTEL_GEN(dev_priv) > 2 && !(I915_READ_MODE(engine) & MODE_IDLE))
 		idle = false;
 
-	spin_unlock_irqrestore(&dev_priv->uncore.lock, flags);
 	intel_runtime_pm_put(dev_priv, wakeref);
 
 	return idle;
-- 
2.20.1

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

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

* [PATCH 2/2] drm/i915: Report engines are idle if already parked
  2019-02-27 20:46 [PATCH 1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" Chris Wilson
@ 2019-02-27 20:46 ` Chris Wilson
  2019-02-27 21:41   ` [PATCH] " Chris Wilson
  2019-02-27 21:21 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" Patchwork
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 11+ messages in thread
From: Chris Wilson @ 2019-02-27 20:46 UTC (permalink / raw)
  To: intel-gfx; +Cc: Mika Kuoppala

If we have parked, then we must have passed an idleness test and still
be idle. We chose not to use this shortcut in the past so that we could
use the idleness test at any time and inspect HW, however some HW like
Sandybridge doesn't like being woken up frivolously so avoid doing so.

References: 0b702dca2658 ("drm/i915: Avoid waking the engines just to check if they are idle")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
---
 drivers/gpu/drm/i915/intel_engine_cs.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
index b7b626195eda..7160162ae128 100644
--- a/drivers/gpu/drm/i915/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/intel_engine_cs.c
@@ -1045,6 +1045,10 @@ bool intel_engines_are_idle(struct drm_i915_private *dev_priv)
 	if (i915_reset_failed(dev_priv))
 		return true;
 
+	/* Already parked (and passed an idleness test); must still be idle */
+	if (!READ_ONCE(dev_priv->gt.awake))
+		return true;
+
 	for_each_engine(engine, dev_priv, id) {
 		if (!intel_engine_is_idle(engine))
 			return false;
-- 
2.20.1

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

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

* ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle"
  2019-02-27 20:46 [PATCH 1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" Chris Wilson
  2019-02-27 20:46 ` [PATCH 2/2] drm/i915: Report engines are idle if already parked Chris Wilson
@ 2019-02-27 21:21 ` Patchwork
  2019-02-27 21:49 ` ✓ Fi.CI.BAT: success " Patchwork
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2019-02-27 21:21 UTC (permalink / raw)
  To: intel-gfx

== Series Details ==

Series: series starting with [1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle"
URL   : https://patchwork.freedesktop.org/series/57311/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
74f5ddaa45e2 Revert "drm/i915: Avoid waking the engines just to check if they are idle"
644e77c6b75e drm/i915: Report engines are idle if already parked
-:11: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#11: 
References: 0b702dca2658 ("drm/i915: Avoid waking the engines just to check if they are idle")

-:11: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit 0b702dca2658 ("drm/i915: Avoid waking the engines just to check if they are idle")'
#11: 
References: 0b702dca2658 ("drm/i915: Avoid waking the engines just to check if they are idle")

total: 1 errors, 1 warnings, 0 checks, 10 lines checked

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

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

* [PATCH] drm/i915: Report engines are idle if already parked
  2019-02-27 20:46 ` [PATCH 2/2] drm/i915: Report engines are idle if already parked Chris Wilson
@ 2019-02-27 21:41   ` Chris Wilson
  2019-02-28  9:08     ` Mika Kuoppala
  0 siblings, 1 reply; 11+ messages in thread
From: Chris Wilson @ 2019-02-27 21:41 UTC (permalink / raw)
  To: intel-gfx; +Cc: Mika Kuoppala

If we have parked, then we must have passed an idleness test and still
be idle. We chose not to use this shortcut in the past so that we could
use the idleness test at any time and inspect HW. However, some HW like
Sandybridge, doesn't like being woken up frivolously, so avoid doing so.

References: 0b702dca2658 ("drm/i915: Avoid waking the engines just to check if they are idle")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
---
 drivers/gpu/drm/i915/intel_engine_cs.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
index b7b626195eda..96a38f411bc7 100644
--- a/drivers/gpu/drm/i915/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/intel_engine_cs.c
@@ -1033,7 +1033,7 @@ bool intel_engine_is_idle(struct intel_engine_cs *engine)
 	return ring_is_idle(engine);
 }
 
-bool intel_engines_are_idle(struct drm_i915_private *dev_priv)
+bool intel_engines_are_idle(struct drm_i915_private *i915)
 {
 	struct intel_engine_cs *engine;
 	enum intel_engine_id id;
@@ -1042,10 +1042,14 @@ bool intel_engines_are_idle(struct drm_i915_private *dev_priv)
 	 * If the driver is wedged, HW state may be very inconsistent and
 	 * report that it is still busy, even though we have stopped using it.
 	 */
-	if (i915_reset_failed(dev_priv))
+	if (i915_reset_failed(i915))
 		return true;
 
-	for_each_engine(engine, dev_priv, id) {
+	/* Already parked (and passed an idleness test); must still be idle */
+	if (!READ_ONCE(i915->gt.awake))
+		return true;
+
+	for_each_engine(engine, i915, id) {
 		if (!intel_engine_is_idle(engine))
 			return false;
 	}
-- 
2.20.1

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

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

* ✓ Fi.CI.BAT: success for series starting with [1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle"
  2019-02-27 20:46 [PATCH 1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" Chris Wilson
  2019-02-27 20:46 ` [PATCH 2/2] drm/i915: Report engines are idle if already parked Chris Wilson
  2019-02-27 21:21 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" Patchwork
@ 2019-02-27 21:49 ` Patchwork
  2019-02-27 21:52 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" (rev2) Patchwork
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2019-02-27 21:49 UTC (permalink / raw)
  To: intel-gfx

== Series Details ==

Series: series starting with [1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle"
URL   : https://patchwork.freedesktop.org/series/57311/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5666 -> Patchwork_12320
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/57311/revisions/1/

Known issues
------------

  Here are the changes found in Patchwork_12320 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live_contexts:
    - fi-icl-u2:          NOTRUN -> DMESG-FAIL [fdo#108569]

  * igt@kms_busy@basic-flip-a:
    - fi-gdg-551:         PASS -> FAIL [fdo#103182]

  * igt@kms_psr@primary_mmap_gtt:
    - fi-blb-e6850:       NOTRUN -> SKIP [fdo#109271] +27

  
#### Possible fixes ####

  * igt@i915_selftest@live_requests:
    - fi-icl-u2:          INCOMPLETE [fdo#109644] -> PASS

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
    - fi-blb-e6850:       INCOMPLETE [fdo#107718] -> PASS

  * igt@prime_vgem@basic-fence-flip:
    - fi-gdg-551:         FAIL [fdo#103182] -> PASS

  
  [fdo#103182]: https://bugs.freedesktop.org/show_bug.cgi?id=103182
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109644]: https://bugs.freedesktop.org/show_bug.cgi?id=109644


Participating hosts (44 -> 38)
------------------------------

  Missing    (6): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-icl-u3 


Build changes
-------------

    * Linux: CI_DRM_5666 -> Patchwork_12320

  CI_DRM_5666: 358ab8acaabef3cef2a7ce9e5dd7c4196a0c30fc @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4860: b79007f9c575a538a63ce9301a890ed9e1a45f35 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12320: 644e77c6b75e2528e3f6ce75266f1afd7a1175ff @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

644e77c6b75e drm/i915: Report engines are idle if already parked
74f5ddaa45e2 Revert "drm/i915: Avoid waking the engines just to check if they are idle"

== Logs ==

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

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

* ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" (rev2)
  2019-02-27 20:46 [PATCH 1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" Chris Wilson
                   ` (2 preceding siblings ...)
  2019-02-27 21:49 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2019-02-27 21:52 ` Patchwork
  2019-02-27 22:21 ` ✓ Fi.CI.BAT: success " Patchwork
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2019-02-27 21:52 UTC (permalink / raw)
  To: intel-gfx

== Series Details ==

Series: series starting with [1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" (rev2)
URL   : https://patchwork.freedesktop.org/series/57311/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
35705bcdfb67 Revert "drm/i915: Avoid waking the engines just to check if they are idle"
576b1db10edd drm/i915: Report engines are idle if already parked
-:11: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#11: 
References: 0b702dca2658 ("drm/i915: Avoid waking the engines just to check if they are idle")

-:11: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit 0b702dca2658 ("drm/i915: Avoid waking the engines just to check if they are idle")'
#11: 
References: 0b702dca2658 ("drm/i915: Avoid waking the engines just to check if they are idle")

total: 1 errors, 1 warnings, 0 checks, 24 lines checked

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

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

* ✓ Fi.CI.BAT: success for series starting with [1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" (rev2)
  2019-02-27 20:46 [PATCH 1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" Chris Wilson
                   ` (3 preceding siblings ...)
  2019-02-27 21:52 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" (rev2) Patchwork
@ 2019-02-27 22:21 ` Patchwork
  2019-02-27 23:38 ` ✓ Fi.CI.IGT: " Patchwork
  2019-02-28  9:01 ` [PATCH 1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" Mika Kuoppala
  6 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2019-02-27 22:21 UTC (permalink / raw)
  To: intel-gfx

== Series Details ==

Series: series starting with [1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" (rev2)
URL   : https://patchwork.freedesktop.org/series/57311/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5666 -> Patchwork_12321
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/57311/revisions/2/

Known issues
------------

  Here are the changes found in Patchwork_12321 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_suspend@basic-s3:
    - fi-blb-e6850:       PASS -> INCOMPLETE [fdo#107718]

  * igt@i915_selftest@live_contexts:
    - fi-icl-u2:          NOTRUN -> DMESG-FAIL [fdo#108569]

  * igt@kms_busy@basic-flip-b:
    - fi-gdg-551:         PASS -> FAIL [fdo#103182]

  
#### Possible fixes ####

  * igt@i915_selftest@live_requests:
    - fi-icl-u2:          INCOMPLETE [fdo#109644] -> PASS

  * igt@prime_vgem@basic-fence-flip:
    - fi-gdg-551:         FAIL [fdo#103182] -> PASS

  
  [fdo#103182]: https://bugs.freedesktop.org/show_bug.cgi?id=103182
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#109644]: https://bugs.freedesktop.org/show_bug.cgi?id=109644


Participating hosts (44 -> 35)
------------------------------

  Missing    (9): fi-hsw-4770r fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-snb-2520m fi-ctg-p8600 fi-pnv-d510 fi-icl-y 


Build changes
-------------

    * Linux: CI_DRM_5666 -> Patchwork_12321

  CI_DRM_5666: 358ab8acaabef3cef2a7ce9e5dd7c4196a0c30fc @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4860: b79007f9c575a538a63ce9301a890ed9e1a45f35 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12321: 576b1db10eddf8a19e936787f5fc22e83aecd631 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

576b1db10edd drm/i915: Report engines are idle if already parked
35705bcdfb67 Revert "drm/i915: Avoid waking the engines just to check if they are idle"

== Logs ==

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

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

* ✓ Fi.CI.IGT: success for series starting with [1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" (rev2)
  2019-02-27 20:46 [PATCH 1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" Chris Wilson
                   ` (4 preceding siblings ...)
  2019-02-27 22:21 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2019-02-27 23:38 ` Patchwork
  2019-02-28  9:01 ` [PATCH 1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" Mika Kuoppala
  6 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2019-02-27 23:38 UTC (permalink / raw)
  To: intel-gfx

== Series Details ==

Series: series starting with [1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" (rev2)
URL   : https://patchwork.freedesktop.org/series/57311/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5666_full -> Patchwork_12321_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Known issues
------------

  Here are the changes found in Patchwork_12321_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_bad_reloc@negative-reloc-bsd2:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109276] +7

  * igt@gem_bad_reloc@negative-reloc-lut-blt:
    - shard-snb:          NOTRUN -> SKIP [fdo#109271] +34

  * igt@gem_exec_params@no-vebox:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109283]

  * igt@gem_pwrite@huge-gtt-forwards:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109290]

  * igt@i915_pm_rpm@system-suspend:
    - shard-iclb:         PASS -> DMESG-WARN [fdo#107724] +4

  * igt@i915_pm_rpm@system-suspend-execbuf:
    - shard-iclb:         PASS -> INCOMPLETE [fdo#107713] / [fdo#108840]

  * igt@i915_pm_rpm@universal-planes-dpms:
    - shard-skl:          PASS -> INCOMPLETE [fdo#107807]

  * igt@i915_query@query-topology-known-pci-ids:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109303]

  * igt@kms_busy@extended-modeset-hang-newfb-render-b:
    - shard-skl:          PASS -> DMESG-WARN [fdo#107956]

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a:
    - shard-hsw:          PASS -> DMESG-WARN [fdo#107956]

  * igt@kms_busy@extended-modeset-hang-oldfb-render-d:
    - shard-skl:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +5

  * igt@kms_busy@extended-modeset-hang-oldfb-render-e:
    - shard-kbl:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +4

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a:
    - shard-iclb:         NOTRUN -> DMESG-WARN [fdo#107956]
    - shard-apl:          PASS -> DMESG-WARN [fdo#107956]

  * igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
    - shard-glk:          PASS -> FAIL [fdo#108145]
    - shard-iclb:         NOTRUN -> FAIL [fdo#107725] +1

  * igt@kms_ccs@pipe-c-missing-ccs-buffer:
    - shard-apl:          NOTRUN -> SKIP [fdo#109271] +29

  * igt@kms_chamelium@hdmi-edid-read:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109284] +1

  * igt@kms_color@pipe-a-degamma:
    - shard-apl:          PASS -> FAIL [fdo#104782] / [fdo#108145]

  * igt@kms_concurrent@pipe-f:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109278] +1

  * igt@kms_cursor_crc@cursor-128x128-dpms:
    - shard-iclb:         NOTRUN -> FAIL [fdo#103232]

  * igt@kms_cursor_crc@cursor-128x128-random:
    - shard-apl:          PASS -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-256x85-sliding:
    - shard-apl:          NOTRUN -> FAIL [fdo#103232] +1

  * igt@kms_cursor_legacy@cursora-vs-flipb-legacy:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109274] +1

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
    - shard-skl:          PASS -> FAIL [fdo#102670]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move:
    - shard-iclb:         NOTRUN -> FAIL [fdo#103167]
    - shard-glk:          PASS -> FAIL [fdo#103167] +3

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-gtt:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109280] +8

  * igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-mmap-wc:
    - shard-kbl:          NOTRUN -> SKIP [fdo#109271] +59

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-move:
    - shard-iclb:         PASS -> FAIL [fdo#103167] +3

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-move:
    - shard-skl:          NOTRUN -> SKIP [fdo#109271] +68

  * igt@kms_plane@pixel-format-pipe-c-planes-source-clamping:
    - shard-glk:          PASS -> FAIL [fdo#108948]

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
    - shard-skl:          PASS -> INCOMPLETE [fdo#104108]

  * igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
    - shard-skl:          NOTRUN -> FAIL [fdo#108145] +2

  * igt@kms_plane_alpha_blend@pipe-c-alpha-7efc:
    - shard-kbl:          NOTRUN -> FAIL [fdo#108145] / [fdo#108590]

  * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max:
    - shard-kbl:          NOTRUN -> FAIL [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
    - shard-snb:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +1

  * igt@kms_plane_multiple@atomic-pipe-a-tiling-x:
    - shard-apl:          PASS -> FAIL [fdo#103166] +1

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-yf:
    - shard-iclb:         PASS -> FAIL [fdo#103166] +2

  * igt@kms_plane_multiple@atomic-pipe-c-tiling-x:
    - shard-glk:          PASS -> FAIL [fdo#103166]

  * igt@kms_psr@psr2_primary_mmap_cpu:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109441] +1

  * igt@kms_rotation_crc@multiplane-rotation-cropping-bottom:
    - shard-kbl:          PASS -> DMESG-FAIL [fdo#105763]

  * igt@kms_rotation_crc@multiplane-rotation-cropping-top:
    - shard-kbl:          PASS -> FAIL [fdo#109016]

  * igt@kms_setmode@basic:
    - shard-apl:          PASS -> FAIL [fdo#99912]

  * igt@prime_udl:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109291] +1

  
#### Possible fixes ####

  * igt@gem_ctx_isolation@rcs0-s3:
    - shard-apl:          INCOMPLETE [fdo#103927] -> PASS

  * igt@gem_exec_suspend@basic-s3:
    - shard-iclb:         INCOMPLETE [fdo#107713] -> PASS

  * igt@i915_pm_rpm@basic-rte:
    - shard-iclb:         DMESG-WARN [fdo#107724] -> PASS +4

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a:
    - shard-iclb:         DMESG-WARN [fdo#107956] -> PASS

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-c:
    - shard-glk:          DMESG-WARN [fdo#107956] -> PASS

  * igt@kms_cursor_crc@cursor-size-change:
    - shard-glk:          FAIL [fdo#103232] -> PASS
    - shard-apl:          FAIL [fdo#103232] -> PASS

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
    - shard-glk:          FAIL [fdo#104873] -> PASS

  * igt@kms_draw_crc@draw-method-xrgb8888-mmap-wc-ytiled:
    - shard-glk:          FAIL [fdo#103184] -> PASS

  * igt@kms_flip@flip-vs-suspend:
    - shard-skl:          INCOMPLETE [fdo#107773] / [fdo#109507] -> PASS

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-pwrite:
    - shard-apl:          FAIL [fdo#103167] -> PASS +1

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-onoff:
    - shard-glk:          FAIL [fdo#103167] -> PASS +1

  * igt@kms_frontbuffer_tracking@fbc-1p-rte:
    - shard-apl:          FAIL [fdo#103167] / [fdo#105682] -> PASS

  * igt@kms_frontbuffer_tracking@fbcpsr-tilingchange:
    - shard-iclb:         FAIL -> PASS +7

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-wc:
    - shard-iclb:         FAIL [fdo#103167] -> PASS

  * igt@kms_plane@pixel-format-pipe-c-planes-source-clamping:
    - shard-apl:          FAIL [fdo#108948] -> PASS

  * igt@kms_plane@plane-position-covered-pipe-b-planes:
    - shard-glk:          FAIL [fdo#103166] -> PASS

  * igt@kms_plane_multiple@atomic-pipe-c-tiling-none:
    - shard-iclb:         FAIL [fdo#103166] -> PASS
    - shard-apl:          FAIL [fdo#103166] -> PASS

  * igt@kms_psr@sprite_blt:
    - shard-iclb:         FAIL [fdo#107383] -> PASS

  * igt@kms_rotation_crc@multiplane-rotation:
    - shard-kbl:          DMESG-FAIL [fdo#105763] -> PASS

  * igt@kms_sysfs_edid_timing:
    - shard-iclb:         FAIL [fdo#100047] -> PASS

  * igt@kms_vblank@pipe-c-ts-continuation-modeset:
    - shard-apl:          FAIL [fdo#104894] -> PASS

  * igt@tools_test@tools_test:
    - shard-hsw:          SKIP [fdo#109271] -> PASS

  
#### Warnings ####

  * igt@i915_pm_backlight@fade_with_suspend:
    - shard-iclb:         FAIL [fdo#107847] -> DMESG-FAIL [fdo#107724] / [fdo#107847]

  * igt@kms_chamelium@hdmi-cmp-yu12:
    - shard-apl:          SKIP [fdo#109271] -> INCOMPLETE [fdo#103927]

  * igt@kms_cursor_crc@cursor-256x256-suspend:
    - shard-iclb:         INCOMPLETE [fdo#107713] -> FAIL [fdo#103232]

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#100047]: https://bugs.freedesktop.org/show_bug.cgi?id=100047
  [fdo#102670]: https://bugs.freedesktop.org/show_bug.cgi?id=102670
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103184]: https://bugs.freedesktop.org/show_bug.cgi?id=103184
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108
  [fdo#104782]: https://bugs.freedesktop.org/show_bug.cgi?id=104782
  [fdo#104873]: https://bugs.freedesktop.org/show_bug.cgi?id=104873
  [fdo#104894]: https://bugs.freedesktop.org/show_bug.cgi?id=104894
  [fdo#105682]: https://bugs.freedesktop.org/show_bug.cgi?id=105682
  [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
  [fdo#107383]: https://bugs.freedesktop.org/show_bug.cgi?id=107383
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#107725]: https://bugs.freedesktop.org/show_bug.cgi?id=107725
  [fdo#107773]: https://bugs.freedesktop.org/show_bug.cgi?id=107773
  [fdo#107807]: https://bugs.freedesktop.org/show_bug.cgi?id=107807
  [fdo#107847]: https://bugs.freedesktop.org/show_bug.cgi?id=107847
  [fdo#107956]: https://bugs.freedesktop.org/show_bug.cgi?id=107956
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108590]: https://bugs.freedesktop.org/show_bug.cgi?id=108590
  [fdo#108840]: https://bugs.freedesktop.org/show_bug.cgi?id=108840
  [fdo#108948]: https://bugs.freedesktop.org/show_bug.cgi?id=108948
  [fdo#109016]: https://bugs.freedesktop.org/show_bug.cgi?id=109016
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109290]: https://bugs.freedesktop.org/show_bug.cgi?id=109290
  [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
  [fdo#109303]: https://bugs.freedesktop.org/show_bug.cgi?id=109303
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109507]: https://bugs.freedesktop.org/show_bug.cgi?id=109507
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (7 -> 7)
------------------------------

  No changes in participating hosts


Build changes
-------------

    * Linux: CI_DRM_5666 -> Patchwork_12321

  CI_DRM_5666: 358ab8acaabef3cef2a7ce9e5dd7c4196a0c30fc @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4860: b79007f9c575a538a63ce9301a890ed9e1a45f35 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12321: 576b1db10eddf8a19e936787f5fc22e83aecd631 @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

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

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

* Re: [PATCH 1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle"
  2019-02-27 20:46 [PATCH 1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" Chris Wilson
                   ` (5 preceding siblings ...)
  2019-02-27 23:38 ` ✓ Fi.CI.IGT: " Patchwork
@ 2019-02-28  9:01 ` Mika Kuoppala
  6 siblings, 0 replies; 11+ messages in thread
From: Mika Kuoppala @ 2019-02-28  9:01 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx

Chris Wilson <chris@chris-wilson.co.uk> writes:

> This reverts commit 0b702dca26580e3bbfbbaf22dfc29280b6263414.
>
> CI reports that this is not as reliable as it first appears, with
> failures starting to sporadically occur in selftests.
>
> Fixes: 0b702dca2658 ("drm/i915: Avoid waking the engines just to check if they are idle")
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala@intel.com>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>

Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>

> ---
>  drivers/gpu/drm/i915/intel_engine_cs.c | 17 ++++++-----------
>  1 file changed, 6 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
> index 4f244019560d..b7b626195eda 100644
> --- a/drivers/gpu/drm/i915/intel_engine_cs.c
> +++ b/drivers/gpu/drm/i915/intel_engine_cs.c
> @@ -968,7 +968,6 @@ static bool ring_is_idle(struct intel_engine_cs *engine)
>  {
>  	struct drm_i915_private *dev_priv = engine->i915;
>  	intel_wakeref_t wakeref;
> -	unsigned long flags;
>  	bool idle = true;
>  
>  	if (I915_SELFTEST_ONLY(!engine->mmio_base))
> @@ -979,19 +978,15 @@ static bool ring_is_idle(struct intel_engine_cs *engine)
>  	if (!wakeref)
>  		return true;
>  
> -	spin_lock_irqsave(&dev_priv->uncore.lock, flags);
> +	/* First check that no commands are left in the ring */
> +	if ((I915_READ_HEAD(engine) & HEAD_ADDR) !=
> +	    (I915_READ_TAIL(engine) & TAIL_ADDR))
> +		idle = false;
>  
> -	/*
> -	 * Check that no commands are left in the ring.
> -	 *
> -	 * If the engine is not awake, both reads return 0 as we do so without
> -	 * forcewake.
> -	 */
> -	if ((I915_READ_FW(RING_HEAD(engine->mmio_base)) & HEAD_ADDR) !=
> -	    (I915_READ_FW(RING_TAIL(engine->mmio_base)) & TAIL_ADDR))
> +	/* No bit for gen2, so assume the CS parser is idle */
> +	if (INTEL_GEN(dev_priv) > 2 && !(I915_READ_MODE(engine) & MODE_IDLE))
>  		idle = false;
>  
> -	spin_unlock_irqrestore(&dev_priv->uncore.lock, flags);
>  	intel_runtime_pm_put(dev_priv, wakeref);
>  
>  	return idle;
> -- 
> 2.20.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm/i915: Report engines are idle if already parked
  2019-02-27 21:41   ` [PATCH] " Chris Wilson
@ 2019-02-28  9:08     ` Mika Kuoppala
  2019-02-28  9:17       ` Chris Wilson
  0 siblings, 1 reply; 11+ messages in thread
From: Mika Kuoppala @ 2019-02-28  9:08 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx

Chris Wilson <chris@chris-wilson.co.uk> writes:

> If we have parked, then we must have passed an idleness test and still
> be idle. We chose not to use this shortcut in the past so that we could
> use the idleness test at any time and inspect HW. However, some HW like
> Sandybridge, doesn't like being woken up frivolously, so avoid doing so.
>
> References: 0b702dca2658 ("drm/i915: Avoid waking the engines just to check if they are idle")
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala@intel.com>

Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>

> ---
>  drivers/gpu/drm/i915/intel_engine_cs.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
> index b7b626195eda..96a38f411bc7 100644
> --- a/drivers/gpu/drm/i915/intel_engine_cs.c
> +++ b/drivers/gpu/drm/i915/intel_engine_cs.c
> @@ -1033,7 +1033,7 @@ bool intel_engine_is_idle(struct intel_engine_cs *engine)
>  	return ring_is_idle(engine);
>  }
>  
> -bool intel_engines_are_idle(struct drm_i915_private *dev_priv)
> +bool intel_engines_are_idle(struct drm_i915_private *i915)
>  {
>  	struct intel_engine_cs *engine;
>  	enum intel_engine_id id;
> @@ -1042,10 +1042,14 @@ bool intel_engines_are_idle(struct drm_i915_private *dev_priv)
>  	 * If the driver is wedged, HW state may be very inconsistent and
>  	 * report that it is still busy, even though we have stopped using it.
>  	 */
> -	if (i915_reset_failed(dev_priv))
> +	if (i915_reset_failed(i915))
>  		return true;
>  
> -	for_each_engine(engine, dev_priv, id) {
> +	/* Already parked (and passed an idleness test); must still be idle */
> +	if (!READ_ONCE(i915->gt.awake))
> +		return true;
> +
> +	for_each_engine(engine, i915, id) {
>  		if (!intel_engine_is_idle(engine))
>  			return false;
>  	}
> -- 
> 2.20.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm/i915: Report engines are idle if already parked
  2019-02-28  9:08     ` Mika Kuoppala
@ 2019-02-28  9:17       ` Chris Wilson
  0 siblings, 0 replies; 11+ messages in thread
From: Chris Wilson @ 2019-02-28  9:17 UTC (permalink / raw)
  To: Mika Kuoppala, intel-gfx

Quoting Mika Kuoppala (2019-02-28 09:08:21)
> Chris Wilson <chris@chris-wilson.co.uk> writes:
> 
> > If we have parked, then we must have passed an idleness test and still
> > be idle. We chose not to use this shortcut in the past so that we could
> > use the idleness test at any time and inspect HW. However, some HW like
> > Sandybridge, doesn't like being woken up frivolously, so avoid doing so.
> >
> > References: 0b702dca2658 ("drm/i915: Avoid waking the engines just to check if they are idle")
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: Mika Kuoppala <mika.kuoppala@intel.com>
> 
> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>

Ta, let's hope this sticks! :)
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

end of thread, other threads:[~2019-02-28  9:17 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-27 20:46 [PATCH 1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" Chris Wilson
2019-02-27 20:46 ` [PATCH 2/2] drm/i915: Report engines are idle if already parked Chris Wilson
2019-02-27 21:41   ` [PATCH] " Chris Wilson
2019-02-28  9:08     ` Mika Kuoppala
2019-02-28  9:17       ` Chris Wilson
2019-02-27 21:21 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" Patchwork
2019-02-27 21:49 ` ✓ Fi.CI.BAT: success " Patchwork
2019-02-27 21:52 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" (rev2) Patchwork
2019-02-27 22:21 ` ✓ Fi.CI.BAT: success " Patchwork
2019-02-27 23:38 ` ✓ Fi.CI.IGT: " Patchwork
2019-02-28  9:01 ` [PATCH 1/2] Revert "drm/i915: Avoid waking the engines just to check if they are idle" Mika Kuoppala

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.