* [Intel-gfx] [PATCH 0/2] drm/i915: refactor 915_vma_move_to_active
@ 2022-10-13 13:29 Andrzej Hajda
2022-10-13 13:30 ` [Intel-gfx] [PATCH 1/2] drm/i915: add wait and lock to i915_vma_move_to_active Andrzej Hajda
` (3 more replies)
0 siblings, 4 replies; 12+ messages in thread
From: Andrzej Hajda @ 2022-10-13 13:29 UTC (permalink / raw)
To: intel-gfx; +Cc: Lucas De Marchi, Matthew Auld, Andrzej Hajda, Rodrigo Vivi
This patchset refactors code related to i915_vma_move_to_active.
I hope 1st patch is quite straightforward.
For the 2nd, I am not sure where to put the helper, any better proposition
welcome.
Regards
Andrzej
Andrzej Hajda (2):
drm/i915: add wait and lock to i915_vma_move_to_active
drm/i915/selftests: add igt_vma_move_to_active_unlocked
.../i915/gem/selftests/i915_gem_client_blt.c | 22 +++---------
.../i915/gem/selftests/i915_gem_coherency.c | 4 +--
.../drm/i915/gem/selftests/i915_gem_context.c | 20 +++--------
.../drm/i915/gem/selftests/i915_gem_mman.c | 10 ++----
.../drm/i915/gem/selftests/igt_gem_utils.c | 12 ++-----
.../drm/i915/gem/selftests/igt_gem_utils.h | 14 ++++++++
drivers/gpu/drm/i915/gt/intel_renderstate.c | 4 +--
drivers/gpu/drm/i915/gt/intel_workarounds.c | 4 +--
drivers/gpu/drm/i915/gt/selftest_execlists.c | 16 ++-------
drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 35 +++----------------
drivers/gpu/drm/i915/gt/selftest_lrc.c | 35 ++++---------------
drivers/gpu/drm/i915/gt/selftest_mocs.c | 7 ++--
drivers/gpu/drm/i915/gt/selftest_rps.c | 8 ++---
.../gpu/drm/i915/gt/selftest_workarounds.c | 28 ++++-----------
drivers/gpu/drm/i915/gvt/scheduler.c | 5 ++-
drivers/gpu/drm/i915/i915_perf.c | 4 +--
drivers/gpu/drm/i915/i915_vma.h | 6 +++-
drivers/gpu/drm/i915/selftests/i915_request.c | 9 ++---
drivers/gpu/drm/i915/selftests/igt_spinner.c | 20 ++---------
19 files changed, 67 insertions(+), 196 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 12+ messages in thread* [Intel-gfx] [PATCH 1/2] drm/i915: add wait and lock to i915_vma_move_to_active 2022-10-13 13:29 [Intel-gfx] [PATCH 0/2] drm/i915: refactor 915_vma_move_to_active Andrzej Hajda @ 2022-10-13 13:30 ` Andrzej Hajda 2022-10-13 14:00 ` Tvrtko Ursulin 2022-10-21 15:51 ` Andi Shyti 2022-10-13 13:30 ` [Intel-gfx] [PATCH 2/2] drm/i915/selftests: add igt_vma_move_to_active_unlocked Andrzej Hajda ` (2 subsequent siblings) 3 siblings, 2 replies; 12+ messages in thread From: Andrzej Hajda @ 2022-10-13 13:30 UTC (permalink / raw) To: intel-gfx; +Cc: Lucas De Marchi, Matthew Auld, Andrzej Hajda, Rodrigo Vivi Since almost all calls to i915_vma_move_to_active are prepended with i915_request_await_object, let's put it into i915_vma_move_to_active. The patch should not introduce functional changes. Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com> --- .../i915/gem/selftests/i915_gem_client_blt.c | 4 +--- .../i915/gem/selftests/i915_gem_coherency.c | 4 +--- .../drm/i915/gem/selftests/i915_gem_context.c | 16 ++++---------- .../drm/i915/gem/selftests/i915_gem_mman.c | 10 +++------ .../drm/i915/gem/selftests/igt_gem_utils.c | 8 ++----- drivers/gpu/drm/i915/gt/intel_renderstate.c | 4 +--- drivers/gpu/drm/i915/gt/intel_workarounds.c | 4 +--- drivers/gpu/drm/i915/gt/selftest_execlists.c | 14 +++--------- drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 17 ++++---------- drivers/gpu/drm/i915/gt/selftest_lrc.c | 12 +++------- drivers/gpu/drm/i915/gt/selftest_mocs.c | 4 +--- drivers/gpu/drm/i915/gt/selftest_rps.c | 8 ++----- .../gpu/drm/i915/gt/selftest_workarounds.c | 22 +++++-------------- drivers/gpu/drm/i915/gvt/scheduler.c | 5 ++--- drivers/gpu/drm/i915/i915_perf.c | 4 +--- drivers/gpu/drm/i915/i915_vma.h | 6 ++++- drivers/gpu/drm/i915/selftests/i915_request.c | 9 ++------ drivers/gpu/drm/i915/selftests/igt_spinner.c | 5 +---- 18 files changed, 43 insertions(+), 113 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_client_blt.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_client_blt.c index 9a6a6b5b722b60..97dd34bd3acfd3 100644 --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_client_blt.c +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_client_blt.c @@ -464,9 +464,7 @@ static int move_to_active(struct i915_vma *vma, int err; i915_vma_lock(vma); - err = i915_request_await_object(rq, vma->obj, false); - if (err == 0) - err = i915_vma_move_to_active(vma, rq, flags); + err = i915_vma_move_to_active(vma, rq, flags); i915_vma_unlock(vma); return err; diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_coherency.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_coherency.c index a666d7e610f5fe..c228fe4aba505a 100644 --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_coherency.c +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_coherency.c @@ -239,9 +239,7 @@ static int gpu_set(struct context *ctx, unsigned long offset, u32 v) } intel_ring_advance(rq, cs); - err = i915_request_await_object(rq, vma->obj, true); - if (err == 0) - err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); + err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); out_rq: i915_request_add(rq); diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c index c6ad67b90e8af2..02c1c306990ca9 100644 --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c @@ -970,15 +970,11 @@ emit_rpcs_query(struct drm_i915_gem_object *obj, goto err_batch; } - err = i915_request_await_object(rq, batch->obj, false); - if (err == 0) - err = i915_vma_move_to_active(batch, rq, 0); + err = i915_vma_move_to_active(batch, rq, 0); if (err) goto skip_request; - err = i915_request_await_object(rq, vma->obj, true); - if (err == 0) - err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); + err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); if (err) goto skip_request; @@ -1539,9 +1535,7 @@ static int write_to_scratch(struct i915_gem_context *ctx, } i915_vma_lock(vma); - err = i915_request_await_object(rq, vma->obj, false); - if (err == 0) - err = i915_vma_move_to_active(vma, rq, 0); + err = i915_vma_move_to_active(vma, rq, 0); i915_vma_unlock(vma); if (err) goto skip_request; @@ -1675,9 +1669,7 @@ static int read_from_scratch(struct i915_gem_context *ctx, } i915_vma_lock(vma); - err = i915_request_await_object(rq, vma->obj, true); - if (err == 0) - err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); + err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); i915_vma_unlock(vma); if (err) goto skip_request; diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c index 1cae24349a96fd..80e7fdd5d16427 100644 --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c @@ -565,10 +565,8 @@ static int make_obj_busy(struct drm_i915_gem_object *obj) goto err_unpin; } - err = i915_request_await_object(rq, vma->obj, true); - if (err == 0) - err = i915_vma_move_to_active(vma, rq, - EXEC_OBJECT_WRITE); + err = i915_vma_move_to_active(vma, rq, + EXEC_OBJECT_WRITE); i915_request_add(rq); err_unpin: @@ -1608,9 +1606,7 @@ static int __igt_mmap_gpu(struct drm_i915_private *i915, goto out_unpin; } - err = i915_request_await_object(rq, vma->obj, false); - if (err == 0) - err = i915_vma_move_to_active(vma, rq, 0); + err = i915_vma_move_to_active(vma, rq, 0); err = engine->emit_bb_start(rq, vma->node.start, 0, 0); i915_request_get(rq); diff --git a/drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c b/drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c index 3c55e77b0f1b00..374b10ac430e8f 100644 --- a/drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c +++ b/drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c @@ -131,17 +131,13 @@ int igt_gpu_fill_dw(struct intel_context *ce, } i915_vma_lock(batch); - err = i915_request_await_object(rq, batch->obj, false); - if (err == 0) - err = i915_vma_move_to_active(batch, rq, 0); + err = i915_vma_move_to_active(batch, rq, 0); i915_vma_unlock(batch); if (err) goto skip_request; i915_vma_lock(vma); - err = i915_request_await_object(rq, vma->obj, true); - if (err == 0) - err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); + err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); i915_vma_unlock(vma); if (err) goto skip_request; diff --git a/drivers/gpu/drm/i915/gt/intel_renderstate.c b/drivers/gpu/drm/i915/gt/intel_renderstate.c index 5121e6dc2fa53e..9c1ae070ee7b9a 100644 --- a/drivers/gpu/drm/i915/gt/intel_renderstate.c +++ b/drivers/gpu/drm/i915/gt/intel_renderstate.c @@ -215,9 +215,7 @@ int intel_renderstate_emit(struct intel_renderstate *so, if (!so->vma) return 0; - err = i915_request_await_object(rq, so->vma->obj, false); - if (err == 0) - err = i915_vma_move_to_active(so->vma, rq, 0); + err = i915_vma_move_to_active(so->vma, rq, 0); if (err) return err; diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c index b8eb20a155f0d3..147adbe49e6670 100644 --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c @@ -3031,9 +3031,7 @@ static int engine_wa_list_verify(struct intel_context *ce, goto err_vma; } - err = i915_request_await_object(rq, vma->obj, true); - if (err == 0) - err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); + err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); if (err == 0) err = wa_list_srm(rq, wal, vma); diff --git a/drivers/gpu/drm/i915/gt/selftest_execlists.c b/drivers/gpu/drm/i915/gt/selftest_execlists.c index 56b7d5b5fea009..6e483ea2b2bb63 100644 --- a/drivers/gpu/drm/i915/gt/selftest_execlists.c +++ b/drivers/gpu/drm/i915/gt/selftest_execlists.c @@ -2764,9 +2764,7 @@ static int create_gang(struct intel_engine_cs *engine, i915_request_get(rq); i915_vma_lock(vma); - err = i915_request_await_object(rq, vma->obj, false); - if (!err) - err = i915_vma_move_to_active(vma, rq, 0); + err = i915_vma_move_to_active(vma, rq, 0); if (!err) err = rq->engine->emit_bb_start(rq, vma->node.start, @@ -3180,14 +3178,10 @@ create_gpr_client(struct intel_engine_cs *engine, } i915_vma_lock(vma); - err = i915_request_await_object(rq, vma->obj, false); - if (!err) - err = i915_vma_move_to_active(vma, rq, 0); + err = i915_vma_move_to_active(vma, rq, 0); i915_vma_unlock(vma); i915_vma_lock(batch); - if (!err) - err = i915_request_await_object(rq, batch->obj, false); if (!err) err = i915_vma_move_to_active(batch, rq, 0); if (!err) @@ -3519,9 +3513,7 @@ static int smoke_submit(struct preempt_smoke *smoke, if (vma) { i915_vma_lock(vma); - err = i915_request_await_object(rq, vma->obj, false); - if (!err) - err = i915_vma_move_to_active(vma, rq, 0); + err = i915_vma_move_to_active(vma, rq, 0); if (!err) err = rq->engine->emit_bb_start(rq, vma->node.start, diff --git a/drivers/gpu/drm/i915/gt/selftest_hangcheck.c b/drivers/gpu/drm/i915/gt/selftest_hangcheck.c index 7f3bb1d34dfbf6..f8dabce671aa64 100644 --- a/drivers/gpu/drm/i915/gt/selftest_hangcheck.c +++ b/drivers/gpu/drm/i915/gt/selftest_hangcheck.c @@ -106,10 +106,7 @@ static int move_to_active(struct i915_vma *vma, int err; i915_vma_lock(vma); - err = i915_request_await_object(rq, vma->obj, - flags & EXEC_OBJECT_WRITE); - if (err == 0) - err = i915_vma_move_to_active(vma, rq, flags); + err = i915_vma_move_to_active(vma, rq, flags); i915_vma_unlock(vma); return err; @@ -1511,15 +1508,9 @@ static int __igt_reset_evict_vma(struct intel_gt *gt, } i915_vma_lock(arg.vma); - err = i915_request_await_object(rq, arg.vma->obj, - flags & EXEC_OBJECT_WRITE); - if (err == 0) { - err = i915_vma_move_to_active(arg.vma, rq, flags); - if (err) - pr_err("[%s] Move to active failed: %d!\n", engine->name, err); - } else { - pr_err("[%s] Request await failed: %d!\n", engine->name, err); - } + err = i915_vma_move_to_active(arg.vma, rq, flags); + if (err) + pr_err("[%s] Move to active failed: %d!\n", engine->name, err); i915_vma_unlock(arg.vma); diff --git a/drivers/gpu/drm/i915/gt/selftest_lrc.c b/drivers/gpu/drm/i915/gt/selftest_lrc.c index 82d3f8058995a9..b25f281ce0cbfe 100644 --- a/drivers/gpu/drm/i915/gt/selftest_lrc.c +++ b/drivers/gpu/drm/i915/gt/selftest_lrc.c @@ -452,9 +452,7 @@ static int __live_lrc_state(struct intel_engine_cs *engine, *cs++ = i915_ggtt_offset(scratch) + RING_TAIL_IDX * sizeof(u32); *cs++ = 0; - err = i915_request_await_object(rq, scratch->obj, true); - if (!err) - err = i915_vma_move_to_active(scratch, rq, EXEC_OBJECT_WRITE); + err = i915_vma_move_to_active(scratch, rq, EXEC_OBJECT_WRITE); i915_request_get(rq); i915_request_add(rq); @@ -602,9 +600,7 @@ __gpr_read(struct intel_context *ce, struct i915_vma *scratch, u32 *slot) } i915_vma_lock(scratch); - err = i915_request_await_object(rq, scratch->obj, true); - if (!err) - err = i915_vma_move_to_active(scratch, rq, EXEC_OBJECT_WRITE); + err = i915_vma_move_to_active(scratch, rq, EXEC_OBJECT_WRITE); i915_vma_unlock(scratch); i915_request_get(rq); @@ -1060,9 +1056,7 @@ static int move_to_active(struct i915_request *rq, int err; i915_vma_lock(vma); - err = i915_request_await_object(rq, vma->obj, flags); - if (!err) - err = i915_vma_move_to_active(vma, rq, flags); + err = i915_vma_move_to_active(vma, rq, flags); i915_vma_unlock(vma); return err; diff --git a/drivers/gpu/drm/i915/gt/selftest_mocs.c b/drivers/gpu/drm/i915/gt/selftest_mocs.c index c1d861333c44cc..e0921c87d6a5c2 100644 --- a/drivers/gpu/drm/i915/gt/selftest_mocs.c +++ b/drivers/gpu/drm/i915/gt/selftest_mocs.c @@ -228,9 +228,7 @@ static int check_mocs_engine(struct live_mocs *arg, return PTR_ERR(rq); i915_vma_lock(vma); - err = i915_request_await_object(rq, vma->obj, true); - if (!err) - err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); + err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); i915_vma_unlock(vma); /* Read the mocs tables back using SRM */ diff --git a/drivers/gpu/drm/i915/gt/selftest_rps.c b/drivers/gpu/drm/i915/gt/selftest_rps.c index 99a372486fb7f6..39f1b7564170c4 100644 --- a/drivers/gpu/drm/i915/gt/selftest_rps.c +++ b/drivers/gpu/drm/i915/gt/selftest_rps.c @@ -652,9 +652,7 @@ int live_rps_frequency_cs(void *arg) goto err_vma; } - err = i915_request_await_object(rq, vma->obj, false); - if (!err) - err = i915_vma_move_to_active(vma, rq, 0); + err = i915_vma_move_to_active(vma, rq, 0); if (!err) err = rq->engine->emit_bb_start(rq, vma->node.start, @@ -793,9 +791,7 @@ int live_rps_frequency_srm(void *arg) goto err_vma; } - err = i915_request_await_object(rq, vma->obj, false); - if (!err) - err = i915_vma_move_to_active(vma, rq, 0); + err = i915_vma_move_to_active(vma, rq, 0); if (!err) err = rq->engine->emit_bb_start(rq, vma->node.start, diff --git a/drivers/gpu/drm/i915/gt/selftest_workarounds.c b/drivers/gpu/drm/i915/gt/selftest_workarounds.c index 67a9aab801ddf1..8a7d8469a57c8c 100644 --- a/drivers/gpu/drm/i915/gt/selftest_workarounds.c +++ b/drivers/gpu/drm/i915/gt/selftest_workarounds.c @@ -139,9 +139,7 @@ read_nonprivs(struct intel_context *ce) } i915_vma_lock(vma); - err = i915_request_await_object(rq, vma->obj, true); - if (err == 0) - err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); + err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); i915_vma_unlock(vma); if (err) goto err_req; @@ -632,16 +630,12 @@ static int check_dirty_whitelist(struct intel_context *ce) goto err_request; } - err = i915_request_await_object(rq, batch->obj, false); - if (err == 0) - err = i915_vma_move_to_active(batch, rq, 0); + err = i915_vma_move_to_active(batch, rq, 0); if (err) goto err_request; - err = i915_request_await_object(rq, scratch->obj, true); - if (err == 0) - err = i915_vma_move_to_active(scratch, rq, - EXEC_OBJECT_WRITE); + err = i915_vma_move_to_active(scratch, rq, + EXEC_OBJECT_WRITE); if (err) goto err_request; @@ -860,9 +854,7 @@ static int read_whitelisted_registers(struct intel_context *ce, return PTR_ERR(rq); i915_vma_lock(results); - err = i915_request_await_object(rq, results->obj, true); - if (err == 0) - err = i915_vma_move_to_active(results, rq, EXEC_OBJECT_WRITE); + err = i915_vma_move_to_active(results, rq, EXEC_OBJECT_WRITE); i915_vma_unlock(results); if (err) goto err_req; @@ -944,9 +936,7 @@ static int scrub_whitelisted_registers(struct intel_context *ce) } i915_vma_lock(batch); - err = i915_request_await_object(rq, batch->obj, false); - if (err == 0) - err = i915_vma_move_to_active(batch, rq, 0); + err = i915_vma_move_to_active(batch, rq, 0); i915_vma_unlock(batch); if (err) goto err_request; diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c b/drivers/gpu/drm/i915/gvt/scheduler.c index d6fe94cd0fdb61..b49098f045005e 100644 --- a/drivers/gpu/drm/i915/gvt/scheduler.c +++ b/drivers/gpu/drm/i915/gvt/scheduler.c @@ -570,9 +570,8 @@ static int prepare_shadow_batch_buffer(struct intel_vgpu_workload *workload) if (gmadr_bytes == 8) bb->bb_start_cmd_va[2] = 0; - ret = i915_vma_move_to_active(bb->vma, - workload->req, - 0); + ret = _i915_vma_move_to_active(bb->vma, workload->req, + &workload->req->fence, 0); if (ret) goto err; diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c index 15816df916c781..19138e99d2fd03 100644 --- a/drivers/gpu/drm/i915/i915_perf.c +++ b/drivers/gpu/drm/i915/i915_perf.c @@ -2015,9 +2015,7 @@ emit_oa_config(struct i915_perf_stream *stream, goto err_add_request; } - err = i915_request_await_object(rq, vma->obj, 0); - if (!err) - err = i915_vma_move_to_active(vma, rq, 0); + err = i915_vma_move_to_active(vma, rq, 0); if (err) goto err_add_request; diff --git a/drivers/gpu/drm/i915/i915_vma.h b/drivers/gpu/drm/i915/i915_vma.h index aecd9c64486b27..47ac5bd1ffcce6 100644 --- a/drivers/gpu/drm/i915/i915_vma.h +++ b/drivers/gpu/drm/i915/i915_vma.h @@ -64,7 +64,11 @@ static inline int __must_check i915_vma_move_to_active(struct i915_vma *vma, struct i915_request *rq, unsigned int flags) { - return _i915_vma_move_to_active(vma, rq, &rq->fence, flags); + int err = i915_request_await_object(rq, vma->obj, flags & EXEC_OBJECT_WRITE); + + if (!err) + err = _i915_vma_move_to_active(vma, rq, &rq->fence, flags); + return err; } #define __i915_vma_flags(v) ((unsigned long *)&(v)->flags.counter) diff --git a/drivers/gpu/drm/i915/selftests/i915_request.c b/drivers/gpu/drm/i915/selftests/i915_request.c index 818a4909c1f354..f9fe634fe27a62 100644 --- a/drivers/gpu/drm/i915/selftests/i915_request.c +++ b/drivers/gpu/drm/i915/selftests/i915_request.c @@ -1203,9 +1203,7 @@ static int live_all_engines(void *arg) goto out_request; } - err = i915_request_await_object(request[idx], batch->obj, 0); - if (err == 0) - err = i915_vma_move_to_active(batch, request[idx], 0); + err = i915_vma_move_to_active(batch, request[idx], 0); GEM_BUG_ON(err); err = engine->emit_bb_start(request[idx], @@ -1332,10 +1330,7 @@ static int live_sequential_engines(void *arg) } } - err = i915_request_await_object(request[idx], - batch->obj, false); - if (err == 0) - err = i915_vma_move_to_active(batch, request[idx], 0); + err = i915_vma_move_to_active(batch, request[idx], 0); GEM_BUG_ON(err); err = engine->emit_bb_start(request[idx], diff --git a/drivers/gpu/drm/i915/selftests/igt_spinner.c b/drivers/gpu/drm/i915/selftests/igt_spinner.c index 0c22594ae27469..78b3c138a6d326 100644 --- a/drivers/gpu/drm/i915/selftests/igt_spinner.c +++ b/drivers/gpu/drm/i915/selftests/igt_spinner.c @@ -126,10 +126,7 @@ static int move_to_active(struct i915_vma *vma, int err; i915_vma_lock(vma); - err = i915_request_await_object(rq, vma->obj, - flags & EXEC_OBJECT_WRITE); - if (err == 0) - err = i915_vma_move_to_active(vma, rq, flags); + err = i915_vma_move_to_active(vma, rq, flags); i915_vma_unlock(vma); return err; -- 2.34.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [Intel-gfx] [PATCH 1/2] drm/i915: add wait and lock to i915_vma_move_to_active 2022-10-13 13:30 ` [Intel-gfx] [PATCH 1/2] drm/i915: add wait and lock to i915_vma_move_to_active Andrzej Hajda @ 2022-10-13 14:00 ` Tvrtko Ursulin 2022-10-21 15:51 ` Andi Shyti 1 sibling, 0 replies; 12+ messages in thread From: Tvrtko Ursulin @ 2022-10-13 14:00 UTC (permalink / raw) To: Andrzej Hajda, intel-gfx; +Cc: Lucas De Marchi, Matthew Auld, Rodrigo Vivi On 13/10/2022 14:30, Andrzej Hajda wrote: > Since almost all calls to i915_vma_move_to_active are prepended with > i915_request_await_object, let's put it into i915_vma_move_to_active. > The patch should not introduce functional changes. I know I am late to the party but perhaps one alternative approach to consider would be extending the flags (see __EXEC_OBJECT_NO_RESERVE for namespace) and handling the await from _i915_vma_move_to_active? Since it already acceses vma->obj from there. Not saying it would be a smaller diff but would avoid extending the static inline wrapper. Maybe more readable? Don't know. No strong opinion either way from me. Regards, Tvrtko > Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com> > --- > .../i915/gem/selftests/i915_gem_client_blt.c | 4 +--- > .../i915/gem/selftests/i915_gem_coherency.c | 4 +--- > .../drm/i915/gem/selftests/i915_gem_context.c | 16 ++++---------- > .../drm/i915/gem/selftests/i915_gem_mman.c | 10 +++------ > .../drm/i915/gem/selftests/igt_gem_utils.c | 8 ++----- > drivers/gpu/drm/i915/gt/intel_renderstate.c | 4 +--- > drivers/gpu/drm/i915/gt/intel_workarounds.c | 4 +--- > drivers/gpu/drm/i915/gt/selftest_execlists.c | 14 +++--------- > drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 17 ++++---------- > drivers/gpu/drm/i915/gt/selftest_lrc.c | 12 +++------- > drivers/gpu/drm/i915/gt/selftest_mocs.c | 4 +--- > drivers/gpu/drm/i915/gt/selftest_rps.c | 8 ++----- > .../gpu/drm/i915/gt/selftest_workarounds.c | 22 +++++-------------- > drivers/gpu/drm/i915/gvt/scheduler.c | 5 ++--- > drivers/gpu/drm/i915/i915_perf.c | 4 +--- > drivers/gpu/drm/i915/i915_vma.h | 6 ++++- > drivers/gpu/drm/i915/selftests/i915_request.c | 9 ++------ > drivers/gpu/drm/i915/selftests/igt_spinner.c | 5 +---- > 18 files changed, 43 insertions(+), 113 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_client_blt.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_client_blt.c > index 9a6a6b5b722b60..97dd34bd3acfd3 100644 > --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_client_blt.c > +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_client_blt.c > @@ -464,9 +464,7 @@ static int move_to_active(struct i915_vma *vma, > int err; > > i915_vma_lock(vma); > - err = i915_request_await_object(rq, vma->obj, false); > - if (err == 0) > - err = i915_vma_move_to_active(vma, rq, flags); > + err = i915_vma_move_to_active(vma, rq, flags); > i915_vma_unlock(vma); > > return err; > diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_coherency.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_coherency.c > index a666d7e610f5fe..c228fe4aba505a 100644 > --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_coherency.c > +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_coherency.c > @@ -239,9 +239,7 @@ static int gpu_set(struct context *ctx, unsigned long offset, u32 v) > } > intel_ring_advance(rq, cs); > > - err = i915_request_await_object(rq, vma->obj, true); > - if (err == 0) > - err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); > + err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); > > out_rq: > i915_request_add(rq); > diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c > index c6ad67b90e8af2..02c1c306990ca9 100644 > --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c > +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c > @@ -970,15 +970,11 @@ emit_rpcs_query(struct drm_i915_gem_object *obj, > goto err_batch; > } > > - err = i915_request_await_object(rq, batch->obj, false); > - if (err == 0) > - err = i915_vma_move_to_active(batch, rq, 0); > + err = i915_vma_move_to_active(batch, rq, 0); > if (err) > goto skip_request; > > - err = i915_request_await_object(rq, vma->obj, true); > - if (err == 0) > - err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); > + err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); > if (err) > goto skip_request; > > @@ -1539,9 +1535,7 @@ static int write_to_scratch(struct i915_gem_context *ctx, > } > > i915_vma_lock(vma); > - err = i915_request_await_object(rq, vma->obj, false); > - if (err == 0) > - err = i915_vma_move_to_active(vma, rq, 0); > + err = i915_vma_move_to_active(vma, rq, 0); > i915_vma_unlock(vma); > if (err) > goto skip_request; > @@ -1675,9 +1669,7 @@ static int read_from_scratch(struct i915_gem_context *ctx, > } > > i915_vma_lock(vma); > - err = i915_request_await_object(rq, vma->obj, true); > - if (err == 0) > - err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); > + err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); > i915_vma_unlock(vma); > if (err) > goto skip_request; > diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c > index 1cae24349a96fd..80e7fdd5d16427 100644 > --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c > +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c > @@ -565,10 +565,8 @@ static int make_obj_busy(struct drm_i915_gem_object *obj) > goto err_unpin; > } > > - err = i915_request_await_object(rq, vma->obj, true); > - if (err == 0) > - err = i915_vma_move_to_active(vma, rq, > - EXEC_OBJECT_WRITE); > + err = i915_vma_move_to_active(vma, rq, > + EXEC_OBJECT_WRITE); > > i915_request_add(rq); > err_unpin: > @@ -1608,9 +1606,7 @@ static int __igt_mmap_gpu(struct drm_i915_private *i915, > goto out_unpin; > } > > - err = i915_request_await_object(rq, vma->obj, false); > - if (err == 0) > - err = i915_vma_move_to_active(vma, rq, 0); > + err = i915_vma_move_to_active(vma, rq, 0); > > err = engine->emit_bb_start(rq, vma->node.start, 0, 0); > i915_request_get(rq); > diff --git a/drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c b/drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c > index 3c55e77b0f1b00..374b10ac430e8f 100644 > --- a/drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c > +++ b/drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c > @@ -131,17 +131,13 @@ int igt_gpu_fill_dw(struct intel_context *ce, > } > > i915_vma_lock(batch); > - err = i915_request_await_object(rq, batch->obj, false); > - if (err == 0) > - err = i915_vma_move_to_active(batch, rq, 0); > + err = i915_vma_move_to_active(batch, rq, 0); > i915_vma_unlock(batch); > if (err) > goto skip_request; > > i915_vma_lock(vma); > - err = i915_request_await_object(rq, vma->obj, true); > - if (err == 0) > - err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); > + err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); > i915_vma_unlock(vma); > if (err) > goto skip_request; > diff --git a/drivers/gpu/drm/i915/gt/intel_renderstate.c b/drivers/gpu/drm/i915/gt/intel_renderstate.c > index 5121e6dc2fa53e..9c1ae070ee7b9a 100644 > --- a/drivers/gpu/drm/i915/gt/intel_renderstate.c > +++ b/drivers/gpu/drm/i915/gt/intel_renderstate.c > @@ -215,9 +215,7 @@ int intel_renderstate_emit(struct intel_renderstate *so, > if (!so->vma) > return 0; > > - err = i915_request_await_object(rq, so->vma->obj, false); > - if (err == 0) > - err = i915_vma_move_to_active(so->vma, rq, 0); > + err = i915_vma_move_to_active(so->vma, rq, 0); > if (err) > return err; > > diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c > index b8eb20a155f0d3..147adbe49e6670 100644 > --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c > +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c > @@ -3031,9 +3031,7 @@ static int engine_wa_list_verify(struct intel_context *ce, > goto err_vma; > } > > - err = i915_request_await_object(rq, vma->obj, true); > - if (err == 0) > - err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); > + err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); > if (err == 0) > err = wa_list_srm(rq, wal, vma); > > diff --git a/drivers/gpu/drm/i915/gt/selftest_execlists.c b/drivers/gpu/drm/i915/gt/selftest_execlists.c > index 56b7d5b5fea009..6e483ea2b2bb63 100644 > --- a/drivers/gpu/drm/i915/gt/selftest_execlists.c > +++ b/drivers/gpu/drm/i915/gt/selftest_execlists.c > @@ -2764,9 +2764,7 @@ static int create_gang(struct intel_engine_cs *engine, > i915_request_get(rq); > > i915_vma_lock(vma); > - err = i915_request_await_object(rq, vma->obj, false); > - if (!err) > - err = i915_vma_move_to_active(vma, rq, 0); > + err = i915_vma_move_to_active(vma, rq, 0); > if (!err) > err = rq->engine->emit_bb_start(rq, > vma->node.start, > @@ -3180,14 +3178,10 @@ create_gpr_client(struct intel_engine_cs *engine, > } > > i915_vma_lock(vma); > - err = i915_request_await_object(rq, vma->obj, false); > - if (!err) > - err = i915_vma_move_to_active(vma, rq, 0); > + err = i915_vma_move_to_active(vma, rq, 0); > i915_vma_unlock(vma); > > i915_vma_lock(batch); > - if (!err) > - err = i915_request_await_object(rq, batch->obj, false); > if (!err) > err = i915_vma_move_to_active(batch, rq, 0); > if (!err) > @@ -3519,9 +3513,7 @@ static int smoke_submit(struct preempt_smoke *smoke, > > if (vma) { > i915_vma_lock(vma); > - err = i915_request_await_object(rq, vma->obj, false); > - if (!err) > - err = i915_vma_move_to_active(vma, rq, 0); > + err = i915_vma_move_to_active(vma, rq, 0); > if (!err) > err = rq->engine->emit_bb_start(rq, > vma->node.start, > diff --git a/drivers/gpu/drm/i915/gt/selftest_hangcheck.c b/drivers/gpu/drm/i915/gt/selftest_hangcheck.c > index 7f3bb1d34dfbf6..f8dabce671aa64 100644 > --- a/drivers/gpu/drm/i915/gt/selftest_hangcheck.c > +++ b/drivers/gpu/drm/i915/gt/selftest_hangcheck.c > @@ -106,10 +106,7 @@ static int move_to_active(struct i915_vma *vma, > int err; > > i915_vma_lock(vma); > - err = i915_request_await_object(rq, vma->obj, > - flags & EXEC_OBJECT_WRITE); > - if (err == 0) > - err = i915_vma_move_to_active(vma, rq, flags); > + err = i915_vma_move_to_active(vma, rq, flags); > i915_vma_unlock(vma); > > return err; > @@ -1511,15 +1508,9 @@ static int __igt_reset_evict_vma(struct intel_gt *gt, > } > > i915_vma_lock(arg.vma); > - err = i915_request_await_object(rq, arg.vma->obj, > - flags & EXEC_OBJECT_WRITE); > - if (err == 0) { > - err = i915_vma_move_to_active(arg.vma, rq, flags); > - if (err) > - pr_err("[%s] Move to active failed: %d!\n", engine->name, err); > - } else { > - pr_err("[%s] Request await failed: %d!\n", engine->name, err); > - } > + err = i915_vma_move_to_active(arg.vma, rq, flags); > + if (err) > + pr_err("[%s] Move to active failed: %d!\n", engine->name, err); > > i915_vma_unlock(arg.vma); > > diff --git a/drivers/gpu/drm/i915/gt/selftest_lrc.c b/drivers/gpu/drm/i915/gt/selftest_lrc.c > index 82d3f8058995a9..b25f281ce0cbfe 100644 > --- a/drivers/gpu/drm/i915/gt/selftest_lrc.c > +++ b/drivers/gpu/drm/i915/gt/selftest_lrc.c > @@ -452,9 +452,7 @@ static int __live_lrc_state(struct intel_engine_cs *engine, > *cs++ = i915_ggtt_offset(scratch) + RING_TAIL_IDX * sizeof(u32); > *cs++ = 0; > > - err = i915_request_await_object(rq, scratch->obj, true); > - if (!err) > - err = i915_vma_move_to_active(scratch, rq, EXEC_OBJECT_WRITE); > + err = i915_vma_move_to_active(scratch, rq, EXEC_OBJECT_WRITE); > > i915_request_get(rq); > i915_request_add(rq); > @@ -602,9 +600,7 @@ __gpr_read(struct intel_context *ce, struct i915_vma *scratch, u32 *slot) > } > > i915_vma_lock(scratch); > - err = i915_request_await_object(rq, scratch->obj, true); > - if (!err) > - err = i915_vma_move_to_active(scratch, rq, EXEC_OBJECT_WRITE); > + err = i915_vma_move_to_active(scratch, rq, EXEC_OBJECT_WRITE); > i915_vma_unlock(scratch); > > i915_request_get(rq); > @@ -1060,9 +1056,7 @@ static int move_to_active(struct i915_request *rq, > int err; > > i915_vma_lock(vma); > - err = i915_request_await_object(rq, vma->obj, flags); > - if (!err) > - err = i915_vma_move_to_active(vma, rq, flags); > + err = i915_vma_move_to_active(vma, rq, flags); > i915_vma_unlock(vma); > > return err; > diff --git a/drivers/gpu/drm/i915/gt/selftest_mocs.c b/drivers/gpu/drm/i915/gt/selftest_mocs.c > index c1d861333c44cc..e0921c87d6a5c2 100644 > --- a/drivers/gpu/drm/i915/gt/selftest_mocs.c > +++ b/drivers/gpu/drm/i915/gt/selftest_mocs.c > @@ -228,9 +228,7 @@ static int check_mocs_engine(struct live_mocs *arg, > return PTR_ERR(rq); > > i915_vma_lock(vma); > - err = i915_request_await_object(rq, vma->obj, true); > - if (!err) > - err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); > + err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); > i915_vma_unlock(vma); > > /* Read the mocs tables back using SRM */ > diff --git a/drivers/gpu/drm/i915/gt/selftest_rps.c b/drivers/gpu/drm/i915/gt/selftest_rps.c > index 99a372486fb7f6..39f1b7564170c4 100644 > --- a/drivers/gpu/drm/i915/gt/selftest_rps.c > +++ b/drivers/gpu/drm/i915/gt/selftest_rps.c > @@ -652,9 +652,7 @@ int live_rps_frequency_cs(void *arg) > goto err_vma; > } > > - err = i915_request_await_object(rq, vma->obj, false); > - if (!err) > - err = i915_vma_move_to_active(vma, rq, 0); > + err = i915_vma_move_to_active(vma, rq, 0); > if (!err) > err = rq->engine->emit_bb_start(rq, > vma->node.start, > @@ -793,9 +791,7 @@ int live_rps_frequency_srm(void *arg) > goto err_vma; > } > > - err = i915_request_await_object(rq, vma->obj, false); > - if (!err) > - err = i915_vma_move_to_active(vma, rq, 0); > + err = i915_vma_move_to_active(vma, rq, 0); > if (!err) > err = rq->engine->emit_bb_start(rq, > vma->node.start, > diff --git a/drivers/gpu/drm/i915/gt/selftest_workarounds.c b/drivers/gpu/drm/i915/gt/selftest_workarounds.c > index 67a9aab801ddf1..8a7d8469a57c8c 100644 > --- a/drivers/gpu/drm/i915/gt/selftest_workarounds.c > +++ b/drivers/gpu/drm/i915/gt/selftest_workarounds.c > @@ -139,9 +139,7 @@ read_nonprivs(struct intel_context *ce) > } > > i915_vma_lock(vma); > - err = i915_request_await_object(rq, vma->obj, true); > - if (err == 0) > - err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); > + err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); > i915_vma_unlock(vma); > if (err) > goto err_req; > @@ -632,16 +630,12 @@ static int check_dirty_whitelist(struct intel_context *ce) > goto err_request; > } > > - err = i915_request_await_object(rq, batch->obj, false); > - if (err == 0) > - err = i915_vma_move_to_active(batch, rq, 0); > + err = i915_vma_move_to_active(batch, rq, 0); > if (err) > goto err_request; > > - err = i915_request_await_object(rq, scratch->obj, true); > - if (err == 0) > - err = i915_vma_move_to_active(scratch, rq, > - EXEC_OBJECT_WRITE); > + err = i915_vma_move_to_active(scratch, rq, > + EXEC_OBJECT_WRITE); > if (err) > goto err_request; > > @@ -860,9 +854,7 @@ static int read_whitelisted_registers(struct intel_context *ce, > return PTR_ERR(rq); > > i915_vma_lock(results); > - err = i915_request_await_object(rq, results->obj, true); > - if (err == 0) > - err = i915_vma_move_to_active(results, rq, EXEC_OBJECT_WRITE); > + err = i915_vma_move_to_active(results, rq, EXEC_OBJECT_WRITE); > i915_vma_unlock(results); > if (err) > goto err_req; > @@ -944,9 +936,7 @@ static int scrub_whitelisted_registers(struct intel_context *ce) > } > > i915_vma_lock(batch); > - err = i915_request_await_object(rq, batch->obj, false); > - if (err == 0) > - err = i915_vma_move_to_active(batch, rq, 0); > + err = i915_vma_move_to_active(batch, rq, 0); > i915_vma_unlock(batch); > if (err) > goto err_request; > diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c b/drivers/gpu/drm/i915/gvt/scheduler.c > index d6fe94cd0fdb61..b49098f045005e 100644 > --- a/drivers/gpu/drm/i915/gvt/scheduler.c > +++ b/drivers/gpu/drm/i915/gvt/scheduler.c > @@ -570,9 +570,8 @@ static int prepare_shadow_batch_buffer(struct intel_vgpu_workload *workload) > if (gmadr_bytes == 8) > bb->bb_start_cmd_va[2] = 0; > > - ret = i915_vma_move_to_active(bb->vma, > - workload->req, > - 0); > + ret = _i915_vma_move_to_active(bb->vma, workload->req, > + &workload->req->fence, 0); > if (ret) > goto err; > > diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c > index 15816df916c781..19138e99d2fd03 100644 > --- a/drivers/gpu/drm/i915/i915_perf.c > +++ b/drivers/gpu/drm/i915/i915_perf.c > @@ -2015,9 +2015,7 @@ emit_oa_config(struct i915_perf_stream *stream, > goto err_add_request; > } > > - err = i915_request_await_object(rq, vma->obj, 0); > - if (!err) > - err = i915_vma_move_to_active(vma, rq, 0); > + err = i915_vma_move_to_active(vma, rq, 0); > if (err) > goto err_add_request; > > diff --git a/drivers/gpu/drm/i915/i915_vma.h b/drivers/gpu/drm/i915/i915_vma.h > index aecd9c64486b27..47ac5bd1ffcce6 100644 > --- a/drivers/gpu/drm/i915/i915_vma.h > +++ b/drivers/gpu/drm/i915/i915_vma.h > @@ -64,7 +64,11 @@ static inline int __must_check > i915_vma_move_to_active(struct i915_vma *vma, struct i915_request *rq, > unsigned int flags) > { > - return _i915_vma_move_to_active(vma, rq, &rq->fence, flags); > + int err = i915_request_await_object(rq, vma->obj, flags & EXEC_OBJECT_WRITE); > + > + if (!err) > + err = _i915_vma_move_to_active(vma, rq, &rq->fence, flags); > + return err; > } > > #define __i915_vma_flags(v) ((unsigned long *)&(v)->flags.counter) > diff --git a/drivers/gpu/drm/i915/selftests/i915_request.c b/drivers/gpu/drm/i915/selftests/i915_request.c > index 818a4909c1f354..f9fe634fe27a62 100644 > --- a/drivers/gpu/drm/i915/selftests/i915_request.c > +++ b/drivers/gpu/drm/i915/selftests/i915_request.c > @@ -1203,9 +1203,7 @@ static int live_all_engines(void *arg) > goto out_request; > } > > - err = i915_request_await_object(request[idx], batch->obj, 0); > - if (err == 0) > - err = i915_vma_move_to_active(batch, request[idx], 0); > + err = i915_vma_move_to_active(batch, request[idx], 0); > GEM_BUG_ON(err); > > err = engine->emit_bb_start(request[idx], > @@ -1332,10 +1330,7 @@ static int live_sequential_engines(void *arg) > } > } > > - err = i915_request_await_object(request[idx], > - batch->obj, false); > - if (err == 0) > - err = i915_vma_move_to_active(batch, request[idx], 0); > + err = i915_vma_move_to_active(batch, request[idx], 0); > GEM_BUG_ON(err); > > err = engine->emit_bb_start(request[idx], > diff --git a/drivers/gpu/drm/i915/selftests/igt_spinner.c b/drivers/gpu/drm/i915/selftests/igt_spinner.c > index 0c22594ae27469..78b3c138a6d326 100644 > --- a/drivers/gpu/drm/i915/selftests/igt_spinner.c > +++ b/drivers/gpu/drm/i915/selftests/igt_spinner.c > @@ -126,10 +126,7 @@ static int move_to_active(struct i915_vma *vma, > int err; > > i915_vma_lock(vma); > - err = i915_request_await_object(rq, vma->obj, > - flags & EXEC_OBJECT_WRITE); > - if (err == 0) > - err = i915_vma_move_to_active(vma, rq, flags); > + err = i915_vma_move_to_active(vma, rq, flags); > i915_vma_unlock(vma); > > return err; ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Intel-gfx] [PATCH 1/2] drm/i915: add wait and lock to i915_vma_move_to_active 2022-10-13 13:30 ` [Intel-gfx] [PATCH 1/2] drm/i915: add wait and lock to i915_vma_move_to_active Andrzej Hajda 2022-10-13 14:00 ` Tvrtko Ursulin @ 2022-10-21 15:51 ` Andi Shyti 2022-10-24 13:45 ` Andrzej Hajda 1 sibling, 1 reply; 12+ messages in thread From: Andi Shyti @ 2022-10-21 15:51 UTC (permalink / raw) To: Andrzej Hajda; +Cc: intel-gfx, Lucas De Marchi, Matthew Auld, Rodrigo Vivi Hi Andrzej, (at first I r-b'ed this patch, but then I wanted to think on some more "simplification" (if it really simplifies things). Please read the review in patch 2 first ) > diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c > index 1cae24349a96fd..80e7fdd5d16427 100644 > --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c > +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c > @@ -565,10 +565,8 @@ static int make_obj_busy(struct drm_i915_gem_object *obj) > goto err_unpin; > } > > - err = i915_request_await_object(rq, vma->obj, true); > - if (err == 0) > - err = i915_vma_move_to_active(vma, rq, > - EXEC_OBJECT_WRITE); > + err = i915_vma_move_to_active(vma, rq, > + EXEC_OBJECT_WRITE); nit: don't need to break the line here. > > i915_request_add(rq); > err_unpin: [...] > @@ -860,9 +854,7 @@ static int read_whitelisted_registers(struct intel_context *ce, > return PTR_ERR(rq); > > i915_vma_lock(results); > - err = i915_request_await_object(rq, results->obj, true); > - if (err == 0) > - err = i915_vma_move_to_active(results, rq, EXEC_OBJECT_WRITE); > + err = i915_vma_move_to_active(results, rq, EXEC_OBJECT_WRITE); > i915_vma_unlock(results); > if (err) > goto err_req; > @@ -944,9 +936,7 @@ static int scrub_whitelisted_registers(struct intel_context *ce) > } > > i915_vma_lock(batch); > - err = i915_request_await_object(rq, batch->obj, false); > - if (err == 0) > - err = i915_vma_move_to_active(batch, rq, 0); > + err = i915_vma_move_to_active(batch, rq, 0); > i915_vma_unlock(batch); The final risult would be: i915_vma_lock(); i915_vma_move_to_active() i915_vma_unlock(); and it's a pattern... as I suggested in patch 2, how about having an: i915_vma_move_to_active_unlocked() and... > if (err) > goto err_request; > diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c b/drivers/gpu/drm/i915/gvt/scheduler.c > index d6fe94cd0fdb61..b49098f045005e 100644 > --- a/drivers/gpu/drm/i915/gvt/scheduler.c > +++ b/drivers/gpu/drm/i915/gvt/scheduler.c > @@ -570,9 +570,8 @@ static int prepare_shadow_batch_buffer(struct intel_vgpu_workload *workload) > if (gmadr_bytes == 8) > bb->bb_start_cmd_va[2] = 0; > > - ret = i915_vma_move_to_active(bb->vma, > - workload->req, > - 0); > + ret = _i915_vma_move_to_active(bb->vma, workload->req, > + &workload->req->fence, 0); > if (ret) > goto err; > > diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c > index 15816df916c781..19138e99d2fd03 100644 > --- a/drivers/gpu/drm/i915/i915_perf.c > +++ b/drivers/gpu/drm/i915/i915_perf.c > @@ -2015,9 +2015,7 @@ emit_oa_config(struct i915_perf_stream *stream, > goto err_add_request; > } > > - err = i915_request_await_object(rq, vma->obj, 0); > - if (!err) > - err = i915_vma_move_to_active(vma, rq, 0); > + err = i915_vma_move_to_active(vma, rq, 0); > if (err) > goto err_add_request; > > diff --git a/drivers/gpu/drm/i915/i915_vma.h b/drivers/gpu/drm/i915/i915_vma.h > index aecd9c64486b27..47ac5bd1ffcce6 100644 > --- a/drivers/gpu/drm/i915/i915_vma.h > +++ b/drivers/gpu/drm/i915/i915_vma.h > @@ -64,7 +64,11 @@ static inline int __must_check > i915_vma_move_to_active(struct i915_vma *vma, struct i915_request *rq, > unsigned int flags) > { > - return _i915_vma_move_to_active(vma, rq, &rq->fence, flags); > + int err = i915_request_await_object(rq, vma->obj, flags & EXEC_OBJECT_WRITE); > + > + if (!err) > + err = _i915_vma_move_to_active(vma, rq, &rq->fence, flags); > + return err; > } ... this i915_vma_move_to_active() now it's doing more than just moving to active but it's also waiting on dma fences, shall we call it i915_vma_move_to_active_async() or silimar? (I'm not good at giving names). The above would be i915_vma_move_to_active_async_unlocked(). Too long? More complex? We would have something like: i915_vma_move_to_active() /* not used */ i915_vma_move_to_active_unlocked() i915_vma_move_to_active_async() i915_vma_move_to_active_async_unlocked() Anyway as it is looks good, I didn't spot any error in the conversion: Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com> Andi [...] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Intel-gfx] [PATCH 1/2] drm/i915: add wait and lock to i915_vma_move_to_active 2022-10-21 15:51 ` Andi Shyti @ 2022-10-24 13:45 ` Andrzej Hajda 0 siblings, 0 replies; 12+ messages in thread From: Andrzej Hajda @ 2022-10-24 13:45 UTC (permalink / raw) To: Andi Shyti; +Cc: intel-gfx, Lucas De Marchi, Matthew Auld, Rodrigo Vivi Hi Andi, Thx for looking at it. On 21.10.2022 17:51, Andi Shyti wrote: > Hi Andrzej, > > (at first I r-b'ed this patch, but then I wanted to think on some > more "simplification" (if it really simplifies things). Please > read the review in patch 2 first ) This is v1, there is already v2. I will reply here to your comments with v2 in mind. > >> diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c >> index 1cae24349a96fd..80e7fdd5d16427 100644 >> --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c >> +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c >> @@ -565,10 +565,8 @@ static int make_obj_busy(struct drm_i915_gem_object *obj) >> goto err_unpin; >> } >> >> - err = i915_request_await_object(rq, vma->obj, true); >> - if (err == 0) >> - err = i915_vma_move_to_active(vma, rq, >> - EXEC_OBJECT_WRITE); >> + err = i915_vma_move_to_active(vma, rq, >> + EXEC_OBJECT_WRITE); > > nit: don't need to break the line here. Corrected in v2. > >> >> i915_request_add(rq); >> err_unpin: > > [...] > >> @@ -860,9 +854,7 @@ static int read_whitelisted_registers(struct intel_context *ce, >> return PTR_ERR(rq); >> >> i915_vma_lock(results); >> - err = i915_request_await_object(rq, results->obj, true); >> - if (err == 0) >> - err = i915_vma_move_to_active(results, rq, EXEC_OBJECT_WRITE); >> + err = i915_vma_move_to_active(results, rq, EXEC_OBJECT_WRITE); >> i915_vma_unlock(results); >> if (err) >> goto err_req; >> @@ -944,9 +936,7 @@ static int scrub_whitelisted_registers(struct intel_context *ce) >> } >> >> i915_vma_lock(batch); >> - err = i915_request_await_object(rq, batch->obj, false); >> - if (err == 0) >> - err = i915_vma_move_to_active(batch, rq, 0); >> + err = i915_vma_move_to_active(batch, rq, 0); >> i915_vma_unlock(batch); > > The final risult would be: > > i915_vma_lock(); > i915_vma_move_to_active() > i915_vma_unlock(); > > and it's a pattern... as I suggested in patch 2, how about having > an: > > i915_vma_move_to_active_unlocked() There is igt_vma_move_to_active_unlocked in patch 2. Chris suggested to limit this helper to selftests, as this pattern is specific to selftests and should not be exposed as 'internal API'. > > and... > >> if (err) >> goto err_request; >> diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c b/drivers/gpu/drm/i915/gvt/scheduler.c >> index d6fe94cd0fdb61..b49098f045005e 100644 >> --- a/drivers/gpu/drm/i915/gvt/scheduler.c >> +++ b/drivers/gpu/drm/i915/gvt/scheduler.c >> @@ -570,9 +570,8 @@ static int prepare_shadow_batch_buffer(struct intel_vgpu_workload *workload) >> if (gmadr_bytes == 8) >> bb->bb_start_cmd_va[2] = 0; >> >> - ret = i915_vma_move_to_active(bb->vma, >> - workload->req, >> - 0); >> + ret = _i915_vma_move_to_active(bb->vma, workload->req, >> + &workload->req->fence, 0); >> if (ret) >> goto err; >> >> diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c >> index 15816df916c781..19138e99d2fd03 100644 >> --- a/drivers/gpu/drm/i915/i915_perf.c >> +++ b/drivers/gpu/drm/i915/i915_perf.c >> @@ -2015,9 +2015,7 @@ emit_oa_config(struct i915_perf_stream *stream, >> goto err_add_request; >> } >> >> - err = i915_request_await_object(rq, vma->obj, 0); >> - if (!err) >> - err = i915_vma_move_to_active(vma, rq, 0); >> + err = i915_vma_move_to_active(vma, rq, 0); >> if (err) >> goto err_add_request; >> >> diff --git a/drivers/gpu/drm/i915/i915_vma.h b/drivers/gpu/drm/i915/i915_vma.h >> index aecd9c64486b27..47ac5bd1ffcce6 100644 >> --- a/drivers/gpu/drm/i915/i915_vma.h >> +++ b/drivers/gpu/drm/i915/i915_vma.h >> @@ -64,7 +64,11 @@ static inline int __must_check >> i915_vma_move_to_active(struct i915_vma *vma, struct i915_request *rq, >> unsigned int flags) >> { >> - return _i915_vma_move_to_active(vma, rq, &rq->fence, flags); >> + int err = i915_request_await_object(rq, vma->obj, flags & EXEC_OBJECT_WRITE); >> + >> + if (!err) >> + err = _i915_vma_move_to_active(vma, rq, &rq->fence, flags); >> + return err; >> } > > ... this i915_vma_move_to_active() now it's doing more than just > moving to active but it's also waiting on dma fences, shall we > call it i915_vma_move_to_active_async() or silimar? (I'm not good > at giving names). I do not feel an expert in this area, but for example __i915_vma_move_to_active also calls __i915_request_await_bind and then moves to active (so awaits are there anyway). In v2 this was handled by putting i915_request_await_object to _i915_vma_move_to_active and added no_await flag. Regards Andrzej > > The above would be i915_vma_move_to_active_async_unlocked(). Too > long? More complex? > > We would have something like: > > i915_vma_move_to_active() /* not used */ > i915_vma_move_to_active_unlocked() > i915_vma_move_to_active_async() > i915_vma_move_to_active_async_unlocked() > > Anyway as it is looks good, I didn't spot any error in the > conversion: > > Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com> > > Andi > > [...] ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Intel-gfx] [PATCH 2/2] drm/i915/selftests: add igt_vma_move_to_active_unlocked 2022-10-13 13:29 [Intel-gfx] [PATCH 0/2] drm/i915: refactor 915_vma_move_to_active Andrzej Hajda 2022-10-13 13:30 ` [Intel-gfx] [PATCH 1/2] drm/i915: add wait and lock to i915_vma_move_to_active Andrzej Hajda @ 2022-10-13 13:30 ` Andrzej Hajda 2022-10-21 15:39 ` Andi Shyti 2022-10-13 15:06 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: refactor 915_vma_move_to_active Patchwork 2022-10-13 17:24 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork 3 siblings, 1 reply; 12+ messages in thread From: Andrzej Hajda @ 2022-10-13 13:30 UTC (permalink / raw) To: intel-gfx; +Cc: Lucas De Marchi, Matthew Auld, Andrzej Hajda, Rodrigo Vivi Many calls to i915_vma_move_to_active are surrounded by vma lock and/or there are multiple local helpers for it in particular tests. Let's replace it by common helper. The patch should not introduce functional changes. Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com> --- .../i915/gem/selftests/i915_gem_client_blt.c | 20 +++----------- .../drm/i915/gem/selftests/i915_gem_context.c | 8 ++---- .../drm/i915/gem/selftests/igt_gem_utils.c | 8 ++---- .../drm/i915/gem/selftests/igt_gem_utils.h | 14 ++++++++++ drivers/gpu/drm/i915/gt/selftest_execlists.c | 4 +-- drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 22 +++------------ drivers/gpu/drm/i915/gt/selftest_lrc.c | 27 +++++-------------- drivers/gpu/drm/i915/gt/selftest_mocs.c | 5 ++-- .../gpu/drm/i915/gt/selftest_workarounds.c | 12 +++------ drivers/gpu/drm/i915/selftests/igt_spinner.c | 17 ++---------- 10 files changed, 39 insertions(+), 98 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_client_blt.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_client_blt.c index 97dd34bd3acfd3..692a16914ca0fe 100644 --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_client_blt.c +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_client_blt.c @@ -13,6 +13,7 @@ #include "gt/intel_gt_regs.h" #include "gem/i915_gem_lmem.h" +#include "gem/selftests/igt_gem_utils.h" #include "selftests/igt_flush_test.h" #include "selftests/mock_drm.h" #include "selftests/i915_random.h" @@ -457,19 +458,6 @@ static int verify_buffer(const struct tiled_blits *t, return ret; } -static int move_to_active(struct i915_vma *vma, - struct i915_request *rq, - unsigned int flags) -{ - int err; - - i915_vma_lock(vma); - err = i915_vma_move_to_active(vma, rq, flags); - i915_vma_unlock(vma); - - return err; -} - static int pin_buffer(struct i915_vma *vma, u64 addr) { int err; @@ -523,11 +511,11 @@ tiled_blit(struct tiled_blits *t, goto err_bb; } - err = move_to_active(t->batch, rq, 0); + err = igt_vma_move_to_active_unlocked(t->batch, rq, 0); if (!err) - err = move_to_active(src->vma, rq, 0); + err = igt_vma_move_to_active_unlocked(src->vma, rq, 0); if (!err) - err = move_to_active(dst->vma, rq, 0); + err = igt_vma_move_to_active_unlocked(dst->vma, rq, 0); if (!err) err = rq->engine->emit_bb_start(rq, t->batch->node.start, diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c index 02c1c306990ca9..b0a5cee0f0087b 100644 --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c @@ -1534,9 +1534,7 @@ static int write_to_scratch(struct i915_gem_context *ctx, goto err_unpin; } - i915_vma_lock(vma); - err = i915_vma_move_to_active(vma, rq, 0); - i915_vma_unlock(vma); + err = igt_vma_move_to_active_unlocked(vma, rq, 0); if (err) goto skip_request; @@ -1668,9 +1666,7 @@ static int read_from_scratch(struct i915_gem_context *ctx, goto err_unpin; } - i915_vma_lock(vma); - err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); - i915_vma_unlock(vma); + err = igt_vma_move_to_active_unlocked(vma, rq, EXEC_OBJECT_WRITE); if (err) goto skip_request; diff --git a/drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c b/drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c index 374b10ac430e8f..56ffce0091f5eb 100644 --- a/drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c +++ b/drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c @@ -130,15 +130,11 @@ int igt_gpu_fill_dw(struct intel_context *ce, goto err_batch; } - i915_vma_lock(batch); - err = i915_vma_move_to_active(batch, rq, 0); - i915_vma_unlock(batch); + err = igt_vma_move_to_active_unlocked(batch, rq, 0); if (err) goto skip_request; - i915_vma_lock(vma); - err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); - i915_vma_unlock(vma); + err = igt_vma_move_to_active_unlocked(vma, rq, EXEC_OBJECT_WRITE); if (err) goto skip_request; diff --git a/drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.h b/drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.h index 4221cf84d1756f..1379fbc1443126 100644 --- a/drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.h +++ b/drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.h @@ -9,6 +9,8 @@ #include <linux/types.h> +#include "i915_vma.h" + struct i915_request; struct i915_gem_context; struct i915_vma; @@ -29,4 +31,16 @@ int igt_gpu_fill_dw(struct intel_context *ce, struct i915_vma *vma, u64 offset, unsigned long count, u32 val); +static inline int __must_check +igt_vma_move_to_active_unlocked(struct i915_vma *vma, struct i915_request *rq, + unsigned int flags) +{ + int err; + + i915_vma_lock(vma); + err = _i915_vma_move_to_active(vma, rq, &rq->fence, flags); + i915_vma_unlock(vma); + return err; +} + #endif /* __IGT_GEM_UTILS_H__ */ diff --git a/drivers/gpu/drm/i915/gt/selftest_execlists.c b/drivers/gpu/drm/i915/gt/selftest_execlists.c index 6e483ea2b2bb63..40bb9561634df5 100644 --- a/drivers/gpu/drm/i915/gt/selftest_execlists.c +++ b/drivers/gpu/drm/i915/gt/selftest_execlists.c @@ -3177,9 +3177,7 @@ create_gpr_client(struct intel_engine_cs *engine, goto out_batch; } - i915_vma_lock(vma); - err = i915_vma_move_to_active(vma, rq, 0); - i915_vma_unlock(vma); + err = igt_vma_move_to_active_unlocked(vma, rq, 0); i915_vma_lock(batch); if (!err) diff --git a/drivers/gpu/drm/i915/gt/selftest_hangcheck.c b/drivers/gpu/drm/i915/gt/selftest_hangcheck.c index f8dabce671aa64..9cce807e34eca9 100644 --- a/drivers/gpu/drm/i915/gt/selftest_hangcheck.c +++ b/drivers/gpu/drm/i915/gt/selftest_hangcheck.c @@ -99,19 +99,6 @@ static u64 hws_address(const struct i915_vma *hws, return hws->node.start + offset_in_page(sizeof(u32)*rq->fence.context); } -static int move_to_active(struct i915_vma *vma, - struct i915_request *rq, - unsigned int flags) -{ - int err; - - i915_vma_lock(vma); - err = i915_vma_move_to_active(vma, rq, flags); - i915_vma_unlock(vma); - - return err; -} - static struct i915_request * hang_create_request(struct hang *h, struct intel_engine_cs *engine) { @@ -172,11 +159,11 @@ hang_create_request(struct hang *h, struct intel_engine_cs *engine) goto unpin_hws; } - err = move_to_active(vma, rq, 0); + err = igt_vma_move_to_active_unlocked(vma, rq, 0); if (err) goto cancel_rq; - err = move_to_active(hws, rq, 0); + err = igt_vma_move_to_active_unlocked(hws, rq, 0); if (err) goto cancel_rq; @@ -1507,13 +1494,10 @@ static int __igt_reset_evict_vma(struct intel_gt *gt, } } - i915_vma_lock(arg.vma); - err = i915_vma_move_to_active(arg.vma, rq, flags); + err = igt_vma_move_to_active_unlocked(arg.vma, rq, flags); if (err) pr_err("[%s] Move to active failed: %d!\n", engine->name, err); - i915_vma_unlock(arg.vma); - if (flags & EXEC_OBJECT_NEEDS_FENCE) i915_vma_unpin_fence(arg.vma); i915_vma_unpin(arg.vma); diff --git a/drivers/gpu/drm/i915/gt/selftest_lrc.c b/drivers/gpu/drm/i915/gt/selftest_lrc.c index b25f281ce0cbfe..483817c2a5c114 100644 --- a/drivers/gpu/drm/i915/gt/selftest_lrc.c +++ b/drivers/gpu/drm/i915/gt/selftest_lrc.c @@ -599,9 +599,7 @@ __gpr_read(struct intel_context *ce, struct i915_vma *scratch, u32 *slot) *cs++ = 0; } - i915_vma_lock(scratch); - err = i915_vma_move_to_active(scratch, rq, EXEC_OBJECT_WRITE); - i915_vma_unlock(scratch); + err = igt_vma_move_to_active_unlocked(scratch, rq, EXEC_OBJECT_WRITE); i915_request_get(rq); i915_request_add(rq); @@ -1049,19 +1047,6 @@ store_context(struct intel_context *ce, struct i915_vma *scratch) return batch; } -static int move_to_active(struct i915_request *rq, - struct i915_vma *vma, - unsigned int flags) -{ - int err; - - i915_vma_lock(vma); - err = i915_vma_move_to_active(vma, rq, flags); - i915_vma_unlock(vma); - - return err; -} - static struct i915_request * record_registers(struct intel_context *ce, struct i915_vma *before, @@ -1087,19 +1072,19 @@ record_registers(struct intel_context *ce, if (IS_ERR(rq)) goto err_after; - err = move_to_active(rq, before, EXEC_OBJECT_WRITE); + err = igt_vma_move_to_active_unlocked(before, rq, EXEC_OBJECT_WRITE); if (err) goto err_rq; - err = move_to_active(rq, b_before, 0); + err = igt_vma_move_to_active_unlocked(b_before, rq, 0); if (err) goto err_rq; - err = move_to_active(rq, after, EXEC_OBJECT_WRITE); + err = igt_vma_move_to_active_unlocked(after, rq, EXEC_OBJECT_WRITE); if (err) goto err_rq; - err = move_to_active(rq, b_after, 0); + err = igt_vma_move_to_active_unlocked(b_after, rq, 0); if (err) goto err_rq; @@ -1237,7 +1222,7 @@ static int poison_registers(struct intel_context *ce, u32 poison, u32 *sema) goto err_batch; } - err = move_to_active(rq, batch, 0); + err = igt_vma_move_to_active_unlocked(batch, rq, 0); if (err) goto err_rq; diff --git a/drivers/gpu/drm/i915/gt/selftest_mocs.c b/drivers/gpu/drm/i915/gt/selftest_mocs.c index e0921c87d6a5c2..ca009a6a13bdbb 100644 --- a/drivers/gpu/drm/i915/gt/selftest_mocs.c +++ b/drivers/gpu/drm/i915/gt/selftest_mocs.c @@ -7,6 +7,7 @@ #include "gt/intel_gpu_commands.h" #include "i915_selftest.h" +#include "gem/selftests/igt_gem_utils.h" #include "gem/selftests/mock_context.h" #include "selftests/igt_reset.h" #include "selftests/igt_spinner.h" @@ -227,9 +228,7 @@ static int check_mocs_engine(struct live_mocs *arg, if (IS_ERR(rq)) return PTR_ERR(rq); - i915_vma_lock(vma); - err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); - i915_vma_unlock(vma); + err = igt_vma_move_to_active_unlocked(vma, rq, EXEC_OBJECT_WRITE); /* Read the mocs tables back using SRM */ offset = i915_ggtt_offset(vma); diff --git a/drivers/gpu/drm/i915/gt/selftest_workarounds.c b/drivers/gpu/drm/i915/gt/selftest_workarounds.c index 8a7d8469a57c8c..b896e652cabddf 100644 --- a/drivers/gpu/drm/i915/gt/selftest_workarounds.c +++ b/drivers/gpu/drm/i915/gt/selftest_workarounds.c @@ -138,9 +138,7 @@ read_nonprivs(struct intel_context *ce) goto err_pin; } - i915_vma_lock(vma); - err = i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE); - i915_vma_unlock(vma); + err = igt_vma_move_to_active_unlocked(vma, rq, EXEC_OBJECT_WRITE); if (err) goto err_req; @@ -853,9 +851,7 @@ static int read_whitelisted_registers(struct intel_context *ce, if (IS_ERR(rq)) return PTR_ERR(rq); - i915_vma_lock(results); - err = i915_vma_move_to_active(results, rq, EXEC_OBJECT_WRITE); - i915_vma_unlock(results); + err = igt_vma_move_to_active_unlocked(results, rq, EXEC_OBJECT_WRITE); if (err) goto err_req; @@ -935,9 +931,7 @@ static int scrub_whitelisted_registers(struct intel_context *ce) goto err_request; } - i915_vma_lock(batch); - err = i915_vma_move_to_active(batch, rq, 0); - i915_vma_unlock(batch); + err = igt_vma_move_to_active_unlocked(batch, rq, 0); if (err) goto err_request; diff --git a/drivers/gpu/drm/i915/selftests/igt_spinner.c b/drivers/gpu/drm/i915/selftests/igt_spinner.c index 78b3c138a6d326..16978ac5979785 100644 --- a/drivers/gpu/drm/i915/selftests/igt_spinner.c +++ b/drivers/gpu/drm/i915/selftests/igt_spinner.c @@ -119,19 +119,6 @@ static u64 hws_address(const struct i915_vma *hws, return hws->node.start + seqno_offset(rq->fence.context); } -static int move_to_active(struct i915_vma *vma, - struct i915_request *rq, - unsigned int flags) -{ - int err; - - i915_vma_lock(vma); - err = i915_vma_move_to_active(vma, rq, flags); - i915_vma_unlock(vma); - - return err; -} - struct i915_request * igt_spinner_create_request(struct igt_spinner *spin, struct intel_context *ce, @@ -162,11 +149,11 @@ igt_spinner_create_request(struct igt_spinner *spin, if (IS_ERR(rq)) return ERR_CAST(rq); - err = move_to_active(vma, rq, 0); + err = igt_vma_move_to_active_unlocked(vma, rq, 0); if (err) goto cancel_rq; - err = move_to_active(hws, rq, 0); + err = igt_vma_move_to_active_unlocked(hws, rq, 0); if (err) goto cancel_rq; -- 2.34.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [Intel-gfx] [PATCH 2/2] drm/i915/selftests: add igt_vma_move_to_active_unlocked 2022-10-13 13:30 ` [Intel-gfx] [PATCH 2/2] drm/i915/selftests: add igt_vma_move_to_active_unlocked Andrzej Hajda @ 2022-10-21 15:39 ` Andi Shyti 2022-10-24 14:05 ` Andrzej Hajda 0 siblings, 1 reply; 12+ messages in thread From: Andi Shyti @ 2022-10-21 15:39 UTC (permalink / raw) To: Andrzej Hajda; +Cc: intel-gfx, Lucas De Marchi, Matthew Auld, Rodrigo Vivi Hi Andrzej, [...] > +static inline int __must_check > +igt_vma_move_to_active_unlocked(struct i915_vma *vma, struct i915_request *rq, > + unsigned int flags) > +{ > + int err; > + > + i915_vma_lock(vma); > + err = _i915_vma_move_to_active(vma, rq, &rq->fence, flags); > + i915_vma_unlock(vma); > + return err; > +} > + there are calls to i915_vma_move_to_active also outside selftests, why not having a i915_move_to_active_unlocked() in i915_vma.h? Besides here you break also the bisect, because between patch 1 and 2 the i915_move_to_avtive would also call i915_request_await_object(). Right or am I getting confused? Andi [...] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Intel-gfx] [PATCH 2/2] drm/i915/selftests: add igt_vma_move_to_active_unlocked 2022-10-21 15:39 ` Andi Shyti @ 2022-10-24 14:05 ` Andrzej Hajda 2022-10-24 15:08 ` Andi Shyti 0 siblings, 1 reply; 12+ messages in thread From: Andrzej Hajda @ 2022-10-24 14:05 UTC (permalink / raw) To: Andi Shyti; +Cc: intel-gfx, Lucas De Marchi, Matthew Auld, Rodrigo Vivi On 21.10.2022 17:39, Andi Shyti wrote: > Hi Andrzej, > > [...] > >> +static inline int __must_check >> +igt_vma_move_to_active_unlocked(struct i915_vma *vma, struct i915_request *rq, >> + unsigned int flags) >> +{ >> + int err; >> + >> + i915_vma_lock(vma); >> + err = _i915_vma_move_to_active(vma, rq, &rq->fence, flags); >> + i915_vma_unlock(vma); >> + return err; >> +} >> + > > there are calls to i915_vma_move_to_active also outside > selftests, why not having a i915_move_to_active_unlocked() in > i915_vma.h? As I said before, Chris suggested real users of this call should use locking explicitly. > > Besides here you break also the bisect, because between patch 1 > and 2 the i915_move_to_avtive would also call > i915_request_await_object(). Right or am I getting confused? Hmm, looking at v2, I do not see breakage. Patch 1 moves all occurrences of i915_request_await_object inside i915_vma_move_to_active. Patch 2, just replaces sequence of calls with call to new helper. Regards Andrzej > > Andi > > [...] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Intel-gfx] [PATCH 2/2] drm/i915/selftests: add igt_vma_move_to_active_unlocked 2022-10-24 14:05 ` Andrzej Hajda @ 2022-10-24 15:08 ` Andi Shyti 2022-10-28 13:42 ` Andrzej Hajda 0 siblings, 1 reply; 12+ messages in thread From: Andi Shyti @ 2022-10-24 15:08 UTC (permalink / raw) To: Andrzej Hajda; +Cc: intel-gfx, Lucas De Marchi, Matthew Auld, Rodrigo Vivi Hi Andrzej, On Mon, Oct 24, 2022 at 04:05:57PM +0200, Andrzej Hajda wrote: > On 21.10.2022 17:39, Andi Shyti wrote: > > Hi Andrzej, > > > > [...] > > > > > +static inline int __must_check > > > +igt_vma_move_to_active_unlocked(struct i915_vma *vma, struct i915_request *rq, > > > + unsigned int flags) > > > +{ > > > + int err; > > > + > > > + i915_vma_lock(vma); > > > + err = _i915_vma_move_to_active(vma, rq, &rq->fence, flags); > > > + i915_vma_unlock(vma); > > > + return err; > > > +} > > > + > > > > there are calls to i915_vma_move_to_active also outside > > selftests, why not having a i915_move_to_active_unlocked() in > > i915_vma.h? > > As I said before, Chris suggested real users of this call should use locking > explicitly. Yeah, sure... I was just thinking about it... no big opinion, besides I don't hink my proposal in Patch 1 makes things easier. > > Besides here you break also the bisect, because between patch 1 > > and 2 the i915_move_to_avtive would also call > > i915_request_await_object(). Right or am I getting confused? > > Hmm, looking at v2, I do not see breakage. Patch 1 moves all occurrences of > i915_request_await_object inside i915_vma_move_to_active. > Patch 2, just replaces sequence of calls with call to new helper. Are you sure? I might be getting confused, but in Patch 1 "i915_vma_move_to_active()" takes "i915_request_await_object()" inside. This affects all the calls to "i915_vma_move_to_active()" in the selftests that are not actually requesting "i915_request_await_object()". We need to wait for Patch 2 in order to have a local redefinition of "i915_vma_move_to_active()" for those selftests. Andi ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Intel-gfx] [PATCH 2/2] drm/i915/selftests: add igt_vma_move_to_active_unlocked 2022-10-24 15:08 ` Andi Shyti @ 2022-10-28 13:42 ` Andrzej Hajda 0 siblings, 0 replies; 12+ messages in thread From: Andrzej Hajda @ 2022-10-28 13:42 UTC (permalink / raw) To: Andi Shyti; +Cc: intel-gfx, Lucas De Marchi, Matthew Auld, Rodrigo Vivi On 24.10.2022 17:08, Andi Shyti wrote: > Hi Andrzej, > > On Mon, Oct 24, 2022 at 04:05:57PM +0200, Andrzej Hajda wrote: >> On 21.10.2022 17:39, Andi Shyti wrote: >>> Hi Andrzej, >>> >>> [...] >>> >>>> +static inline int __must_check >>>> +igt_vma_move_to_active_unlocked(struct i915_vma *vma, struct i915_request *rq, >>>> + unsigned int flags) >>>> +{ >>>> + int err; >>>> + >>>> + i915_vma_lock(vma); >>>> + err = _i915_vma_move_to_active(vma, rq, &rq->fence, flags); >>>> + i915_vma_unlock(vma); >>>> + return err; >>>> +} >>>> + >>> >>> there are calls to i915_vma_move_to_active also outside >>> selftests, why not having a i915_move_to_active_unlocked() in >>> i915_vma.h? >> >> As I said before, Chris suggested real users of this call should use locking >> explicitly. > > Yeah, sure... I was just thinking about it... no big opinion, > besides I don't hink my proposal in Patch 1 makes things easier. > >>> Besides here you break also the bisect, because between patch 1 >>> and 2 the i915_move_to_avtive would also call >>> i915_request_await_object(). Right or am I getting confused? >> >> Hmm, looking at v2, I do not see breakage. Patch 1 moves all occurrences of >> i915_request_await_object inside i915_vma_move_to_active. >> Patch 2, just replaces sequence of calls with call to new helper. > > Are you sure? > > I might be getting confused, but in Patch 1 > "i915_vma_move_to_active()" takes "i915_request_await_object()" > inside. This affects all the calls to "i915_vma_move_to_active()" > in the selftests that are not actually requesting > "i915_request_await_object()". Apparently I've forgot to answer this comment. Let's do it now. Currently every call to i915_vma_move_to_active is prepended with i915_request_await_object, the only exception is prepare_shadow_batch_buffer. And selftests always calls i915_request_await_object before either directly, either via move_to_active helpers. Patch 1 transforms all these calls, so maybe looking at patch2 confuses you? I have double checked things, did not find any issue. If I missed sth please let me know. > > We need to wait for Patch 2 in order to have a local redefinition > of "i915_vma_move_to_active()" for those selftests. And this does not seems to be true, patch 1 alone is independent. Regards Andrzej > > Andi ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: refactor 915_vma_move_to_active 2022-10-13 13:29 [Intel-gfx] [PATCH 0/2] drm/i915: refactor 915_vma_move_to_active Andrzej Hajda 2022-10-13 13:30 ` [Intel-gfx] [PATCH 1/2] drm/i915: add wait and lock to i915_vma_move_to_active Andrzej Hajda 2022-10-13 13:30 ` [Intel-gfx] [PATCH 2/2] drm/i915/selftests: add igt_vma_move_to_active_unlocked Andrzej Hajda @ 2022-10-13 15:06 ` Patchwork 2022-10-13 17:24 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork 3 siblings, 0 replies; 12+ messages in thread From: Patchwork @ 2022-10-13 15:06 UTC (permalink / raw) To: Andrzej Hajda; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 7269 bytes --] == Series Details == Series: drm/i915: refactor 915_vma_move_to_active URL : https://patchwork.freedesktop.org/series/109668/ State : success == Summary == CI Bug Log - changes from CI_DRM_12242 -> Patchwork_109668v1 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/index.html Participating hosts (45 -> 45) ------------------------------ Additional (3): fi-tgl-u2 bat-atsm-1 fi-pnv-d510 Missing (3): fi-ilk-m540 fi-bdw-5557u fi-hsw-4200u Known issues ------------ Here are the changes found in Patchwork_109668v1 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_huc_copy@huc-copy: - fi-tgl-u2: NOTRUN -> [SKIP][1] ([i915#2190]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/fi-tgl-u2/igt@gem_huc_copy@huc-copy.html * igt@i915_selftest@live@hangcheck: - fi-hsw-4770: [PASS][2] -> [INCOMPLETE][3] ([i915#4785]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/fi-hsw-4770/igt@i915_selftest@live@hangcheck.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/fi-hsw-4770/igt@i915_selftest@live@hangcheck.html * igt@kms_chamelium@hdmi-edid-read: - fi-tgl-u2: NOTRUN -> [SKIP][4] ([fdo#109284] / [fdo#111827]) +7 similar issues [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/fi-tgl-u2/igt@kms_chamelium@hdmi-edid-read.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor: - fi-tgl-u2: NOTRUN -> [SKIP][5] ([i915#4103]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/fi-tgl-u2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html * igt@kms_force_connector_basic@force-load-detect: - fi-tgl-u2: NOTRUN -> [SKIP][6] ([fdo#109285]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/fi-tgl-u2/igt@kms_force_connector_basic@force-load-detect.html * igt@kms_psr@primary_page_flip: - fi-pnv-d510: NOTRUN -> [SKIP][7] ([fdo#109271]) +43 similar issues [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/fi-pnv-d510/igt@kms_psr@primary_page_flip.html * igt@kms_setmode@basic-clone-single-crtc: - fi-tgl-u2: NOTRUN -> [SKIP][8] ([i915#3555]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/fi-tgl-u2/igt@kms_setmode@basic-clone-single-crtc.html * igt@runner@aborted: - fi-hsw-4770: NOTRUN -> [FAIL][9] ([fdo#109271] / [i915#4312] / [i915#5594]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/fi-hsw-4770/igt@runner@aborted.html #### Possible fixes #### * igt@i915_module_load@reload: - {bat-rpls-2}: [DMESG-WARN][10] ([i915#5537]) -> [PASS][11] [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/bat-rpls-2/igt@i915_module_load@reload.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/bat-rpls-2/igt@i915_module_load@reload.html * igt@i915_selftest@live@reset: - {bat-rpls-1}: [DMESG-FAIL][12] ([i915#4983]) -> [PASS][13] [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/bat-rpls-1/igt@i915_selftest@live@reset.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/bat-rpls-1/igt@i915_selftest@live@reset.html - {bat-rpls-2}: [DMESG-FAIL][14] ([i915#4983]) -> [PASS][15] [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/bat-rpls-2/igt@i915_selftest@live@reset.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/bat-rpls-2/igt@i915_selftest@live@reset.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions: - fi-bsw-kefka: [FAIL][16] ([i915#6298]) -> [PASS][17] [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-d-dp-3: - {bat-dg2-11}: [FAIL][18] ([i915#6818]) -> [PASS][19] [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/bat-dg2-11/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-d-dp-3.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/bat-dg2-11/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-d-dp-3.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845 [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190 [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312 [i915#4785]: https://gitlab.freedesktop.org/drm/intel/issues/4785 [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983 [i915#5122]: https://gitlab.freedesktop.org/drm/intel/issues/5122 [i915#5153]: https://gitlab.freedesktop.org/drm/intel/issues/5153 [i915#5278]: https://gitlab.freedesktop.org/drm/intel/issues/5278 [i915#5537]: https://gitlab.freedesktop.org/drm/intel/issues/5537 [i915#5594]: https://gitlab.freedesktop.org/drm/intel/issues/5594 [i915#6298]: https://gitlab.freedesktop.org/drm/intel/issues/6298 [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367 [i915#6559]: https://gitlab.freedesktop.org/drm/intel/issues/6559 [i915#6818]: https://gitlab.freedesktop.org/drm/intel/issues/6818 [i915#6997]: https://gitlab.freedesktop.org/drm/intel/issues/6997 [i915#7029]: https://gitlab.freedesktop.org/drm/intel/issues/7029 [i915#7030]: https://gitlab.freedesktop.org/drm/intel/issues/7030 [i915#7031]: https://gitlab.freedesktop.org/drm/intel/issues/7031 Build changes ------------- * Linux: CI_DRM_12242 -> Patchwork_109668v1 CI-20190529: 20190529 CI_DRM_12242: 075a81b1efd29300194bdf7877e08b6dbe3079d9 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_7012: ca6f5bdd537d26692c4b1ca011b8c4f227d95703 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_109668v1: 075a81b1efd29300194bdf7877e08b6dbe3079d9 @ git://anongit.freedesktop.org/gfx-ci/linux ### Linux commits a6d647258326 drm/i915/selftests: add igt_vma_move_to_active_unlocked 9cb692986033 drm/i915: add wait and lock to i915_vma_move_to_active == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/index.html [-- Attachment #2: Type: text/html, Size: 7386 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915: refactor 915_vma_move_to_active 2022-10-13 13:29 [Intel-gfx] [PATCH 0/2] drm/i915: refactor 915_vma_move_to_active Andrzej Hajda ` (2 preceding siblings ...) 2022-10-13 15:06 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: refactor 915_vma_move_to_active Patchwork @ 2022-10-13 17:24 ` Patchwork 3 siblings, 0 replies; 12+ messages in thread From: Patchwork @ 2022-10-13 17:24 UTC (permalink / raw) To: Andrzej Hajda; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 29042 bytes --] == Series Details == Series: drm/i915: refactor 915_vma_move_to_active URL : https://patchwork.freedesktop.org/series/109668/ State : failure == Summary == CI Bug Log - changes from CI_DRM_12242_full -> Patchwork_109668v1_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_109668v1_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_109668v1_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. Participating hosts (9 -> 9) ------------------------------ No changes in participating hosts Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_109668v1_full: ### IGT changes ### #### Possible regressions #### * igt@kms_cursor_legacy@short-flip-before-cursor@varying-size: - shard-skl: [PASS][1] -> [FAIL][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-skl10/igt@kms_cursor_legacy@short-flip-before-cursor@varying-size.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-skl1/igt@kms_cursor_legacy@short-flip-before-cursor@varying-size.html Known issues ------------ Here are the changes found in Patchwork_109668v1_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_ctx_exec@basic-nohangcheck: - shard-tglb: [PASS][3] -> [FAIL][4] ([i915#6268]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-tglb2/igt@gem_ctx_exec@basic-nohangcheck.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-tglb1/igt@gem_ctx_exec@basic-nohangcheck.html * igt@gem_exec_balancer@parallel-keep-in-fence: - shard-iclb: [PASS][5] -> [SKIP][6] ([i915#4525]) +1 similar issue [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-iclb2/igt@gem_exec_balancer@parallel-keep-in-fence.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-iclb3/igt@gem_exec_balancer@parallel-keep-in-fence.html * igt@gem_exec_fair@basic-none-solo@rcs0: - shard-apl: [PASS][7] -> [FAIL][8] ([i915#2842]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-apl7/igt@gem_exec_fair@basic-none-solo@rcs0.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-apl2/igt@gem_exec_fair@basic-none-solo@rcs0.html * igt@gem_exec_fair@basic-none@vcs1: - shard-iclb: NOTRUN -> [FAIL][9] ([i915#2842]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-iclb1/igt@gem_exec_fair@basic-none@vcs1.html * igt@gem_exec_fair@basic-pace@vecs0: - shard-iclb: [PASS][10] -> [FAIL][11] ([i915#2842]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-iclb8/igt@gem_exec_fair@basic-pace@vecs0.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-iclb5/igt@gem_exec_fair@basic-pace@vecs0.html * igt@gem_lmem_swapping@heavy-random: - shard-skl: NOTRUN -> [SKIP][12] ([fdo#109271] / [i915#4613]) +1 similar issue [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-skl10/igt@gem_lmem_swapping@heavy-random.html * igt@gem_userptr_blits@dmabuf-sync: - shard-skl: NOTRUN -> [SKIP][13] ([fdo#109271] / [i915#3323]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-skl4/igt@gem_userptr_blits@dmabuf-sync.html * igt@i915_pipe_stress@stress-xrgb8888-untiled: - shard-apl: NOTRUN -> [FAIL][14] ([i915#7036]) [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-apl3/igt@i915_pipe_stress@stress-xrgb8888-untiled.html - shard-skl: NOTRUN -> [FAIL][15] ([i915#7036]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-skl1/igt@i915_pipe_stress@stress-xrgb8888-untiled.html * igt@i915_suspend@basic-s2idle-without-i915: - shard-tglb: [PASS][16] -> [DMESG-WARN][17] ([i915#2867]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-tglb2/igt@i915_suspend@basic-s2idle-without-i915.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-tglb2/igt@i915_suspend@basic-s2idle-without-i915.html * igt@kms_addfb_basic@bad-pitch-65536: - shard-apl: [PASS][18] -> [DMESG-WARN][19] ([i915#5904] / [i915#62]) +5 similar issues [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-apl3/igt@kms_addfb_basic@bad-pitch-65536.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-apl3/igt@kms_addfb_basic@bad-pitch-65536.html * igt@kms_addfb_basic@legacy-format: - shard-iclb: [PASS][20] -> [INCOMPLETE][21] ([i915#7017] / [i915#7057]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-iclb3/igt@kms_addfb_basic@legacy-format.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-iclb5/igt@kms_addfb_basic@legacy-format.html - shard-tglb: [PASS][22] -> [INCOMPLETE][23] ([i915#6987]) [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-tglb5/igt@kms_addfb_basic@legacy-format.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-tglb5/igt@kms_addfb_basic@legacy-format.html * igt@kms_async_flips@alternate-sync-async-flip@pipe-a-edp-1: - shard-skl: [PASS][24] -> [FAIL][25] ([i915#2521]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-skl10/igt@kms_async_flips@alternate-sync-async-flip@pipe-a-edp-1.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-skl7/igt@kms_async_flips@alternate-sync-async-flip@pipe-a-edp-1.html * igt@kms_big_fb@yf-tiled-32bpp-rotate-0: - shard-apl: [PASS][26] -> [SKIP][27] ([fdo#109271]) +25 similar issues [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-apl8/igt@kms_big_fb@yf-tiled-32bpp-rotate-0.html [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-apl3/igt@kms_big_fb@yf-tiled-32bpp-rotate-0.html * igt@kms_ccs@pipe-a-crc-primary-rotation-180-yf_tiled_ccs: - shard-apl: [PASS][28] -> [DMESG-WARN][29] ([i915#180] / [i915#5904] / [i915#62]) +12 similar issues [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-apl3/igt@kms_ccs@pipe-a-crc-primary-rotation-180-yf_tiled_ccs.html [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-apl3/igt@kms_ccs@pipe-a-crc-primary-rotation-180-yf_tiled_ccs.html * igt@kms_ccs@pipe-a-missing-ccs-buffer-y_tiled_gen12_mc_ccs: - shard-skl: NOTRUN -> [SKIP][30] ([fdo#109271] / [i915#3886]) +2 similar issues [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-skl10/igt@kms_ccs@pipe-a-missing-ccs-buffer-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_rc_ccs_cc: - shard-apl: NOTRUN -> [SKIP][31] ([fdo#109271] / [i915#3886]) +2 similar issues [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-apl2/igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_rc_ccs_cc.html - shard-glk: NOTRUN -> [SKIP][32] ([fdo#109271] / [i915#3886]) [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-glk1/igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_rc_ccs_cc.html * igt@kms_ccs@pipe-b-bad-rotation-90-4_tiled_dg2_rc_ccs_cc: - shard-apl: NOTRUN -> [SKIP][33] ([fdo#109271]) +69 similar issues [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-apl3/igt@kms_ccs@pipe-b-bad-rotation-90-4_tiled_dg2_rc_ccs_cc.html * igt@kms_ccs@pipe-c-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs: - shard-glk: NOTRUN -> [SKIP][34] ([fdo#109271]) +27 similar issues [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-glk1/igt@kms_ccs@pipe-c-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs.html * igt@kms_chamelium@hdmi-hpd-storm: - shard-apl: NOTRUN -> [SKIP][35] ([fdo#109271] / [fdo#111827]) +3 similar issues [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-apl2/igt@kms_chamelium@hdmi-hpd-storm.html - shard-glk: NOTRUN -> [SKIP][36] ([fdo#109271] / [fdo#111827]) [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-glk1/igt@kms_chamelium@hdmi-hpd-storm.html * igt@kms_chamelium@hdmi-hpd-with-enabled-mode: - shard-skl: NOTRUN -> [SKIP][37] ([fdo#109271] / [fdo#111827]) +6 similar issues [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-skl1/igt@kms_chamelium@hdmi-hpd-with-enabled-mode.html * igt@kms_color@ctm-0-25: - shard-skl: NOTRUN -> [SKIP][38] ([fdo#109271] / [i915#3546]) [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-skl10/igt@kms_color@ctm-0-25.html * igt@kms_cursor_crc@cursor-suspend@pipe-b-edp-1: - shard-skl: [PASS][39] -> [INCOMPLETE][40] ([i915#4939]) [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-skl7/igt@kms_cursor_crc@cursor-suspend@pipe-b-edp-1.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-skl6/igt@kms_cursor_crc@cursor-suspend@pipe-b-edp-1.html * igt@kms_cursor_legacy@flip-vs-cursor@varying-size: - shard-skl: [PASS][41] -> [FAIL][42] ([i915#2346]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-skl5/igt@kms_cursor_legacy@flip-vs-cursor@varying-size.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-skl9/igt@kms_cursor_legacy@flip-vs-cursor@varying-size.html * igt@kms_fbcon_fbt@fbc-suspend: - shard-apl: [PASS][43] -> [INCOMPLETE][44] ([i915#180] / [i915#4939]) [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-apl7/igt@kms_fbcon_fbt@fbc-suspend.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-apl3/igt@kms_fbcon_fbt@fbc-suspend.html * igt@kms_flip@2x-plain-flip-ts-check@ab-hdmi-a1-hdmi-a2: - shard-glk: [PASS][45] -> [FAIL][46] ([i915#2122]) [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-glk6/igt@kms_flip@2x-plain-flip-ts-check@ab-hdmi-a1-hdmi-a2.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-glk9/igt@kms_flip@2x-plain-flip-ts-check@ab-hdmi-a1-hdmi-a2.html * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1: - shard-skl: [PASS][47] -> [FAIL][48] ([i915#79]) [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-skl6/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-skl5/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html * igt@kms_flip@plain-flip-ts-check@c-edp1: - shard-skl: [PASS][49] -> [FAIL][50] ([i915#2122]) +2 similar issues [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-skl4/igt@kms_flip@plain-flip-ts-check@c-edp1.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-skl6/igt@kms_flip@plain-flip-ts-check@c-edp1.html * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling@pipe-a-default-mode: - shard-iclb: [PASS][51] -> [SKIP][52] ([i915#3555]) [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-iclb3/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling@pipe-a-default-mode.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling@pipe-a-default-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling@pipe-a-default-mode: - shard-iclb: NOTRUN -> [SKIP][53] ([i915#2672]) +2 similar issues [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling@pipe-a-default-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling@pipe-a-default-mode: - shard-iclb: NOTRUN -> [SKIP][54] ([i915#3555]) +2 similar issues [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling@pipe-a-default-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling@pipe-a-valid-mode: - shard-iclb: NOTRUN -> [SKIP][55] ([i915#2587] / [i915#2672]) +1 similar issue [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-iclb8/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling@pipe-a-valid-mode.html * igt@kms_frontbuffer_tracking@fbcpsr-suspend: - shard-skl: NOTRUN -> [SKIP][56] ([fdo#109271]) +155 similar issues [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-skl10/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html * igt@kms_plane_alpha_blend@alpha-opaque-fb@pipe-a-dp-1: - shard-apl: NOTRUN -> [FAIL][57] ([i915#4573]) +2 similar issues [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-apl3/igt@kms_plane_alpha_blend@alpha-opaque-fb@pipe-a-dp-1.html * igt@kms_plane_alpha_blend@alpha-opaque-fb@pipe-b-edp-1: - shard-skl: NOTRUN -> [FAIL][58] ([i915#4573]) +2 similar issues [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-skl1/igt@kms_plane_alpha_blend@alpha-opaque-fb@pipe-b-edp-1.html * igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-5@pipe-b-edp-1: - shard-iclb: [PASS][59] -> [SKIP][60] ([i915#5176]) +2 similar issues [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-iclb3/igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-5@pipe-b-edp-1.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-iclb2/igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-5@pipe-b-edp-1.html * igt@kms_psr2_su@page_flip-p010@pipe-b-edp-1: - shard-iclb: NOTRUN -> [FAIL][61] ([i915#5939]) +2 similar issues [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-iclb2/igt@kms_psr2_su@page_flip-p010@pipe-b-edp-1.html * igt@kms_psr2_su@page_flip-xrgb8888: - shard-skl: NOTRUN -> [SKIP][62] ([fdo#109271] / [i915#658]) +2 similar issues [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-skl4/igt@kms_psr2_su@page_flip-xrgb8888.html * igt@kms_psr@psr2_primary_mmap_cpu: - shard-iclb: [PASS][63] -> [SKIP][64] ([fdo#109441]) +1 similar issue [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-iclb1/igt@kms_psr@psr2_primary_mmap_cpu.html * igt@kms_vblank@pipe-b-ts-continuation-suspend: - shard-apl: [PASS][65] -> [DMESG-WARN][66] ([i915#180]) +3 similar issues [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-apl8/igt@kms_vblank@pipe-b-ts-continuation-suspend.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-apl8/igt@kms_vblank@pipe-b-ts-continuation-suspend.html * igt@kms_writeback@writeback-invalid-parameters: - shard-skl: NOTRUN -> [SKIP][67] ([fdo#109271] / [i915#2437]) [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-skl10/igt@kms_writeback@writeback-invalid-parameters.html * igt@sysfs_clients@create: - shard-apl: NOTRUN -> [SKIP][68] ([fdo#109271] / [i915#2994]) [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-apl3/igt@sysfs_clients@create.html - shard-skl: NOTRUN -> [SKIP][69] ([fdo#109271] / [i915#2994]) [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-skl1/igt@sysfs_clients@create.html #### Possible fixes #### * igt@gem_exec_balancer@parallel-balancer: - shard-iclb: [SKIP][70] ([i915#4525]) -> [PASS][71] [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-iclb5/igt@gem_exec_balancer@parallel-balancer.html [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-iclb2/igt@gem_exec_balancer@parallel-balancer.html * igt@gem_exec_fair@basic-pace-share@rcs0: - shard-glk: [FAIL][72] ([i915#2842]) -> [PASS][73] [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-glk3/igt@gem_exec_fair@basic-pace-share@rcs0.html [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-glk6/igt@gem_exec_fair@basic-pace-share@rcs0.html * igt@gem_exec_fair@basic-pace-solo@rcs0: - shard-tglb: [FAIL][74] ([i915#2842]) -> [PASS][75] +1 similar issue [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-tglb1/igt@gem_exec_fair@basic-pace-solo@rcs0.html [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-tglb3/igt@gem_exec_fair@basic-pace-solo@rcs0.html * igt@gen9_exec_parse@allowed-all: - shard-skl: [DMESG-WARN][76] ([i915#5566] / [i915#716]) -> [PASS][77] [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-skl10/igt@gen9_exec_parse@allowed-all.html [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-skl1/igt@gen9_exec_parse@allowed-all.html - shard-apl: [DMESG-WARN][78] ([i915#5566] / [i915#716]) -> [PASS][79] [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-apl2/igt@gen9_exec_parse@allowed-all.html [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-apl3/igt@gen9_exec_parse@allowed-all.html * igt@i915_pm_dc@dc9-dpms: - shard-iclb: [SKIP][80] ([i915#4281]) -> [PASS][81] [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-iclb3/igt@i915_pm_dc@dc9-dpms.html [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-iclb2/igt@i915_pm_dc@dc9-dpms.html * igt@i915_pm_sseu@full-enable: - shard-skl: [FAIL][82] ([i915#3524]) -> [PASS][83] [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-skl5/igt@i915_pm_sseu@full-enable.html [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-skl9/igt@i915_pm_sseu@full-enable.html * igt@kms_flip@busy-flip@c-edp1: - shard-skl: [FAIL][84] -> [PASS][85] +1 similar issue [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-skl5/igt@kms_flip@busy-flip@c-edp1.html [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-skl9/igt@kms_flip@busy-flip@c-edp1.html * igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling@pipe-a-valid-mode: - shard-glk: [FAIL][86] -> [PASS][87] [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-glk5/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling@pipe-a-valid-mode.html [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-glk1/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling@pipe-a-valid-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode: - shard-iclb: [SKIP][88] ([i915#3555]) -> [PASS][89] [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode.html [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-iclb3/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode.html * igt@kms_hdr@bpc-switch-suspend@pipe-a-dp-1: - shard-apl: [DMESG-WARN][90] ([i915#180]) -> [PASS][91] +1 similar issue [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-apl3/igt@kms_hdr@bpc-switch-suspend@pipe-a-dp-1.html [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-apl2/igt@kms_hdr@bpc-switch-suspend@pipe-a-dp-1.html * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-c-edp-1: - shard-iclb: [SKIP][92] ([i915#5235]) -> [PASS][93] +2 similar issues [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-iclb2/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-c-edp-1.html [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-iclb7/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-c-edp-1.html * igt@kms_psr@psr2_sprite_mmap_cpu: - shard-iclb: [SKIP][94] ([fdo#109441]) -> [PASS][95] [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-iclb5/igt@kms_psr@psr2_sprite_mmap_cpu.html [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_cpu.html * igt@perf@polling-parameterized: - shard-skl: [FAIL][96] ([i915#5639]) -> [PASS][97] [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-skl10/igt@perf@polling-parameterized.html [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-skl7/igt@perf@polling-parameterized.html * igt@perf@stress-open-close: - shard-glk: [INCOMPLETE][98] ([i915#5213]) -> [PASS][99] [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-glk1/igt@perf@stress-open-close.html [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-glk1/igt@perf@stress-open-close.html #### Warnings #### * igt@gem_exec_balancer@parallel-ordering: - shard-iclb: [SKIP][100] ([i915#4525]) -> [FAIL][101] ([i915#6117]) [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-iclb3/igt@gem_exec_balancer@parallel-ordering.html [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-iclb2/igt@gem_exec_balancer@parallel-ordering.html * igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc: - shard-apl: [SKIP][102] ([fdo#109271] / [i915#3886]) -> [SKIP][103] ([fdo#109271]) +1 similar issue [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-apl3/igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc.html [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-apl3/igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc.html * igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf: - shard-iclb: [SKIP][104] ([i915#658]) -> [SKIP][105] ([i915#2920]) [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-iclb5/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf.html [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-iclb2/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf.html * igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf: - shard-iclb: [SKIP][106] ([i915#2920]) -> [SKIP][107] ([i915#658]) +1 similar issue [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-iclb2/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-iclb3/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area: - shard-iclb: [SKIP][108] ([fdo#111068] / [i915#658]) -> [SKIP][109] ([i915#2920]) [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-iclb3/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area.html [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-iclb2/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area.html * igt@runner@aborted: - shard-apl: ([FAIL][110], [FAIL][111], [FAIL][112], [FAIL][113], [FAIL][114]) ([fdo#109271] / [i915#3002] / [i915#4312]) -> ([FAIL][115], [FAIL][116], [FAIL][117], [FAIL][118], [FAIL][119], [FAIL][120], [FAIL][121]) ([i915#180] / [i915#3002] / [i915#4312]) [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-apl2/igt@runner@aborted.html [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-apl6/igt@runner@aborted.html [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-apl8/igt@runner@aborted.html [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-apl3/igt@runner@aborted.html [114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12242/shard-apl3/igt@runner@aborted.html [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-apl1/igt@runner@aborted.html [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-apl8/igt@runner@aborted.html [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-apl2/igt@runner@aborted.html [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-apl3/igt@runner@aborted.html [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-apl8/igt@runner@aborted.html [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-apl3/igt@runner@aborted.html [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_109668v1/shard-apl6/igt@runner@aborted.html [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437 [i915#2521]: https://gitlab.freedesktop.org/drm/intel/issues/2521 [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587 [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672 [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842 [i915#2867]: https://gitlab.freedesktop.org/drm/intel/issues/2867 [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920 [i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994 [i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002 [i915#3323]: https://gitlab.freedesktop.org/drm/intel/issues/3323 [i915#3524]: https://gitlab.freedesktop.org/drm/intel/issues/3524 [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886 [i915#4281]: https://gitlab.freedesktop.org/drm/intel/issues/4281 [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312 [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525 [i915#4573]: https://gitlab.freedesktop.org/drm/intel/issues/4573 [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613 [i915#4939]: https://gitlab.freedesktop.org/drm/intel/issues/4939 [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176 [i915#5213]: https://gitlab.freedesktop.org/drm/intel/issues/5213 [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235 [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566 [i915#5639]: https://gitlab.freedesktop.org/drm/intel/issues/5639 [i915#5904]: https://gitlab.freedesktop.org/drm/intel/issues/5904 [i915#5939]: https://gitlab.freedesktop.org/drm/intel/issues/5939 [i915#6117]: https://gitlab.freedesktop.org/drm/intel/issues/6117 [i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62 [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268 [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [i915#6987]: https://gitlab.freedesktop.org/drm/intel/issues/6987 [i915#7017]: https://gitlab.freedesktop.org/drm/intel/issues/7017 [i915#7036]: https://gitlab.freedesktop.org/drm/intel/issues/7036 [i915#7057]: https://gitlab.freedesktop.org/drm/intel/issues/7057 [i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716 [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79 Build changes ------------- * Linux: CI_DRM_12242 -> Patchwork_109668v1 CI-20190529: 20190529 CI_DRM_12242: 075a81b1efd29300194bdf7877e08b6dbe3079d9 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_7012: ca6f5bdd537d26692c4b1ca011b8c4f227d95703 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_109668v1: 075a81b1efd29300194bdf7877e08b6dbe3079d9 @ 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_109668v1/index.html [-- Attachment #2: Type: text/html, Size: 35297 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2022-10-28 13:42 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-10-13 13:29 [Intel-gfx] [PATCH 0/2] drm/i915: refactor 915_vma_move_to_active Andrzej Hajda 2022-10-13 13:30 ` [Intel-gfx] [PATCH 1/2] drm/i915: add wait and lock to i915_vma_move_to_active Andrzej Hajda 2022-10-13 14:00 ` Tvrtko Ursulin 2022-10-21 15:51 ` Andi Shyti 2022-10-24 13:45 ` Andrzej Hajda 2022-10-13 13:30 ` [Intel-gfx] [PATCH 2/2] drm/i915/selftests: add igt_vma_move_to_active_unlocked Andrzej Hajda 2022-10-21 15:39 ` Andi Shyti 2022-10-24 14:05 ` Andrzej Hajda 2022-10-24 15:08 ` Andi Shyti 2022-10-28 13:42 ` Andrzej Hajda 2022-10-13 15:06 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: refactor 915_vma_move_to_active Patchwork 2022-10-13 17:24 ` [Intel-gfx] ✗ 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