* [Intel-gfx] [CI 1/2] drm/i915/gt: Always flush the submission queue on checking for idle
@ 2021-02-05 17:43 Chris Wilson
2021-02-05 17:43 ` [Intel-gfx] [CI 2/2] drm/i915/gt: Pull all execlists scheduler initialisation together Chris Wilson
2021-02-05 22:07 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [CI,1/2] drm/i915/gt: Always flush the submission queue on checking for idle Patchwork
0 siblings, 2 replies; 3+ messages in thread
From: Chris Wilson @ 2021-02-05 17:43 UTC (permalink / raw)
To: intel-gfx
We check for idle during debug prints and other debugging actions.
Simplify the flow by not touching execlists state.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
drivers/gpu/drm/i915/gt/intel_engine_cs.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index 9cd5cb2b1f1d..daadada6de0b 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -1247,14 +1247,8 @@ bool intel_engine_is_idle(struct intel_engine_cs *engine)
return true;
/* Waiting to drain ELSP? */
- if (execlists_active(&engine->execlists)) {
- synchronize_hardirq(to_pci_dev(engine->i915->drm.dev)->irq);
-
- intel_engine_flush_submission(engine);
-
- if (execlists_active(&engine->execlists))
- return false;
- }
+ synchronize_hardirq(to_pci_dev(engine->i915->drm.dev)->irq);
+ intel_engine_flush_submission(engine);
/* ELSP is empty, but there are ready requests? E.g. after reset */
if (!RB_EMPTY_ROOT(&engine->execlists.queue.rb_root))
--
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] 3+ messages in thread
* [Intel-gfx] [CI 2/2] drm/i915/gt: Pull all execlists scheduler initialisation together
2021-02-05 17:43 [Intel-gfx] [CI 1/2] drm/i915/gt: Always flush the submission queue on checking for idle Chris Wilson
@ 2021-02-05 17:43 ` Chris Wilson
2021-02-05 22:07 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [CI,1/2] drm/i915/gt: Always flush the submission queue on checking for idle Patchwork
1 sibling, 0 replies; 3+ messages in thread
From: Chris Wilson @ 2021-02-05 17:43 UTC (permalink / raw)
To: intel-gfx
Put all the scheduler initialisation code for execlists into a common
routine. This is to reduce code movement later.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
.../drm/i915/gt/intel_execlists_submission.c | 26 ++++++++++++-------
1 file changed, 16 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
index 9d24d91f5ae7..3a01b66939a0 100644
--- a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
+++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
@@ -2917,7 +2917,7 @@ static void rcs_submission_override(struct intel_engine_cs *engine)
}
}
-int intel_execlists_submission_setup(struct intel_engine_cs *engine)
+static void init_execlists(struct intel_engine_cs *engine)
{
struct intel_engine_execlists * const execlists = &engine->execlists;
struct drm_i915_private *i915 = engine->i915;
@@ -2925,17 +2925,10 @@ int intel_execlists_submission_setup(struct intel_engine_cs *engine)
u32 base = engine->mmio_base;
tasklet_setup(&engine->execlists.tasklet, execlists_submission_tasklet);
+
timer_setup(&engine->execlists.timer, execlists_timeslice, 0);
timer_setup(&engine->execlists.preempt, execlists_preempt, 0);
- logical_ring_default_vfuncs(engine);
- logical_ring_default_irqs(engine);
-
- if (engine->class == RENDER_CLASS)
- rcs_submission_override(engine);
-
- lrc_init_wa_ctx(engine);
-
if (HAS_LOGICAL_RING_ELSQ(i915)) {
execlists->submit_reg = uncore->regs +
i915_mmio_reg_offset(RING_EXECLIST_SQ_CONTENTS(base));
@@ -2958,10 +2951,23 @@ int intel_execlists_submission_setup(struct intel_engine_cs *engine)
execlists->csb_size = GEN11_CSB_ENTRIES;
engine->context_tag = GENMASK(BITS_PER_LONG - 2, 0);
- if (INTEL_GEN(engine->i915) >= 11) {
+ if (INTEL_GEN(i915) >= 11) {
execlists->ccid |= engine->instance << (GEN11_ENGINE_INSTANCE_SHIFT - 32);
execlists->ccid |= engine->class << (GEN11_ENGINE_CLASS_SHIFT - 32);
}
+}
+
+int intel_execlists_submission_setup(struct intel_engine_cs *engine)
+{
+ logical_ring_default_vfuncs(engine);
+ logical_ring_default_irqs(engine);
+
+ if (engine->class == RENDER_CLASS)
+ rcs_submission_override(engine);
+
+ init_execlists(engine);
+
+ lrc_init_wa_ctx(engine);
/* Finally, take ownership and responsibility for cleanup! */
engine->sanitize = execlists_sanitize;
--
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] 3+ messages in thread
* [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [CI,1/2] drm/i915/gt: Always flush the submission queue on checking for idle
2021-02-05 17:43 [Intel-gfx] [CI 1/2] drm/i915/gt: Always flush the submission queue on checking for idle Chris Wilson
2021-02-05 17:43 ` [Intel-gfx] [CI 2/2] drm/i915/gt: Pull all execlists scheduler initialisation together Chris Wilson
@ 2021-02-05 22:07 ` Patchwork
1 sibling, 0 replies; 3+ messages in thread
From: Patchwork @ 2021-02-05 22:07 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
[-- Attachment #1.1: Type: text/plain, Size: 3917 bytes --]
== Series Details ==
Series: series starting with [CI,1/2] drm/i915/gt: Always flush the submission queue on checking for idle
URL : https://patchwork.freedesktop.org/series/86778/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_9740 -> Patchwork_19610
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_19610 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_19610, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19610/index.html
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_19610:
### IGT changes ###
#### Possible regressions ####
* igt@runner@aborted:
- fi-bsw-nick: NOTRUN -> [FAIL][1]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19610/fi-bsw-nick/igt@runner@aborted.html
Known issues
------------
Here are the changes found in Patchwork_19610 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@fbdev@read:
- fi-tgl-y: [PASS][2] -> [DMESG-WARN][3] ([i915#402]) +1 similar issue
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9740/fi-tgl-y/igt@fbdev@read.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19610/fi-tgl-y/igt@fbdev@read.html
* igt@gem_huc_copy@huc-copy:
- fi-byt-j1900: NOTRUN -> [SKIP][4] ([fdo#109271]) +27 similar issues
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19610/fi-byt-j1900/igt@gem_huc_copy@huc-copy.html
* igt@kms_chamelium@hdmi-crc-fast:
- fi-byt-j1900: NOTRUN -> [SKIP][5] ([fdo#109271] / [fdo#111827]) +8 similar issues
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19610/fi-byt-j1900/igt@kms_chamelium@hdmi-crc-fast.html
* igt@prime_vgem@basic-userptr:
- fi-bsw-nick: [PASS][6] -> [DMESG-WARN][7] ([i915#1610])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9740/fi-bsw-nick/igt@prime_vgem@basic-userptr.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19610/fi-bsw-nick/igt@prime_vgem@basic-userptr.html
#### Possible fixes ####
* igt@prime_self_import@basic-with_one_bo_two_files:
- fi-tgl-y: [DMESG-WARN][8] ([i915#402]) -> [PASS][9]
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9740/fi-tgl-y/igt@prime_self_import@basic-with_one_bo_two_files.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19610/fi-tgl-y/igt@prime_self_import@basic-with_one_bo_two_files.html
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[i915#1610]: https://gitlab.freedesktop.org/drm/intel/issues/1610
[i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
Participating hosts (43 -> 38)
------------------------------
Additional (1): fi-byt-j1900
Missing (6): fi-jsl-1 fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan fi-ctg-p8600 fi-bdw-samus
Build changes
-------------
* Linux: CI_DRM_9740 -> Patchwork_19610
CI-20190529: 20190529
CI_DRM_9740: d0d6b3dabc3c5f35990abedf7361eb27f7123f4d @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5993: b1225ec25d5671a985c5bb48739111d2e8a723cf @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_19610: 389b83386d8e7c351b2006a2f5bb0553a19b13f2 @ git://anongit.freedesktop.org/gfx-ci/linux
== Linux commits ==
389b83386d8e drm/i915/gt: Pull all execlists scheduler initialisation together
451a66afd532 drm/i915/gt: Always flush the submission queue on checking for idle
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19610/index.html
[-- Attachment #1.2: Type: text/html, Size: 4811 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-02-05 22:07 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-05 17:43 [Intel-gfx] [CI 1/2] drm/i915/gt: Always flush the submission queue on checking for idle Chris Wilson
2021-02-05 17:43 ` [Intel-gfx] [CI 2/2] drm/i915/gt: Pull all execlists scheduler initialisation together Chris Wilson
2021-02-05 22:07 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [CI,1/2] drm/i915/gt: Always flush the submission queue on checking for idle Patchwork
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.