* [CI] drm/i915: Move the engine->destroy() vfunc onto the engine
@ 2019-05-01 10:32 Chris Wilson
2019-05-01 10:48 ` ✗ Fi.CI.SPARSE: warning for " Patchwork
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Chris Wilson @ 2019-05-01 10:32 UTC (permalink / raw)
To: intel-gfx
Make the engine responsible for cleaning itself up!
This removes the i915->gt.cleanup vfunc that has been annoying the
casual reader and myself for the last several years, and helps keep a
future patch to add more cleanup tidy.
v2: Assert that engine->destroy is set after the backend starts
allocating its own state.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
drivers/gpu/drm/i915/gt/intel_engine.h | 4 ++
drivers/gpu/drm/i915/gt/intel_engine_cs.c | 68 +++++++++++---------
drivers/gpu/drm/i915/gt/intel_engine_types.h | 2 +-
drivers/gpu/drm/i915/gt/intel_lrc.c | 51 +++++----------
drivers/gpu/drm/i915/gt/intel_ringbuffer.c | 35 +++++-----
drivers/gpu/drm/i915/i915_drv.h | 6 --
drivers/gpu/drm/i915/i915_gem.c | 19 +-----
7 files changed, 77 insertions(+), 108 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/intel_engine.h b/drivers/gpu/drm/i915/gt/intel_engine.h
index 3e53f53bc52b..f5b0f27cecb6 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine.h
+++ b/drivers/gpu/drm/i915/gt/intel_engine.h
@@ -362,7 +362,11 @@ __intel_ring_space(unsigned int head, unsigned int tail, unsigned int size)
return (head - tail - CACHELINE_BYTES) & (size - 1);
}
+int intel_engines_init_mmio(struct drm_i915_private *i915);
int intel_engines_setup(struct drm_i915_private *i915);
+int intel_engines_init(struct drm_i915_private *i915);
+void intel_engines_cleanup(struct drm_i915_private *i915);
+
int intel_engine_init_common(struct intel_engine_cs *engine);
void intel_engine_cleanup_common(struct intel_engine_cs *engine);
diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index f7308479d511..6e40f8ea9a6a 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -319,6 +319,12 @@ intel_engine_setup(struct drm_i915_private *dev_priv,
engine->class = info->class;
engine->instance = info->instance;
+ /*
+ * To be overridden by the backend on setup. However to facilitate
+ * cleanup on error during setup, we always provide the destroy vfunc.
+ */
+ engine->destroy = (typeof(engine->destroy))kfree;
+
engine->uabi_class = intel_engine_classes[info->class].uabi_class;
engine->context_size = __intel_engine_context_size(dev_priv,
@@ -343,18 +349,31 @@ intel_engine_setup(struct drm_i915_private *dev_priv,
return 0;
}
+/**
+ * intel_engines_cleanup() - free the resources allocated for Command Streamers
+ * @i915: the i915 devic
+ */
+void intel_engines_cleanup(struct drm_i915_private *i915)
+{
+ struct intel_engine_cs *engine;
+ enum intel_engine_id id;
+
+ for_each_engine(engine, i915, id) {
+ engine->destroy(engine);
+ i915->engine[id] = NULL;
+ }
+}
+
/**
* intel_engines_init_mmio() - allocate and prepare the Engine Command Streamers
- * @dev_priv: i915 device private
+ * @i915: the i915 device
*
* Return: non-zero if the initialization failed.
*/
-int intel_engines_init_mmio(struct drm_i915_private *dev_priv)
+int intel_engines_init_mmio(struct drm_i915_private *i915)
{
- struct intel_device_info *device_info = mkwrite_device_info(dev_priv);
- const unsigned int engine_mask = INTEL_INFO(dev_priv)->engine_mask;
- struct intel_engine_cs *engine;
- enum intel_engine_id id;
+ struct intel_device_info *device_info = mkwrite_device_info(i915);
+ const unsigned int engine_mask = INTEL_INFO(i915)->engine_mask;
unsigned int mask = 0;
unsigned int i;
int err;
@@ -367,10 +386,10 @@ int intel_engines_init_mmio(struct drm_i915_private *dev_priv)
return -ENODEV;
for (i = 0; i < ARRAY_SIZE(intel_engines); i++) {
- if (!HAS_ENGINE(dev_priv, i))
+ if (!HAS_ENGINE(i915, i))
continue;
- err = intel_engine_setup(dev_priv, i);
+ err = intel_engine_setup(i915, i);
if (err)
goto cleanup;
@@ -386,20 +405,19 @@ int intel_engines_init_mmio(struct drm_i915_private *dev_priv)
device_info->engine_mask = mask;
/* We always presume we have at least RCS available for later probing */
- if (WARN_ON(!HAS_ENGINE(dev_priv, RCS0))) {
+ if (WARN_ON(!HAS_ENGINE(i915, RCS0))) {
err = -ENODEV;
goto cleanup;
}
- RUNTIME_INFO(dev_priv)->num_engines = hweight32(mask);
+ RUNTIME_INFO(i915)->num_engines = hweight32(mask);
- i915_check_and_clear_faults(dev_priv);
+ i915_check_and_clear_faults(i915);
return 0;
cleanup:
- for_each_engine(engine, dev_priv, id)
- kfree(engine);
+ intel_engines_cleanup(i915);
return err;
}
@@ -413,7 +431,7 @@ int intel_engines_init(struct drm_i915_private *i915)
{
int (*init)(struct intel_engine_cs *engine);
struct intel_engine_cs *engine;
- enum intel_engine_id id, err_id;
+ enum intel_engine_id id;
int err;
if (HAS_EXECLISTS(i915))
@@ -422,8 +440,6 @@ int intel_engines_init(struct drm_i915_private *i915)
init = intel_ring_submission_init;
for_each_engine(engine, i915, id) {
- err_id = id;
-
err = init(engine);
if (err)
goto cleanup;
@@ -432,14 +448,7 @@ int intel_engines_init(struct drm_i915_private *i915)
return 0;
cleanup:
- for_each_engine(engine, i915, id) {
- if (id >= err_id) {
- kfree(engine);
- i915->engine[id] = NULL;
- } else {
- i915->gt.cleanup_engine(engine);
- }
- }
+ intel_engines_cleanup(i915);
return err;
}
@@ -619,19 +628,16 @@ int intel_engines_setup(struct drm_i915_private *i915)
if (err)
goto cleanup;
+ /* We expect the backend to take control over its state */
+ GEM_BUG_ON(engine->destroy == (typeof(engine->destroy))kfree);
+
GEM_BUG_ON(!engine->cops);
}
return 0;
cleanup:
- for_each_engine(engine, i915, id) {
- if (engine->cops)
- i915->gt.cleanup_engine(engine);
- else
- kfree(engine);
- i915->engine[id] = NULL;
- }
+ intel_engines_cleanup(i915);
return err;
}
diff --git a/drivers/gpu/drm/i915/gt/intel_engine_types.h b/drivers/gpu/drm/i915/gt/intel_engine_types.h
index d972c339309c..9d64e33f8427 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_types.h
+++ b/drivers/gpu/drm/i915/gt/intel_engine_types.h
@@ -420,7 +420,7 @@ struct intel_engine_cs {
*/
void (*cancel_requests)(struct intel_engine_cs *engine);
- void (*cleanup)(struct intel_engine_cs *engine);
+ void (*destroy)(struct intel_engine_cs *engine);
struct intel_engine_execlists execlists;
diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 01f58a152a9e..851e62ddcb87 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -2331,40 +2331,6 @@ static int gen8_init_rcs_context(struct i915_request *rq)
return i915_gem_render_state_emit(rq);
}
-/**
- * intel_logical_ring_cleanup() - deallocate the Engine Command Streamer
- * @engine: Engine Command Streamer.
- */
-void intel_logical_ring_cleanup(struct intel_engine_cs *engine)
-{
- struct drm_i915_private *dev_priv;
-
- /*
- * Tasklet cannot be active at this point due intel_mark_active/idle
- * so this is just for documentation.
- */
- if (WARN_ON(test_bit(TASKLET_STATE_SCHED,
- &engine->execlists.tasklet.state)))
- tasklet_kill(&engine->execlists.tasklet);
-
- dev_priv = engine->i915;
-
- if (engine->buffer) {
- WARN_ON((ENGINE_READ(engine, RING_MI_MODE) & MODE_IDLE) == 0);
- }
-
- if (engine->cleanup)
- engine->cleanup(engine);
-
- intel_engine_cleanup_common(engine);
-
- lrc_destroy_wa_ctx(engine);
-
- engine->i915 = NULL;
- dev_priv->engine[engine->id] = NULL;
- kfree(engine);
-}
-
void intel_execlists_set_default_submission(struct intel_engine_cs *engine)
{
engine->submit_request = execlists_submit_request;
@@ -2387,10 +2353,27 @@ void intel_execlists_set_default_submission(struct intel_engine_cs *engine)
engine->flags |= I915_ENGINE_HAS_PREEMPTION;
}
+static void execlists_destroy(struct intel_engine_cs *engine)
+{
+ /*
+ * Tasklet cannot be active at this point due intel_mark_active/idle
+ * so this is just for documentation.
+ */
+ if (GEM_DEBUG_WARN_ON(test_bit(TASKLET_STATE_SCHED,
+ &engine->execlists.tasklet.state)))
+ tasklet_kill(&engine->execlists.tasklet);
+
+ intel_engine_cleanup_common(engine);
+ lrc_destroy_wa_ctx(engine);
+ kfree(engine);
+}
+
static void
logical_ring_default_vfuncs(struct intel_engine_cs *engine)
{
/* Default vfuncs which can be overriden by each engine. */
+
+ engine->destroy = execlists_destroy;
engine->resume = execlists_resume;
engine->reset.prepare = execlists_reset_prepare;
diff --git a/drivers/gpu/drm/i915/gt/intel_ringbuffer.c b/drivers/gpu/drm/i915/gt/intel_ringbuffer.c
index 5e342727eab3..6fbc5ddbc896 100644
--- a/drivers/gpu/drm/i915/gt/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/gt/intel_ringbuffer.c
@@ -1534,25 +1534,6 @@ static const struct intel_context_ops ring_context_ops = {
.destroy = ring_context_destroy,
};
-void intel_engine_cleanup(struct intel_engine_cs *engine)
-{
- struct drm_i915_private *dev_priv = engine->i915;
-
- WARN_ON(INTEL_GEN(dev_priv) > 2 &&
- (ENGINE_READ(engine, RING_MI_MODE) & MODE_IDLE) == 0);
-
- intel_ring_unpin(engine->buffer);
- intel_ring_put(engine->buffer);
-
- if (engine->cleanup)
- engine->cleanup(engine);
-
- intel_engine_cleanup_common(engine);
-
- dev_priv->engine[engine->id] = NULL;
- kfree(engine);
-}
-
static int load_pd_dir(struct i915_request *rq,
const struct i915_hw_ppgtt *ppgtt)
{
@@ -2157,6 +2138,20 @@ static void gen6_bsd_set_default_submission(struct intel_engine_cs *engine)
engine->submit_request = gen6_bsd_submit_request;
}
+static void ring_destroy(struct intel_engine_cs *engine)
+{
+ struct drm_i915_private *dev_priv = engine->i915;
+
+ WARN_ON(INTEL_GEN(dev_priv) > 2 &&
+ (ENGINE_READ(engine, RING_MI_MODE) & MODE_IDLE) == 0);
+
+ intel_ring_unpin(engine->buffer);
+ intel_ring_put(engine->buffer);
+
+ intel_engine_cleanup_common(engine);
+ kfree(engine);
+}
+
static void setup_irq(struct intel_engine_cs *engine)
{
struct drm_i915_private *i915 = engine->i915;
@@ -2185,6 +2180,8 @@ static void setup_common(struct intel_engine_cs *engine)
setup_irq(engine);
+ engine->destroy = ring_destroy;
+
engine->resume = xcs_resume;
engine->reset.prepare = reset_prepare;
engine->reset.reset = reset_ring;
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 886a30243fe3..13270e19eb87 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1986,8 +1986,6 @@ struct drm_i915_private {
/* Abstract the submission mechanism (legacy ringbuffer or execlists) away */
struct {
- void (*cleanup_engine)(struct intel_engine_cs *engine);
-
struct i915_gt_timelines {
struct mutex mutex; /* protects list, tainted by GPU */
struct list_head active_list;
@@ -2713,9 +2711,6 @@ extern unsigned long i915_gfx_val(struct drm_i915_private *dev_priv);
extern void i915_update_gfx_val(struct drm_i915_private *dev_priv);
int vlv_force_gfx_clock(struct drm_i915_private *dev_priv, bool on);
-int intel_engines_init_mmio(struct drm_i915_private *dev_priv);
-int intel_engines_init(struct drm_i915_private *dev_priv);
-
u32 intel_calculate_mcr_s_ss_select(struct drm_i915_private *dev_priv);
static inline void i915_queue_hangcheck(struct drm_i915_private *dev_priv)
@@ -3050,7 +3045,6 @@ int __must_check i915_gem_init(struct drm_i915_private *dev_priv);
int __must_check i915_gem_init_hw(struct drm_i915_private *dev_priv);
void i915_gem_init_swizzling(struct drm_i915_private *dev_priv);
void i915_gem_fini(struct drm_i915_private *dev_priv);
-void i915_gem_cleanup_engines(struct drm_i915_private *dev_priv);
int i915_gem_wait_for_idle(struct drm_i915_private *dev_priv,
unsigned int flags, long timeout);
void i915_gem_suspend(struct drm_i915_private *dev_priv);
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 4c1793b1012e..2fcec1bfb038 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -4476,11 +4476,6 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
dev_priv->mm.unordered_timeline = dma_fence_context_alloc(1);
- if (HAS_LOGICAL_RING_CONTEXTS(dev_priv))
- dev_priv->gt.cleanup_engine = intel_logical_ring_cleanup;
- else
- dev_priv->gt.cleanup_engine = intel_engine_cleanup;
-
i915_timelines_init(dev_priv);
ret = i915_gem_init_userptr(dev_priv);
@@ -4601,7 +4596,7 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
err_pm:
if (ret != -EIO) {
intel_cleanup_gt_powersave(dev_priv);
- i915_gem_cleanup_engines(dev_priv);
+ intel_engines_cleanup(dev_priv);
}
err_context:
if (ret != -EIO)
@@ -4661,7 +4656,7 @@ void i915_gem_fini(struct drm_i915_private *dev_priv)
mutex_lock(&dev_priv->drm.struct_mutex);
intel_uc_fini_hw(dev_priv);
intel_uc_fini(dev_priv);
- i915_gem_cleanup_engines(dev_priv);
+ intel_engines_cleanup(dev_priv);
i915_gem_contexts_fini(dev_priv);
i915_gem_fini_scratch(dev_priv);
mutex_unlock(&dev_priv->drm.struct_mutex);
@@ -4684,16 +4679,6 @@ void i915_gem_init_mmio(struct drm_i915_private *i915)
i915_gem_sanitize(i915);
}
-void
-i915_gem_cleanup_engines(struct drm_i915_private *dev_priv)
-{
- struct intel_engine_cs *engine;
- enum intel_engine_id id;
-
- for_each_engine(engine, dev_priv, id)
- dev_priv->gt.cleanup_engine(engine);
-}
-
void
i915_gem_load_init_fences(struct drm_i915_private *dev_priv)
{
--
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] 4+ messages in thread* ✗ Fi.CI.SPARSE: warning for drm/i915: Move the engine->destroy() vfunc onto the engine 2019-05-01 10:32 [CI] drm/i915: Move the engine->destroy() vfunc onto the engine Chris Wilson @ 2019-05-01 10:48 ` Patchwork 2019-05-01 11:03 ` ✓ Fi.CI.BAT: success " Patchwork 2019-05-01 23:38 ` ✗ Fi.CI.IGT: failure " Patchwork 2 siblings, 0 replies; 4+ messages in thread From: Patchwork @ 2019-05-01 10:48 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: drm/i915: Move the engine->destroy() vfunc onto the engine URL : https://patchwork.freedesktop.org/series/60147/ State : warning == Summary == $ dim sparse origin/drm-tip Sparse version: v0.5.2 Commit: drm/i915: Move the engine->destroy() vfunc onto the engine -drivers/gpu/drm/i915/selftests/../i915_drv.h:3454:16: warning: expression using sizeof(void) +drivers/gpu/drm/i915/selftests/../i915_drv.h:3448:16: warning: expression using sizeof(void) _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 4+ messages in thread
* ✓ Fi.CI.BAT: success for drm/i915: Move the engine->destroy() vfunc onto the engine 2019-05-01 10:32 [CI] drm/i915: Move the engine->destroy() vfunc onto the engine Chris Wilson 2019-05-01 10:48 ` ✗ Fi.CI.SPARSE: warning for " Patchwork @ 2019-05-01 11:03 ` Patchwork 2019-05-01 23:38 ` ✗ Fi.CI.IGT: failure " Patchwork 2 siblings, 0 replies; 4+ messages in thread From: Patchwork @ 2019-05-01 11:03 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: drm/i915: Move the engine->destroy() vfunc onto the engine URL : https://patchwork.freedesktop.org/series/60147/ State : success == Summary == CI Bug Log - changes from CI_DRM_6020 -> Patchwork_12921 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/60147/revisions/1/mbox/ Known issues ------------ Here are the changes found in Patchwork_12921 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_suspend@basic-s3: - fi-blb-e6850: [PASS][1] -> [INCOMPLETE][2] ([fdo#107718]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/fi-blb-e6850/igt@gem_exec_suspend@basic-s3.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/fi-blb-e6850/igt@gem_exec_suspend@basic-s3.html * igt@i915_selftest@live_hangcheck: - fi-skl-iommu: [PASS][3] -> [INCOMPLETE][4] ([fdo#108602] / [fdo#108744]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html #### Possible fixes #### * igt@i915_selftest@live_hangcheck: - fi-bsw-kefka: [INCOMPLETE][5] -> [PASS][6] [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/fi-bsw-kefka/igt@i915_selftest@live_hangcheck.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/fi-bsw-kefka/igt@i915_selftest@live_hangcheck.html [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718 [fdo#108602]: https://bugs.freedesktop.org/show_bug.cgi?id=108602 [fdo#108744]: https://bugs.freedesktop.org/show_bug.cgi?id=108744 Participating hosts (53 -> 46) ------------------------------ Additional (1): fi-pnv-d510 Missing (8): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus Build changes ------------- * Linux: CI_DRM_6020 -> Patchwork_12921 CI_DRM_6020: 087f11254b9a7a79156a88509afc4c1e2d640a7f @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4971: fc5e0467eb6913d21ad932aa8a31c77fdb5a9c77 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_12921: c973cdaea5390bfb7afde3ce1df66accb9bf118f @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == c973cdaea539 drm/i915: Move the engine->destroy() vfunc onto the engine == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/ _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 4+ messages in thread
* ✗ Fi.CI.IGT: failure for drm/i915: Move the engine->destroy() vfunc onto the engine 2019-05-01 10:32 [CI] drm/i915: Move the engine->destroy() vfunc onto the engine Chris Wilson 2019-05-01 10:48 ` ✗ Fi.CI.SPARSE: warning for " Patchwork 2019-05-01 11:03 ` ✓ Fi.CI.BAT: success " Patchwork @ 2019-05-01 23:38 ` Patchwork 2 siblings, 0 replies; 4+ messages in thread From: Patchwork @ 2019-05-01 23:38 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: drm/i915: Move the engine->destroy() vfunc onto the engine URL : https://patchwork.freedesktop.org/series/60147/ State : failure == Summary == CI Bug Log - changes from CI_DRM_6020_full -> Patchwork_12921_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_12921_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_12921_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_12921_full: ### IGT changes ### #### Possible regressions #### * igt@gem_exec_schedule@preempt-hang-vebox: - shard-skl: NOTRUN -> [INCOMPLETE][1] +3 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-skl5/igt@gem_exec_schedule@preempt-hang-vebox.html * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a: - shard-skl: [PASS][2] -> [INCOMPLETE][3] [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-skl8/igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-skl10/igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a.html #### Warnings #### * igt@gem_tiled_fence_blits@normal: - shard-skl: [SKIP][4] ([fdo#109271]) -> [INCOMPLETE][5] [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-skl10/igt@gem_tiled_fence_blits@normal.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-skl2/igt@gem_tiled_fence_blits@normal.html Known issues ------------ Here are the changes found in Patchwork_12921_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_blt@dumb-buf-min: - shard-hsw: [PASS][6] -> [INCOMPLETE][7] ([fdo#103540]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-hsw4/igt@gem_exec_blt@dumb-buf-min.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-hsw6/igt@gem_exec_blt@dumb-buf-min.html * igt@gem_workarounds@suspend-resume: - shard-apl: [PASS][8] -> [DMESG-WARN][9] ([fdo#108566]) +5 similar issues [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-apl7/igt@gem_workarounds@suspend-resume.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-apl2/igt@gem_workarounds@suspend-resume.html * igt@i915_pm_rpm@i2c: - shard-iclb: [PASS][10] -> [DMESG-WARN][11] ([fdo#109982]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-iclb5/igt@i915_pm_rpm@i2c.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-iclb2/igt@i915_pm_rpm@i2c.html * igt@i915_pm_rpm@legacy-planes-dpms: - shard-iclb: [PASS][12] -> [INCOMPLETE][13] ([fdo#107713] / [fdo#108840] / [fdo#109960]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-iclb2/igt@i915_pm_rpm@legacy-planes-dpms.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-iclb3/igt@i915_pm_rpm@legacy-planes-dpms.html * igt@kms_cursor_crc@cursor-256x256-suspend: - shard-skl: [PASS][14] -> [INCOMPLETE][15] ([fdo#104108]) [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-skl7/igt@kms_cursor_crc@cursor-256x256-suspend.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-skl5/igt@kms_cursor_crc@cursor-256x256-suspend.html * igt@kms_cursor_crc@cursor-size-change: - shard-snb: [PASS][16] -> [SKIP][17] ([fdo#109271]) +1 similar issue [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-snb4/igt@kms_cursor_crc@cursor-size-change.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-snb6/igt@kms_cursor_crc@cursor-size-change.html * igt@kms_draw_crc@draw-method-xrgb2101010-render-xtiled: - shard-skl: [PASS][18] -> [FAIL][19] ([fdo#103184] / [fdo#103232]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-skl1/igt@kms_draw_crc@draw-method-xrgb2101010-render-xtiled.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-skl4/igt@kms_draw_crc@draw-method-xrgb2101010-render-xtiled.html * igt@kms_flip@2x-flip-vs-dpms-interruptible: - shard-glk: [PASS][20] -> [INCOMPLETE][21] ([fdo#103359] / [k.org#198133]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-glk1/igt@kms_flip@2x-flip-vs-dpms-interruptible.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-glk3/igt@kms_flip@2x-flip-vs-dpms-interruptible.html * igt@kms_flip@flip-vs-expired-vblank: - shard-skl: [PASS][22] -> [FAIL][23] ([fdo#105363]) [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-skl2/igt@kms_flip@flip-vs-expired-vblank.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-skl3/igt@kms_flip@flip-vs-expired-vblank.html * igt@kms_flip@flip-vs-suspend-interruptible: - shard-snb: [PASS][24] -> [DMESG-WARN][25] ([fdo#102365]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-snb4/igt@kms_flip@flip-vs-suspend-interruptible.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-snb4/igt@kms_flip@flip-vs-suspend-interruptible.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite: - shard-skl: [PASS][26] -> [FAIL][27] ([fdo#103167]) [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-skl1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite.html [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-skl4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt: - shard-iclb: [PASS][28] -> [FAIL][29] ([fdo#103167]) +5 similar issues [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-iclb7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-iclb5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-plflip-blt: - shard-skl: [PASS][30] -> [FAIL][31] ([fdo#108040]) +1 similar issue [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-skl1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-plflip-blt.html [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-skl4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-plflip-blt.html * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c: - shard-kbl: [PASS][32] -> [DMESG-WARN][33] ([fdo#108566]) [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-kbl4/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-kbl1/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html * igt@kms_plane@pixel-format-pipe-c-planes-source-clamping: - shard-iclb: [PASS][34] -> [INCOMPLETE][35] ([fdo#107713] / [fdo#110036 ]) [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-iclb8/igt@kms_plane@pixel-format-pipe-c-planes-source-clamping.html [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-iclb3/igt@kms_plane@pixel-format-pipe-c-planes-source-clamping.html * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc: - shard-skl: [PASS][36] -> [FAIL][37] ([fdo#108145]) [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-skl1/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-skl4/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html * igt@kms_psr@psr2_primary_page_flip: - shard-iclb: [PASS][38] -> [SKIP][39] ([fdo#109441]) +3 similar issues [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-iclb6/igt@kms_psr@psr2_primary_page_flip.html * igt@kms_setmode@basic: - shard-kbl: [PASS][40] -> [FAIL][41] ([fdo#99912]) [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-kbl4/igt@kms_setmode@basic.html [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-kbl5/igt@kms_setmode@basic.html #### Possible fixes #### * igt@gem_exec_flush@basic-batch-kernel-default-wb: - shard-iclb: [INCOMPLETE][42] ([fdo#107713]) -> [PASS][43] +1 similar issue [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-iclb7/igt@gem_exec_flush@basic-batch-kernel-default-wb.html [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-iclb2/igt@gem_exec_flush@basic-batch-kernel-default-wb.html * igt@gem_fence_thrash@bo-write-verify-threaded-x: - shard-skl: [INCOMPLETE][44] -> [PASS][45] [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-skl7/igt@gem_fence_thrash@bo-write-verify-threaded-x.html [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-skl5/igt@gem_fence_thrash@bo-write-verify-threaded-x.html * igt@gem_softpin@noreloc-s3: - shard-skl: [INCOMPLETE][46] ([fdo#104108] / [fdo#107773]) -> [PASS][47] [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-skl3/igt@gem_softpin@noreloc-s3.html [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-skl5/igt@gem_softpin@noreloc-s3.html * igt@gem_workarounds@suspend-resume: - shard-kbl: [DMESG-WARN][48] ([fdo#108566]) -> [PASS][49] [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-kbl1/igt@gem_workarounds@suspend-resume.html [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-kbl6/igt@gem_workarounds@suspend-resume.html * igt@i915_suspend@debugfs-reader: - shard-apl: [DMESG-WARN][50] ([fdo#108566]) -> [PASS][51] +4 similar issues [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-apl7/igt@i915_suspend@debugfs-reader.html [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-apl3/igt@i915_suspend@debugfs-reader.html * igt@kms_flip@2x-flip-vs-suspend: - shard-glk: [INCOMPLETE][52] ([fdo#103359] / [k.org#198133]) -> [PASS][53] [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-glk4/igt@kms_flip@2x-flip-vs-suspend.html [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-glk1/igt@kms_flip@2x-flip-vs-suspend.html * igt@kms_flip@plain-flip-fb-recreate-interruptible: - shard-skl: [FAIL][54] ([fdo#100368]) -> [PASS][55] [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-skl5/igt@kms_flip@plain-flip-fb-recreate-interruptible.html [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-skl10/igt@kms_flip@plain-flip-fb-recreate-interruptible.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render: - shard-iclb: [FAIL][56] ([fdo#103167]) -> [PASS][57] +7 similar issues [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-iclb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-iclb5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite: - shard-skl: [INCOMPLETE][58] ([fdo#106978]) -> [PASS][59] [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-skl2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-skl3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html * igt@kms_plane_scaling@pipe-a-scaler-with-rotation: - shard-glk: [SKIP][60] ([fdo#109271] / [fdo#109278]) -> [PASS][61] [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-glk5/igt@kms_plane_scaling@pipe-a-scaler-with-rotation.html [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-glk9/igt@kms_plane_scaling@pipe-a-scaler-with-rotation.html * igt@kms_psr@psr2_primary_mmap_cpu: - shard-iclb: [SKIP][62] ([fdo#109441]) -> [PASS][63] +1 similar issue [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-iclb5/igt@kms_psr@psr2_primary_mmap_cpu.html [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html * igt@kms_rotation_crc@multiplane-rotation-cropping-bottom: - shard-kbl: [DMESG-FAIL][64] ([fdo#105763]) -> [PASS][65] [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-kbl7/igt@kms_rotation_crc@multiplane-rotation-cropping-bottom.html [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-kbl3/igt@kms_rotation_crc@multiplane-rotation-cropping-bottom.html * igt@perf_pmu@multi-client-vcs0: - shard-hsw: [INCOMPLETE][66] ([fdo#103540]) -> [PASS][67] [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-hsw4/igt@perf_pmu@multi-client-vcs0.html [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-hsw6/igt@perf_pmu@multi-client-vcs0.html * igt@perf_pmu@rc6: - shard-kbl: [SKIP][68] ([fdo#109271]) -> [PASS][69] [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-kbl5/igt@perf_pmu@rc6.html [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-kbl3/igt@perf_pmu@rc6.html * igt@perf_pmu@rc6-runtime-pm: - shard-kbl: [FAIL][70] ([fdo#105010]) -> [PASS][71] [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6020/shard-kbl6/igt@perf_pmu@rc6-runtime-pm.html [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12921/shard-kbl5/igt@perf_pmu@rc6-runtime-pm.html [fdo#100368]: https://bugs.freedesktop.org/show_bug.cgi?id=100368 [fdo#102365]: https://bugs.freedesktop.org/show_bug.cgi?id=102365 [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#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359 [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540 [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108 [fdo#105010]: https://bugs.freedesktop.org/show_bug.cgi?id=105010 [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363 [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763 [fdo#106978]: https://bugs.freedesktop.org/show_bug.cgi?id=106978 [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713 [fdo#107773]: https://bugs.freedesktop.org/show_bug.cgi?id=107773 [fdo#108040]: https://bugs.freedesktop.org/show_bug.cgi?id=108040 [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566 [fdo#108840]: https://bugs.freedesktop.org/show_bug.cgi?id=108840 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#109960]: https://bugs.freedesktop.org/show_bug.cgi?id=109960 [fdo#109982]: https://bugs.freedesktop.org/show_bug.cgi?id=109982 [fdo#110036 ]: https://bugs.freedesktop.org/show_bug.cgi?id=110036 [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912 [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133 Participating hosts (10 -> 10) ------------------------------ No changes in participating hosts Build changes ------------- * Linux: CI_DRM_6020 -> Patchwork_12921 CI_DRM_6020: 087f11254b9a7a79156a88509afc4c1e2d640a7f @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4971: fc5e0467eb6913d21ad932aa8a31c77fdb5a9c77 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_12921: c973cdaea5390bfb7afde3ce1df66accb9bf118f @ 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_12921/ _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-05-01 23:38 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-05-01 10:32 [CI] drm/i915: Move the engine->destroy() vfunc onto the engine Chris Wilson 2019-05-01 10:48 ` ✗ Fi.CI.SPARSE: warning for " Patchwork 2019-05-01 11:03 ` ✓ Fi.CI.BAT: success " Patchwork 2019-05-01 23:38 ` ✗ Fi.CI.IGT: failure " Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox