Message ID | 20230217223350.1124232-1-jonathan.cavitt@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915/selftests: Drop igt_cs_tlb | expand |
On 17.02.2023 23:33, Jonathan Cavitt wrote: > The gt_tlb live selftest has the same code coverage as the > igt_cs_tlb subtest of gtt, except it is better at detecting > TLB bugs. Furthermore, while igt_cs_tlb is hitting some > unforeseen issues, these issues are either false positives > due to the test being poorly formatted, or are true > positives that can be more easily diagnosed with smaller > tests. As such, igt_cs_tlb is superceded by and obsoleted > by gt_tlb, meaning it can be removed. > > Signed-off-by: Jonathan Cavitt <jonathan.cavitt@intel.com> Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com> Regards Andrzej > --- > drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 356 ------------------ > 1 file changed, 356 deletions(-) > > diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c > index 01e75160a84a..5361ce70d3f2 100644 > --- a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c > @@ -1940,361 +1940,6 @@ int i915_gem_gtt_mock_selftests(void) > return err; > } > > -static int context_sync(struct intel_context *ce) > -{ > - struct i915_request *rq; > - long timeout; > - > - rq = intel_context_create_request(ce); > - if (IS_ERR(rq)) > - return PTR_ERR(rq); > - > - i915_request_get(rq); > - i915_request_add(rq); > - > - timeout = i915_request_wait(rq, 0, HZ / 5); > - i915_request_put(rq); > - > - return timeout < 0 ? -EIO : 0; > -} > - > -static struct i915_request * > -submit_batch(struct intel_context *ce, u64 addr) > -{ > - struct i915_request *rq; > - int err; > - > - rq = intel_context_create_request(ce); > - if (IS_ERR(rq)) > - return rq; > - > - err = 0; > - if (rq->engine->emit_init_breadcrumb) /* detect a hang */ > - err = rq->engine->emit_init_breadcrumb(rq); > - if (err == 0) > - err = rq->engine->emit_bb_start(rq, addr, 0, 0); > - > - if (err == 0) > - i915_request_get(rq); > - i915_request_add(rq); > - > - return err ? ERR_PTR(err) : rq; > -} > - > -static u32 *spinner(u32 *batch, int i) > -{ > - return batch + i * 64 / sizeof(*batch) + 4; > -} > - > -static void end_spin(u32 *batch, int i) > -{ > - *spinner(batch, i) = MI_BATCH_BUFFER_END; > - wmb(); > -} > - > -static int igt_cs_tlb(void *arg) > -{ > - const unsigned int count = PAGE_SIZE / 64; > - const unsigned int chunk_size = count * PAGE_SIZE; > - struct drm_i915_private *i915 = arg; > - struct drm_i915_gem_object *bbe, *act, *out; > - struct i915_gem_engines_iter it; > - struct i915_address_space *vm; > - struct i915_gem_context *ctx; > - struct intel_context *ce; > - struct i915_vma *vma; > - I915_RND_STATE(prng); > - struct file *file; > - unsigned int i; > - u32 *result; > - u32 *batch; > - int err = 0; > - > - /* > - * Our mission here is to fool the hardware to execute something > - * from scratch as it has not seen the batch move (due to missing > - * the TLB invalidate). > - */ > - > - file = mock_file(i915); > - if (IS_ERR(file)) > - return PTR_ERR(file); > - > - ctx = live_context(i915, file); > - if (IS_ERR(ctx)) { > - err = PTR_ERR(ctx); > - goto out_unlock; > - } > - > - vm = i915_gem_context_get_eb_vm(ctx); > - if (i915_is_ggtt(vm)) > - goto out_vm; > - > - /* Create two pages; dummy we prefill the TLB, and intended */ > - bbe = i915_gem_object_create_internal(i915, PAGE_SIZE); > - if (IS_ERR(bbe)) { > - err = PTR_ERR(bbe); > - goto out_vm; > - } > - > - batch = i915_gem_object_pin_map_unlocked(bbe, I915_MAP_WC); > - if (IS_ERR(batch)) { > - err = PTR_ERR(batch); > - goto out_put_bbe; > - } > - memset32(batch, MI_BATCH_BUFFER_END, PAGE_SIZE / sizeof(u32)); > - i915_gem_object_flush_map(bbe); > - i915_gem_object_unpin_map(bbe); > - > - act = i915_gem_object_create_internal(i915, PAGE_SIZE); > - if (IS_ERR(act)) { > - err = PTR_ERR(act); > - goto out_put_bbe; > - } > - > - /* Track the execution of each request by writing into different slot */ > - batch = i915_gem_object_pin_map_unlocked(act, I915_MAP_WC); > - if (IS_ERR(batch)) { > - err = PTR_ERR(batch); > - goto out_put_act; > - } > - for (i = 0; i < count; i++) { > - u32 *cs = batch + i * 64 / sizeof(*cs); > - u64 addr = (vm->total - PAGE_SIZE) + i * sizeof(u32); > - > - GEM_BUG_ON(GRAPHICS_VER(i915) < 6); > - cs[0] = MI_STORE_DWORD_IMM_GEN4; > - if (GRAPHICS_VER(i915) >= 8) { > - cs[1] = lower_32_bits(addr); > - cs[2] = upper_32_bits(addr); > - cs[3] = i; > - cs[4] = MI_NOOP; > - cs[5] = MI_BATCH_BUFFER_START_GEN8; > - } else { > - cs[1] = 0; > - cs[2] = lower_32_bits(addr); > - cs[3] = i; > - cs[4] = MI_NOOP; > - cs[5] = MI_BATCH_BUFFER_START; > - } > - } > - > - out = i915_gem_object_create_internal(i915, PAGE_SIZE); > - if (IS_ERR(out)) { > - err = PTR_ERR(out); > - goto out_put_batch; > - } > - i915_gem_object_set_cache_coherency(out, I915_CACHING_CACHED); > - > - vma = i915_vma_instance(out, vm, NULL); > - if (IS_ERR(vma)) { > - err = PTR_ERR(vma); > - goto out_put_out; > - } > - > - err = i915_vma_pin(vma, 0, 0, > - PIN_USER | > - PIN_OFFSET_FIXED | > - (vm->total - PAGE_SIZE)); > - if (err) > - goto out_put_out; > - GEM_BUG_ON(vma->node.start != vm->total - PAGE_SIZE); > - > - result = i915_gem_object_pin_map_unlocked(out, I915_MAP_WB); > - if (IS_ERR(result)) { > - err = PTR_ERR(result); > - goto out_put_out; > - } > - > - for_each_gem_engine(ce, i915_gem_context_lock_engines(ctx), it) { > - IGT_TIMEOUT(end_time); > - unsigned long pass = 0; > - > - if (!intel_engine_can_store_dword(ce->engine)) > - continue; > - > - while (!__igt_timeout(end_time, NULL)) { > - struct i915_vm_pt_stash stash = {}; > - struct i915_request *rq; > - struct i915_gem_ww_ctx ww; > - struct i915_vma_resource *vma_res; > - u64 offset; > - > - offset = igt_random_offset(&prng, > - 0, vm->total - PAGE_SIZE, > - chunk_size, PAGE_SIZE); > - > - memset32(result, STACK_MAGIC, PAGE_SIZE / sizeof(u32)); > - > - vma = i915_vma_instance(bbe, vm, NULL); > - if (IS_ERR(vma)) { > - err = PTR_ERR(vma); > - goto end; > - } > - > - i915_gem_object_lock(bbe, NULL); > - err = i915_vma_get_pages(vma); > - i915_gem_object_unlock(bbe); > - if (err) > - goto end; > - > - vma_res = i915_vma_resource_alloc(); > - if (IS_ERR(vma_res)) { > - i915_vma_put_pages(vma); > - err = PTR_ERR(vma_res); > - goto end; > - } > - > - i915_gem_ww_ctx_init(&ww, false); > -retry: > - err = i915_vm_lock_objects(vm, &ww); > - if (err) > - goto end_ww; > - > - err = i915_vm_alloc_pt_stash(vm, &stash, chunk_size); > - if (err) > - goto end_ww; > - > - err = i915_vm_map_pt_stash(vm, &stash); > - if (!err) > - vm->allocate_va_range(vm, &stash, offset, chunk_size); > - i915_vm_free_pt_stash(vm, &stash); > -end_ww: > - if (err == -EDEADLK) { > - err = i915_gem_ww_ctx_backoff(&ww); > - if (!err) > - goto retry; > - } > - i915_gem_ww_ctx_fini(&ww); > - if (err) { > - kfree(vma_res); > - goto end; > - } > - > - i915_vma_resource_init_from_vma(vma_res, vma); > - /* Prime the TLB with the dummy pages */ > - for (i = 0; i < count; i++) { > - vma_res->start = offset + i * PAGE_SIZE; > - vm->insert_entries(vm, vma_res, I915_CACHE_NONE, > - 0); > - > - rq = submit_batch(ce, vma_res->start); > - if (IS_ERR(rq)) { > - err = PTR_ERR(rq); > - i915_vma_resource_fini(vma_res); > - kfree(vma_res); > - goto end; > - } > - i915_request_put(rq); > - } > - i915_vma_resource_fini(vma_res); > - i915_vma_put_pages(vma); > - > - err = context_sync(ce); > - if (err) { > - pr_err("%s: dummy setup timed out\n", > - ce->engine->name); > - kfree(vma_res); > - goto end; > - } > - > - vma = i915_vma_instance(act, vm, NULL); > - if (IS_ERR(vma)) { > - kfree(vma_res); > - err = PTR_ERR(vma); > - goto end; > - } > - > - i915_gem_object_lock(act, NULL); > - err = i915_vma_get_pages(vma); > - i915_gem_object_unlock(act); > - if (err) { > - kfree(vma_res); > - goto end; > - } > - > - i915_vma_resource_init_from_vma(vma_res, vma); > - /* Replace the TLB with target batches */ > - for (i = 0; i < count; i++) { > - struct i915_request *rq; > - u32 *cs = batch + i * 64 / sizeof(*cs); > - u64 addr; > - > - vma_res->start = offset + i * PAGE_SIZE; > - vm->insert_entries(vm, vma_res, I915_CACHE_NONE, 0); > - > - addr = vma_res->start + i * 64; > - cs[4] = MI_NOOP; > - cs[6] = lower_32_bits(addr); > - cs[7] = upper_32_bits(addr); > - wmb(); > - > - rq = submit_batch(ce, addr); > - if (IS_ERR(rq)) { > - err = PTR_ERR(rq); > - i915_vma_resource_fini(vma_res); > - kfree(vma_res); > - goto end; > - } > - > - /* Wait until the context chain has started */ > - if (i == 0) { > - while (READ_ONCE(result[i]) && > - !i915_request_completed(rq)) > - cond_resched(); > - } else { > - end_spin(batch, i - 1); > - } > - > - i915_request_put(rq); > - } > - end_spin(batch, count - 1); > - > - i915_vma_resource_fini(vma_res); > - kfree(vma_res); > - i915_vma_put_pages(vma); > - > - err = context_sync(ce); > - if (err) { > - pr_err("%s: writes timed out\n", > - ce->engine->name); > - goto end; > - } > - > - for (i = 0; i < count; i++) { > - if (result[i] != i) { > - pr_err("%s: Write lost on pass %lu, at offset %llx, index %d, found %x, expected %x\n", > - ce->engine->name, pass, > - offset, i, result[i], i); > - err = -EINVAL; > - goto end; > - } > - } > - > - vm->clear_range(vm, offset, chunk_size); > - pass++; > - } > - } > -end: > - if (igt_flush_test(i915)) > - err = -EIO; > - i915_gem_context_unlock_engines(ctx); > - i915_gem_object_unpin_map(out); > -out_put_out: > - i915_gem_object_put(out); > -out_put_batch: > - i915_gem_object_unpin_map(act); > -out_put_act: > - i915_gem_object_put(act); > -out_put_bbe: > - i915_gem_object_put(bbe); > -out_vm: > - i915_vm_put(vm); > -out_unlock: > - fput(file); > - return err; > -} > - > int i915_gem_gtt_live_selftests(struct drm_i915_private *i915) > { > static const struct i915_subtest tests[] = { > @@ -2314,7 +1959,6 @@ int i915_gem_gtt_live_selftests(struct drm_i915_private *i915) > SUBTEST(igt_ggtt_fill), > SUBTEST(igt_ggtt_page), > SUBTEST(igt_ggtt_misaligned_pin), > - SUBTEST(igt_cs_tlb), > }; > > GEM_BUG_ON(offset_in_page(to_gt(i915)->ggtt->vm.total));
On 2/17/2023 11:33 PM, Jonathan Cavitt wrote: > The gt_tlb live selftest has the same code coverage as the > igt_cs_tlb subtest of gtt, except it is better at detecting > TLB bugs. Furthermore, while igt_cs_tlb is hitting some > unforeseen issues, these issues are either false positives > due to the test being poorly formatted, or are true > positives that can be more easily diagnosed with smaller > tests. As such, igt_cs_tlb is superceded by and obsoleted > by gt_tlb, meaning it can be removed. > > Signed-off-by: Jonathan Cavitt <jonathan.cavitt@intel.com> Acked-by: Nirmoy Das <nirmoy.das@intel.com> > --- > drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 356 ------------------ > 1 file changed, 356 deletions(-) > > diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c > index 01e75160a84a..5361ce70d3f2 100644 > --- a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c > @@ -1940,361 +1940,6 @@ int i915_gem_gtt_mock_selftests(void) > return err; > } > > -static int context_sync(struct intel_context *ce) > -{ > - struct i915_request *rq; > - long timeout; > - > - rq = intel_context_create_request(ce); > - if (IS_ERR(rq)) > - return PTR_ERR(rq); > - > - i915_request_get(rq); > - i915_request_add(rq); > - > - timeout = i915_request_wait(rq, 0, HZ / 5); > - i915_request_put(rq); > - > - return timeout < 0 ? -EIO : 0; > -} > - > -static struct i915_request * > -submit_batch(struct intel_context *ce, u64 addr) > -{ > - struct i915_request *rq; > - int err; > - > - rq = intel_context_create_request(ce); > - if (IS_ERR(rq)) > - return rq; > - > - err = 0; > - if (rq->engine->emit_init_breadcrumb) /* detect a hang */ > - err = rq->engine->emit_init_breadcrumb(rq); > - if (err == 0) > - err = rq->engine->emit_bb_start(rq, addr, 0, 0); > - > - if (err == 0) > - i915_request_get(rq); > - i915_request_add(rq); > - > - return err ? ERR_PTR(err) : rq; > -} > - > -static u32 *spinner(u32 *batch, int i) > -{ > - return batch + i * 64 / sizeof(*batch) + 4; > -} > - > -static void end_spin(u32 *batch, int i) > -{ > - *spinner(batch, i) = MI_BATCH_BUFFER_END; > - wmb(); > -} > - > -static int igt_cs_tlb(void *arg) > -{ > - const unsigned int count = PAGE_SIZE / 64; > - const unsigned int chunk_size = count * PAGE_SIZE; > - struct drm_i915_private *i915 = arg; > - struct drm_i915_gem_object *bbe, *act, *out; > - struct i915_gem_engines_iter it; > - struct i915_address_space *vm; > - struct i915_gem_context *ctx; > - struct intel_context *ce; > - struct i915_vma *vma; > - I915_RND_STATE(prng); > - struct file *file; > - unsigned int i; > - u32 *result; > - u32 *batch; > - int err = 0; > - > - /* > - * Our mission here is to fool the hardware to execute something > - * from scratch as it has not seen the batch move (due to missing > - * the TLB invalidate). > - */ > - > - file = mock_file(i915); > - if (IS_ERR(file)) > - return PTR_ERR(file); > - > - ctx = live_context(i915, file); > - if (IS_ERR(ctx)) { > - err = PTR_ERR(ctx); > - goto out_unlock; > - } > - > - vm = i915_gem_context_get_eb_vm(ctx); > - if (i915_is_ggtt(vm)) > - goto out_vm; > - > - /* Create two pages; dummy we prefill the TLB, and intended */ > - bbe = i915_gem_object_create_internal(i915, PAGE_SIZE); > - if (IS_ERR(bbe)) { > - err = PTR_ERR(bbe); > - goto out_vm; > - } > - > - batch = i915_gem_object_pin_map_unlocked(bbe, I915_MAP_WC); > - if (IS_ERR(batch)) { > - err = PTR_ERR(batch); > - goto out_put_bbe; > - } > - memset32(batch, MI_BATCH_BUFFER_END, PAGE_SIZE / sizeof(u32)); > - i915_gem_object_flush_map(bbe); > - i915_gem_object_unpin_map(bbe); > - > - act = i915_gem_object_create_internal(i915, PAGE_SIZE); > - if (IS_ERR(act)) { > - err = PTR_ERR(act); > - goto out_put_bbe; > - } > - > - /* Track the execution of each request by writing into different slot */ > - batch = i915_gem_object_pin_map_unlocked(act, I915_MAP_WC); > - if (IS_ERR(batch)) { > - err = PTR_ERR(batch); > - goto out_put_act; > - } > - for (i = 0; i < count; i++) { > - u32 *cs = batch + i * 64 / sizeof(*cs); > - u64 addr = (vm->total - PAGE_SIZE) + i * sizeof(u32); > - > - GEM_BUG_ON(GRAPHICS_VER(i915) < 6); > - cs[0] = MI_STORE_DWORD_IMM_GEN4; > - if (GRAPHICS_VER(i915) >= 8) { > - cs[1] = lower_32_bits(addr); > - cs[2] = upper_32_bits(addr); > - cs[3] = i; > - cs[4] = MI_NOOP; > - cs[5] = MI_BATCH_BUFFER_START_GEN8; > - } else { > - cs[1] = 0; > - cs[2] = lower_32_bits(addr); > - cs[3] = i; > - cs[4] = MI_NOOP; > - cs[5] = MI_BATCH_BUFFER_START; > - } > - } > - > - out = i915_gem_object_create_internal(i915, PAGE_SIZE); > - if (IS_ERR(out)) { > - err = PTR_ERR(out); > - goto out_put_batch; > - } > - i915_gem_object_set_cache_coherency(out, I915_CACHING_CACHED); > - > - vma = i915_vma_instance(out, vm, NULL); > - if (IS_ERR(vma)) { > - err = PTR_ERR(vma); > - goto out_put_out; > - } > - > - err = i915_vma_pin(vma, 0, 0, > - PIN_USER | > - PIN_OFFSET_FIXED | > - (vm->total - PAGE_SIZE)); > - if (err) > - goto out_put_out; > - GEM_BUG_ON(vma->node.start != vm->total - PAGE_SIZE); > - > - result = i915_gem_object_pin_map_unlocked(out, I915_MAP_WB); > - if (IS_ERR(result)) { > - err = PTR_ERR(result); > - goto out_put_out; > - } > - > - for_each_gem_engine(ce, i915_gem_context_lock_engines(ctx), it) { > - IGT_TIMEOUT(end_time); > - unsigned long pass = 0; > - > - if (!intel_engine_can_store_dword(ce->engine)) > - continue; > - > - while (!__igt_timeout(end_time, NULL)) { > - struct i915_vm_pt_stash stash = {}; > - struct i915_request *rq; > - struct i915_gem_ww_ctx ww; > - struct i915_vma_resource *vma_res; > - u64 offset; > - > - offset = igt_random_offset(&prng, > - 0, vm->total - PAGE_SIZE, > - chunk_size, PAGE_SIZE); > - > - memset32(result, STACK_MAGIC, PAGE_SIZE / sizeof(u32)); > - > - vma = i915_vma_instance(bbe, vm, NULL); > - if (IS_ERR(vma)) { > - err = PTR_ERR(vma); > - goto end; > - } > - > - i915_gem_object_lock(bbe, NULL); > - err = i915_vma_get_pages(vma); > - i915_gem_object_unlock(bbe); > - if (err) > - goto end; > - > - vma_res = i915_vma_resource_alloc(); > - if (IS_ERR(vma_res)) { > - i915_vma_put_pages(vma); > - err = PTR_ERR(vma_res); > - goto end; > - } > - > - i915_gem_ww_ctx_init(&ww, false); > -retry: > - err = i915_vm_lock_objects(vm, &ww); > - if (err) > - goto end_ww; > - > - err = i915_vm_alloc_pt_stash(vm, &stash, chunk_size); > - if (err) > - goto end_ww; > - > - err = i915_vm_map_pt_stash(vm, &stash); > - if (!err) > - vm->allocate_va_range(vm, &stash, offset, chunk_size); > - i915_vm_free_pt_stash(vm, &stash); > -end_ww: > - if (err == -EDEADLK) { > - err = i915_gem_ww_ctx_backoff(&ww); > - if (!err) > - goto retry; > - } > - i915_gem_ww_ctx_fini(&ww); > - if (err) { > - kfree(vma_res); > - goto end; > - } > - > - i915_vma_resource_init_from_vma(vma_res, vma); > - /* Prime the TLB with the dummy pages */ > - for (i = 0; i < count; i++) { > - vma_res->start = offset + i * PAGE_SIZE; > - vm->insert_entries(vm, vma_res, I915_CACHE_NONE, > - 0); > - > - rq = submit_batch(ce, vma_res->start); > - if (IS_ERR(rq)) { > - err = PTR_ERR(rq); > - i915_vma_resource_fini(vma_res); > - kfree(vma_res); > - goto end; > - } > - i915_request_put(rq); > - } > - i915_vma_resource_fini(vma_res); > - i915_vma_put_pages(vma); > - > - err = context_sync(ce); > - if (err) { > - pr_err("%s: dummy setup timed out\n", > - ce->engine->name); > - kfree(vma_res); > - goto end; > - } > - > - vma = i915_vma_instance(act, vm, NULL); > - if (IS_ERR(vma)) { > - kfree(vma_res); > - err = PTR_ERR(vma); > - goto end; > - } > - > - i915_gem_object_lock(act, NULL); > - err = i915_vma_get_pages(vma); > - i915_gem_object_unlock(act); > - if (err) { > - kfree(vma_res); > - goto end; > - } > - > - i915_vma_resource_init_from_vma(vma_res, vma); > - /* Replace the TLB with target batches */ > - for (i = 0; i < count; i++) { > - struct i915_request *rq; > - u32 *cs = batch + i * 64 / sizeof(*cs); > - u64 addr; > - > - vma_res->start = offset + i * PAGE_SIZE; > - vm->insert_entries(vm, vma_res, I915_CACHE_NONE, 0); > - > - addr = vma_res->start + i * 64; > - cs[4] = MI_NOOP; > - cs[6] = lower_32_bits(addr); > - cs[7] = upper_32_bits(addr); > - wmb(); > - > - rq = submit_batch(ce, addr); > - if (IS_ERR(rq)) { > - err = PTR_ERR(rq); > - i915_vma_resource_fini(vma_res); > - kfree(vma_res); > - goto end; > - } > - > - /* Wait until the context chain has started */ > - if (i == 0) { > - while (READ_ONCE(result[i]) && > - !i915_request_completed(rq)) > - cond_resched(); > - } else { > - end_spin(batch, i - 1); > - } > - > - i915_request_put(rq); > - } > - end_spin(batch, count - 1); > - > - i915_vma_resource_fini(vma_res); > - kfree(vma_res); > - i915_vma_put_pages(vma); > - > - err = context_sync(ce); > - if (err) { > - pr_err("%s: writes timed out\n", > - ce->engine->name); > - goto end; > - } > - > - for (i = 0; i < count; i++) { > - if (result[i] != i) { > - pr_err("%s: Write lost on pass %lu, at offset %llx, index %d, found %x, expected %x\n", > - ce->engine->name, pass, > - offset, i, result[i], i); > - err = -EINVAL; > - goto end; > - } > - } > - > - vm->clear_range(vm, offset, chunk_size); > - pass++; > - } > - } > -end: > - if (igt_flush_test(i915)) > - err = -EIO; > - i915_gem_context_unlock_engines(ctx); > - i915_gem_object_unpin_map(out); > -out_put_out: > - i915_gem_object_put(out); > -out_put_batch: > - i915_gem_object_unpin_map(act); > -out_put_act: > - i915_gem_object_put(act); > -out_put_bbe: > - i915_gem_object_put(bbe); > -out_vm: > - i915_vm_put(vm); > -out_unlock: > - fput(file); > - return err; > -} > - > int i915_gem_gtt_live_selftests(struct drm_i915_private *i915) > { > static const struct i915_subtest tests[] = { > @@ -2314,7 +1959,6 @@ int i915_gem_gtt_live_selftests(struct drm_i915_private *i915) > SUBTEST(igt_ggtt_fill), > SUBTEST(igt_ggtt_page), > SUBTEST(igt_ggtt_misaligned_pin), > - SUBTEST(igt_cs_tlb), > }; > > GEM_BUG_ON(offset_in_page(to_gt(i915)->ggtt->vm.total));
On 2/18/2023 2:47 PM, Patchwork wrote: > Project List - Patchwork *Patch Details* > *Series:* drm/i915/selftests: Drop igt_cs_tlb (rev2) > *URL:* https://patchwork.freedesktop.org/series/114154/ > *State:* failure > *Details:* > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/index.html > > > CI Bug Log - changes from CI_DRM_12759_full -> Patchwork_114154v2_full > > > Summary > > *FAILURE* > > Serious unknown changes coming with Patchwork_114154v2_full absolutely > need to be > verified manually. > > If you think the reported changes have nothing to do with the changes > introduced in Patchwork_114154v2_full, please notify your bug team to > allow them > to document this new failure mode, which will reduce false positives > in CI. > > External URL: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/index.html > > > Participating hosts (11 -> 11) > > No changes in participating hosts > > > Possible new issues > > Here are the unknown changes that may have been introduced in > Patchwork_114154v2_full: > > > IGT changes > > > Possible regressions > > * igt@perf_pmu@cpu-hotplug: > o shard-glk: PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12759/shard-glk7/igt@perf_pmu@cpu-hotplug.html> > -> TIMEOUT > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-glk3/igt@perf_pmu@cpu-hotplug.html> > Unrelated failure. > * > > > Suppressed > > The following results come from untrusted machines, tests, or statuses. > They do not affect the overall result. > > * > > {igt@gem_barrier_race@remote-request@rcs0}: > > o {shard-tglu}: NOTRUN -> ABORT > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-1/igt@gem_barrier_race@remote-request@rcs0.html> > * > > {igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling}: > > o shard-tglu-9: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-9/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling.html> > * > > {igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-0-25@pipe-a-hdmi-a-1}: > > o {shard-tglu}: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-5/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-0-25@pipe-a-hdmi-a-1.html> > +3 similar issues > * > > {igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-b-edp-1}: > > o {shard-rkl}: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-rkl-6/igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-b-edp-1.html> > +4 similar issues > > > Known issues > > Here are the changes found in Patchwork_114154v2_full that come from > known issues: > > > IGT changes > > > Issues hit > > * > > igt@device_reset@cold-reset-bound: > > o shard-tglu-9: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-9/igt@device_reset@cold-reset-bound.html> > (i915#7701 <https://gitlab.freedesktop.org/drm/intel/issues/7701>) > * > > igt@drm_read@invalid-buffer: > > o shard-tglu-9: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-9/igt@drm_read@invalid-buffer.html> > (i915#1845 > <https://gitlab.freedesktop.org/drm/intel/issues/1845>) +6 > similar issues > * > > igt@gem_ccs@suspend-resume: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@gem_ccs@suspend-resume.html> > (i915#5325 <https://gitlab.freedesktop.org/drm/intel/issues/5325>) > * > > igt@gem_ctx_sseu@invalid-sseu: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@gem_ctx_sseu@invalid-sseu.html> > (i915#280 <https://gitlab.freedesktop.org/drm/intel/issues/280>) > * > > igt@gem_exec_fair@basic-none-solo@rcs0: > > o shard-tglu-10: NOTRUN -> FAIL > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@gem_exec_fair@basic-none-solo@rcs0.html> > (i915#2842 <https://gitlab.freedesktop.org/drm/intel/issues/2842>) > * > > igt@gem_exec_fair@basic-pace-share@rcs0: > > o shard-glk: PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12759/shard-glk5/igt@gem_exec_fair@basic-pace-share@rcs0.html> > -> FAIL > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-glk6/igt@gem_exec_fair@basic-pace-share@rcs0.html> > (i915#2842 <https://gitlab.freedesktop.org/drm/intel/issues/2842>) > * > > igt@gem_exec_params@rsvd2-dirt: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@gem_exec_params@rsvd2-dirt.html> > (fdo#109283 <https://bugs.freedesktop.org/show_bug.cgi?id=109283>) > * > > igt@gem_exec_reloc@basic-scanout@vcs0: > > o shard-tglu-9: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-9/igt@gem_exec_reloc@basic-scanout@vcs0.html> > (i915#3639 > <https://gitlab.freedesktop.org/drm/intel/issues/3639>) +4 > similar issues > * > > igt@gem_huc_copy@huc-copy: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@gem_huc_copy@huc-copy.html> > (i915#2190 <https://gitlab.freedesktop.org/drm/intel/issues/2190>) > * > > igt@gem_lmem_swapping@parallel-random: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@gem_lmem_swapping@parallel-random.html> > (i915#4613 > <https://gitlab.freedesktop.org/drm/intel/issues/4613>) +2 > similar issues > * > > igt@gem_media_vme: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@gem_media_vme.html> > (i915#284 <https://gitlab.freedesktop.org/drm/intel/issues/284>) > * > > igt@gem_mmap_gtt@coherency: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@gem_mmap_gtt@coherency.html> > (fdo#111656 <https://bugs.freedesktop.org/show_bug.cgi?id=111656>) > * > > igt@gem_pxp@create-regular-buffer: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@gem_pxp@create-regular-buffer.html> > (i915#4270 > <https://gitlab.freedesktop.org/drm/intel/issues/4270>) +3 > similar issues > * > > igt@gem_pxp@verify-pxp-key-change-after-suspend-resume: > > o shard-tglu-9: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-9/igt@gem_pxp@verify-pxp-key-change-after-suspend-resume.html> > (i915#4270 <https://gitlab.freedesktop.org/drm/intel/issues/4270>) > * > > igt@gem_userptr_blits@access-control: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@gem_userptr_blits@access-control.html> > (i915#3297 > <https://gitlab.freedesktop.org/drm/intel/issues/3297>) +2 > similar issues > * > > igt@gem_userptr_blits@dmabuf-unsync: > > o shard-tglu-9: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-9/igt@gem_userptr_blits@dmabuf-unsync.html> > (i915#3297 <https://gitlab.freedesktop.org/drm/intel/issues/3297>) > * > > igt@gen7_exec_parse@basic-allocation: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@gen7_exec_parse@basic-allocation.html> > (fdo#109289 > <https://bugs.freedesktop.org/show_bug.cgi?id=109289>) +4 > similar issues > * > > igt@gen9_exec_parse@allowed-single: > > o shard-glk: PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12759/shard-glk4/igt@gen9_exec_parse@allowed-single.html> > -> ABORT > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-glk4/igt@gen9_exec_parse@allowed-single.html> > (i915#5566 <https://gitlab.freedesktop.org/drm/intel/issues/5566>) > * > > igt@gen9_exec_parse@unaligned-jump: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@gen9_exec_parse@unaligned-jump.html> > (i915#2527 > <https://gitlab.freedesktop.org/drm/intel/issues/2527> / > i915#2856 > <https://gitlab.freedesktop.org/drm/intel/issues/2856>) +4 > similar issues > * > > igt@i915_hwmon@hwmon-read: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@i915_hwmon@hwmon-read.html> > (i915#7707 <https://gitlab.freedesktop.org/drm/intel/issues/7707>) > * > > igt@i915_module_load@resize-bar: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@i915_module_load@resize-bar.html> > (i915#6412 <https://gitlab.freedesktop.org/drm/intel/issues/6412>) > * > > igt@i915_pm_rpm@dpms-mode-unset-non-lpsp: > > o shard-tglu-9: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-9/igt@i915_pm_rpm@dpms-mode-unset-non-lpsp.html> > (fdo#111644 > <https://bugs.freedesktop.org/show_bug.cgi?id=111644> / > i915#1397 <https://gitlab.freedesktop.org/drm/intel/issues/1397>) > * > > igt@i915_pm_rpm@modeset-non-lpsp: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@i915_pm_rpm@modeset-non-lpsp.html> > (fdo#111644 > <https://bugs.freedesktop.org/show_bug.cgi?id=111644> / > i915#1397 <https://gitlab.freedesktop.org/drm/intel/issues/1397>) > * > > igt@i915_pm_rpm@modeset-pc8-residency-stress: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@i915_pm_rpm@modeset-pc8-residency-stress.html> > (fdo#109506 <https://bugs.freedesktop.org/show_bug.cgi?id=109506>) > * > > igt@i915_pm_rps@engine-order: > > o shard-apl: PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12759/shard-apl6/igt@i915_pm_rps@engine-order.html> > -> FAIL > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-apl4/igt@i915_pm_rps@engine-order.html> > (i915#6537 <https://gitlab.freedesktop.org/drm/intel/issues/6537>) > * > > igt@i915_pm_sseu@full-enable: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@i915_pm_sseu@full-enable.html> > (i915#4387 <https://gitlab.freedesktop.org/drm/intel/issues/4387>) > * > > igt@i915_selftest@live@dmabuf: > > o shard-apl: PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12759/shard-apl7/igt@i915_selftest@live@dmabuf.html> > -> DMESG-FAIL > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-apl1/igt@i915_selftest@live@dmabuf.html> > (i915#7562 <https://gitlab.freedesktop.org/drm/intel/issues/7562>) > * > > igt@kms_big_fb@4-tiled-addfb-size-overflow: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_big_fb@4-tiled-addfb-size-overflow.html> > (i915#5286 > <https://gitlab.freedesktop.org/drm/intel/issues/5286>) +6 > similar issues > * > > igt@kms_big_fb@x-tiled-32bpp-rotate-90: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_big_fb@x-tiled-32bpp-rotate-90.html> > (fdo#111614 > <https://bugs.freedesktop.org/show_bug.cgi?id=111614>) +2 > similar issues > * > > igt@kms_big_fb@yf-tiled-32bpp-rotate-180: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html> > (fdo#111615 > <https://bugs.freedesktop.org/show_bug.cgi?id=111615>) +4 > similar issues > * > > igt@kms_big_joiner@2x-modeset: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_big_joiner@2x-modeset.html> > (i915#2705 <https://gitlab.freedesktop.org/drm/intel/issues/2705>) > * > > igt@kms_ccs@pipe-a-crc-primary-rotation-180-yf_tiled_ccs: > > o shard-tglu-9: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-9/igt@kms_ccs@pipe-a-crc-primary-rotation-180-yf_tiled_ccs.html> > (fdo#111615 > <https://bugs.freedesktop.org/show_bug.cgi?id=111615> / > i915#1845 > <https://gitlab.freedesktop.org/drm/intel/issues/1845> / > i915#7651 > <https://gitlab.freedesktop.org/drm/intel/issues/7651>) +3 > similar issues > * > > igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_ccs: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_ccs.html> > (i915#3689 > <https://gitlab.freedesktop.org/drm/intel/issues/3689>) +13 > similar issues > * > > igt@kms_ccs@pipe-c-bad-aux-stride-y_tiled_gen12_mc_ccs: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_ccs@pipe-c-bad-aux-stride-y_tiled_gen12_mc_ccs.html> > (i915#3689 > <https://gitlab.freedesktop.org/drm/intel/issues/3689> / > i915#3886 > <https://gitlab.freedesktop.org/drm/intel/issues/3886>) +2 > similar issues > * > > igt@kms_ccs@pipe-c-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_ccs@pipe-c-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs.html> > (i915#3689 > <https://gitlab.freedesktop.org/drm/intel/issues/3689> / > i915#6095 > <https://gitlab.freedesktop.org/drm/intel/issues/6095>) +5 > similar issues > * > > igt@kms_ccs@pipe-c-random-ccs-data-4_tiled_dg2_mc_ccs: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_ccs@pipe-c-random-ccs-data-4_tiled_dg2_mc_ccs.html> > (i915#6095 > <https://gitlab.freedesktop.org/drm/intel/issues/6095>) +3 > similar issues > * > > igt@kms_ccs@pipe-d-crc-primary-basic-yf_tiled_ccs: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_ccs@pipe-d-crc-primary-basic-yf_tiled_ccs.html> > (fdo#111615 > <https://bugs.freedesktop.org/show_bug.cgi?id=111615> / > i915#3689 > <https://gitlab.freedesktop.org/drm/intel/issues/3689>) +1 > similar issue > * > > igt@kms_chamelium_color@ctm-0-25: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_chamelium_color@ctm-0-25.html> > (fdo#111827 <https://bugs.freedesktop.org/show_bug.cgi?id=111827>) > * > > igt@kms_chamelium_color@ctm-blue-to-red: > > o shard-tglu-9: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-9/igt@kms_chamelium_color@ctm-blue-to-red.html> > (fdo#111827 <https://bugs.freedesktop.org/show_bug.cgi?id=111827>) > * > > igt@kms_chamelium_edid@hdmi-edid-stress-resolution-4k: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_chamelium_edid@hdmi-edid-stress-resolution-4k.html> > (i915#7828 > <https://gitlab.freedesktop.org/drm/intel/issues/7828>) +7 > similar issues > * > > igt@kms_chamelium_hpd@dp-hpd-after-suspend: > > o shard-tglu-9: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-9/igt@kms_chamelium_hpd@dp-hpd-after-suspend.html> > (i915#7828 > <https://gitlab.freedesktop.org/drm/intel/issues/7828>) +1 > similar issue > * > > igt@kms_color@ctm-0-25@pipe-b-hdmi-a-1: > > o shard-tglu-10: NOTRUN -> FAIL > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_color@ctm-0-25@pipe-b-hdmi-a-1.html> > (i915#315 > <https://gitlab.freedesktop.org/drm/intel/issues/315> / > i915#6946 > <https://gitlab.freedesktop.org/drm/intel/issues/6946>) +3 > similar issues > * > > igt@kms_color@ctm-max@pipe-a-hdmi-a-1: > > o shard-snb: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-snb1/igt@kms_color@ctm-max@pipe-a-hdmi-a-1.html> > (fdo#109271 > <https://bugs.freedesktop.org/show_bug.cgi?id=109271>) +33 > similar issues > * > > igt@kms_color@gamma: > > o shard-tglu-9: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-9/igt@kms_color@gamma.html> > (i915#3546 <https://gitlab.freedesktop.org/drm/intel/issues/3546>) > * > > igt@kms_cursor_crc@cursor-onscreen-512x170: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_cursor_crc@cursor-onscreen-512x170.html> > (fdo#109279 > <https://bugs.freedesktop.org/show_bug.cgi?id=109279> / > i915#3359 <https://gitlab.freedesktop.org/drm/intel/issues/3359>) > * > > igt@kms_cursor_crc@cursor-rapid-movement-512x170: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html> > (i915#3359 > <https://gitlab.freedesktop.org/drm/intel/issues/3359>) +1 > similar issue > * > > igt@kms_cursor_legacy@cursorb-vs-flipb@atomic-transitions-varying-size: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_cursor_legacy@cursorb-vs-flipb@atomic-transitions-varying-size.html> > (fdo#109274 > <https://bugs.freedesktop.org/show_bug.cgi?id=109274>) +6 > similar issues > * > > igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size: > > o shard-apl: PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12759/shard-apl4/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html> > -> FAIL > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-apl3/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html> > (i915#2346 <https://gitlab.freedesktop.org/drm/intel/issues/2346>) > * > > igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html> > (i915#3804 <https://gitlab.freedesktop.org/drm/intel/issues/3804>) > * > > igt@kms_flip@2x-flip-vs-blocking-wf-vblank: > > o shard-tglu-9: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-9/igt@kms_flip@2x-flip-vs-blocking-wf-vblank.html> > (fdo#109274 > <https://bugs.freedesktop.org/show_bug.cgi?id=109274> / > i915#3637 > <https://gitlab.freedesktop.org/drm/intel/issues/3637>) +1 > similar issue > * > > igt@kms_flip@2x-flip-vs-suspend: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_flip@2x-flip-vs-suspend.html> > (fdo#109274 > <https://bugs.freedesktop.org/show_bug.cgi?id=109274> / > i915#3637 > <https://gitlab.freedesktop.org/drm/intel/issues/3637>) +3 > similar issues > * > > igt@kms_flip@dpms-off-confusion-interruptible: > > o shard-tglu-9: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-9/igt@kms_flip@dpms-off-confusion-interruptible.html> > (i915#3637 > <https://gitlab.freedesktop.org/drm/intel/issues/3637>) +1 > similar issue > * > > igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling: > > o shard-tglu-9: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-9/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling.html> > (i915#3555 > <https://gitlab.freedesktop.org/drm/intel/issues/3555>) +2 > similar issues > * > > igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling@pipe-a-valid-mode: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling@pipe-a-valid-mode.html> > (i915#2587 > <https://gitlab.freedesktop.org/drm/intel/issues/2587> / > i915#2672 > <https://gitlab.freedesktop.org/drm/intel/issues/2672>) +3 > similar issues > * > > igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-cpu: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-cpu.html> > (fdo#109280 > <https://bugs.freedesktop.org/show_bug.cgi?id=109280>) +32 > similar issues > * > > igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-pwrite: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-pwrite.html> > (fdo#110189 > <https://bugs.freedesktop.org/show_bug.cgi?id=110189>) +32 > similar issues > * > > igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-cpu: > > o shard-tglu-9: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-9/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-cpu.html> > (i915#1849 > <https://gitlab.freedesktop.org/drm/intel/issues/1849>) +19 > similar issues > * > > igt@kms_hdr@bpc-switch-suspend: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_hdr@bpc-switch-suspend.html> > (i915#3555 > <https://gitlab.freedesktop.org/drm/intel/issues/3555>) +3 > similar issues > * > > igt@kms_plane_alpha_blend@alpha-opaque-fb: > > o shard-tglu-9: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-9/igt@kms_plane_alpha_blend@alpha-opaque-fb.html> > (i915#7128 > <https://gitlab.freedesktop.org/drm/intel/issues/7128> / > i915#7294 <https://gitlab.freedesktop.org/drm/intel/issues/7294>) > * > > igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-75@pipe-a-hdmi-a-1: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-75@pipe-a-hdmi-a-1.html> > (i915#5176 > <https://gitlab.freedesktop.org/drm/intel/issues/5176>) +3 > similar issues > * > > igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-a-hdmi-a-1: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-a-hdmi-a-1.html> > (i915#5235 > <https://gitlab.freedesktop.org/drm/intel/issues/5235>) +3 > similar issues > * > > igt@kms_prime@basic-crc-vgem: > > o shard-tglu-9: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-9/igt@kms_prime@basic-crc-vgem.html> > (i915#6524 <https://gitlab.freedesktop.org/drm/intel/issues/6524>) > * > > igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf.html> > (i915#658 > <https://gitlab.freedesktop.org/drm/intel/issues/658>) +2 > similar issues > * > > igt@kms_psr2_sf@plane-move-sf-dmg-area: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_psr2_sf@plane-move-sf-dmg-area.html> > (fdo#111068 > <https://bugs.freedesktop.org/show_bug.cgi?id=111068> / > i915#658 <https://gitlab.freedesktop.org/drm/intel/issues/658>) > * > > igt@kms_psr2_su@page_flip-p010: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_psr2_su@page_flip-p010.html> > (fdo#109642 > <https://bugs.freedesktop.org/show_bug.cgi?id=109642> / > fdo#111068 > <https://bugs.freedesktop.org/show_bug.cgi?id=111068> / > i915#658 <https://gitlab.freedesktop.org/drm/intel/issues/658>) > * > > igt@kms_psr@psr2_basic: > > o shard-tglu-9: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-9/igt@kms_psr@psr2_basic.html> > (fdo#110189 > <https://bugs.freedesktop.org/show_bug.cgi?id=110189>) +2 > similar issues > * > > igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html> > (fdo#111615 > <https://bugs.freedesktop.org/show_bug.cgi?id=111615> / > i915#5289 <https://gitlab.freedesktop.org/drm/intel/issues/5289>) > * > > igt@kms_selftest@all-tests: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_selftest@all-tests.html> > (i915#6433 <https://gitlab.freedesktop.org/drm/intel/issues/6433>) > * > > igt@kms_vblank@pipe-a-ts-continuation-idle-hang: > > o shard-tglu-9: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-9/igt@kms_vblank@pipe-a-ts-continuation-idle-hang.html> > (i915#1845 > <https://gitlab.freedesktop.org/drm/intel/issues/1845> / > i915#7651 > <https://gitlab.freedesktop.org/drm/intel/issues/7651>) +19 > similar issues > * > > igt@kms_writeback@writeback-fb-id: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@kms_writeback@writeback-fb-id.html> > (i915#2437 > <https://gitlab.freedesktop.org/drm/intel/issues/2437>) +1 > similar issue > * > > igt@prime_vgem@basic-userptr: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@prime_vgem@basic-userptr.html> > (fdo#109295 > <https://bugs.freedesktop.org/show_bug.cgi?id=109295> / > i915#3301 <https://gitlab.freedesktop.org/drm/intel/issues/3301>) > * > > igt@v3d/v3d_perfmon@create-perfmon-exceed: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@v3d/v3d_perfmon@create-perfmon-exceed.html> > (fdo#109315 > <https://bugs.freedesktop.org/show_bug.cgi?id=109315> / > i915#2575 > <https://gitlab.freedesktop.org/drm/intel/issues/2575>) +2 > similar issues > * > > igt@v3d/v3d_perfmon@get-values-invalid-pointer: > > o shard-tglu-9: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-9/igt@v3d/v3d_perfmon@get-values-invalid-pointer.html> > (fdo#109315 > <https://bugs.freedesktop.org/show_bug.cgi?id=109315> / > i915#2575 <https://gitlab.freedesktop.org/drm/intel/issues/2575>) > * > > igt@vc4/vc4_perfmon@create-two-perfmon: > > o shard-tglu-10: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-10/igt@vc4/vc4_perfmon@create-two-perfmon.html> > (i915#2575 > <https://gitlab.freedesktop.org/drm/intel/issues/2575>) +6 > similar issues > * > > igt@vc4/vc4_purgeable_bo@mark-unpurgeable-twice: > > o shard-tglu-9: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-tglu-9/igt@vc4/vc4_purgeable_bo@mark-unpurgeable-twice.html> > (i915#2575 > <https://gitlab.freedesktop.org/drm/intel/issues/2575>) +1 > similar issue > > > Possible fixes > > * > > igt@drm_fdinfo@virtual-idle: > > o {shard-rkl}: FAIL > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12759/shard-rkl-6/igt@drm_fdinfo@virtual-idle.html> > (i915#7742 > <https://gitlab.freedesktop.org/drm/intel/issues/7742>) -> > PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-rkl-3/igt@drm_fdinfo@virtual-idle.html> > * > > igt@fbdev@unaligned-write: > > o {shard-rkl}: SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12759/shard-rkl-3/igt@fbdev@unaligned-write.html> > (i915#2582 > <https://gitlab.freedesktop.org/drm/intel/issues/2582>) -> > PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-rkl-6/igt@fbdev@unaligned-write.html> > * > > igt@gem_ctx_persistence@engines-hang@bcs0: > > o {shard-rkl}: SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12759/shard-rkl-5/igt@gem_ctx_persistence@engines-hang@bcs0.html> > (i915#6252 > <https://gitlab.freedesktop.org/drm/intel/issues/6252>) -> > PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-rkl-4/igt@gem_ctx_persistence@engines-hang@bcs0.html> > * > > igt@gem_eio@in-flight-suspend: > > o {shard-rkl}: FAIL > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12759/shard-rkl-4/igt@gem_eio@in-flight-suspend.html> > (fdo#103375 > <https://bugs.freedesktop.org/show_bug.cgi?id=103375>) -> PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-rkl-2/igt@gem_eio@in-flight-suspend.html> > +2 similar issues > * > > igt@gem_exec_fair@basic-none-vip@rcs0: > > o {shard-rkl}: FAIL > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12759/shard-rkl-5/igt@gem_exec_fair@basic-none-vip@rcs0.html> > (i915#2842 > <https://gitlab.freedesktop.org/drm/intel/issues/2842>) -> > PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-rkl-5/igt@gem_exec_fair@basic-none-vip@rcs0.html> > * > > igt@gem_exec_fair@basic-none@rcs0: > > o shard-glk: FAIL > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12759/shard-glk6/igt@gem_exec_fair@basic-none@rcs0.html> > (i915#2842 > <https://gitlab.freedesktop.org/drm/intel/issues/2842>) -> > PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-glk5/igt@gem_exec_fair@basic-none@rcs0.html> > * > > igt@gem_exec_params@rel-constants-invalid-rel-gen5: > > o {shard-dg1}: DMESG-WARN > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12759/shard-dg1-14/igt@gem_exec_params@rel-constants-invalid-rel-gen5.html> > -> PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-dg1-14/igt@gem_exec_params@rel-constants-invalid-rel-gen5.html> > +1 similar issue > * > > igt@i915_pm_rpm@modeset-lpsp-stress: > > o {shard-dg1}: SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12759/shard-dg1-15/igt@i915_pm_rpm@modeset-lpsp-stress.html> > (i915#1397 > <https://gitlab.freedesktop.org/drm/intel/issues/1397>) -> > PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-dg1-14/igt@i915_pm_rpm@modeset-lpsp-stress.html> > * > > igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size: > > o shard-glk: FAIL > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12759/shard-glk7/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html> > (i915#2346 > <https://gitlab.freedesktop.org/drm/intel/issues/2346>) -> > PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-glk6/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html> > * > > igt@kms_flip@2x-plain-flip-fb-recreate-interruptible@ab-hdmi-a1-hdmi-a2: > > o shard-glk: FAIL > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12759/shard-glk2/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible@ab-hdmi-a1-hdmi-a2.html> > (i915#2122 > <https://gitlab.freedesktop.org/drm/intel/issues/2122>) -> > PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-glk2/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible@ab-hdmi-a1-hdmi-a2.html> > * > > igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-gtt: > > o {shard-rkl}: SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12759/shard-rkl-3/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-gtt.html> > (i915#1849 > <https://gitlab.freedesktop.org/drm/intel/issues/1849> / > i915#4098 > <https://gitlab.freedesktop.org/drm/intel/issues/4098>) -> > PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-gtt.html> > +8 similar issues > * > > igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes: > > o {shard-rkl}: SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12759/shard-rkl-4/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes.html> > (i915#1849 > <https://gitlab.freedesktop.org/drm/intel/issues/1849>) -> > PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-rkl-6/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes.html> > +1 similar issue > * > > igt@kms_psr@cursor_mmap_cpu: > > o {shard-rkl}: SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12759/shard-rkl-4/igt@kms_psr@cursor_mmap_cpu.html> > (i915#1072 > <https://gitlab.freedesktop.org/drm/intel/issues/1072>) -> > PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-rkl-6/igt@kms_psr@cursor_mmap_cpu.html> > +1 similar issue > * > > igt@kms_universal_plane@universal-plane-pageflip-windowed-pipe-b: > > o {shard-rkl}: SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12759/shard-rkl-4/igt@kms_universal_plane@universal-plane-pageflip-windowed-pipe-b.html> > (i915#4098 > <https://gitlab.freedesktop.org/drm/intel/issues/4098>) -> > PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-rkl-6/igt@kms_universal_plane@universal-plane-pageflip-windowed-pipe-b.html> > +3 similar issues > * > > igt@kms_vblank@pipe-b-ts-continuation-idle: > > o {shard-rkl}: SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12759/shard-rkl-4/igt@kms_vblank@pipe-b-ts-continuation-idle.html> > (i915#1845 > <https://gitlab.freedesktop.org/drm/intel/issues/1845> / > i915#4098 > <https://gitlab.freedesktop.org/drm/intel/issues/4098>) -> > PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_114154v2/shard-rkl-6/igt@kms_vblank@pipe-b-ts-continuation-idle.html> > +15 similar issues > > {name}: This element is suppressed. This means it is ignored when > computing > the status of the difference (SUCCESS, WARNING, or FAILURE). > > > Build changes > > * Linux: CI_DRM_12759 -> Patchwork_114154v2 > > CI-20190529: 20190529 > CI_DRM_12759: 00e12ed04ecb81a67099d4c4833c86186ca7d31e @ > git://anongit.freedesktop.org/gfx-ci/linux > IGT_7165: 509e7e63c6377d0fe77d1bd209857fb191f4a84c @ > https://gitlab.freedesktop.org/drm/igt-gpu-tools.git > Patchwork_114154v2: 00e12ed04ecb81a67099d4c4833c86186ca7d31e @ > git://anongit.freedesktop.org/gfx-ci/linux >
diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c index 01e75160a84a..5361ce70d3f2 100644 --- a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c @@ -1940,361 +1940,6 @@ int i915_gem_gtt_mock_selftests(void) return err; } -static int context_sync(struct intel_context *ce) -{ - struct i915_request *rq; - long timeout; - - rq = intel_context_create_request(ce); - if (IS_ERR(rq)) - return PTR_ERR(rq); - - i915_request_get(rq); - i915_request_add(rq); - - timeout = i915_request_wait(rq, 0, HZ / 5); - i915_request_put(rq); - - return timeout < 0 ? -EIO : 0; -} - -static struct i915_request * -submit_batch(struct intel_context *ce, u64 addr) -{ - struct i915_request *rq; - int err; - - rq = intel_context_create_request(ce); - if (IS_ERR(rq)) - return rq; - - err = 0; - if (rq->engine->emit_init_breadcrumb) /* detect a hang */ - err = rq->engine->emit_init_breadcrumb(rq); - if (err == 0) - err = rq->engine->emit_bb_start(rq, addr, 0, 0); - - if (err == 0) - i915_request_get(rq); - i915_request_add(rq); - - return err ? ERR_PTR(err) : rq; -} - -static u32 *spinner(u32 *batch, int i) -{ - return batch + i * 64 / sizeof(*batch) + 4; -} - -static void end_spin(u32 *batch, int i) -{ - *spinner(batch, i) = MI_BATCH_BUFFER_END; - wmb(); -} - -static int igt_cs_tlb(void *arg) -{ - const unsigned int count = PAGE_SIZE / 64; - const unsigned int chunk_size = count * PAGE_SIZE; - struct drm_i915_private *i915 = arg; - struct drm_i915_gem_object *bbe, *act, *out; - struct i915_gem_engines_iter it; - struct i915_address_space *vm; - struct i915_gem_context *ctx; - struct intel_context *ce; - struct i915_vma *vma; - I915_RND_STATE(prng); - struct file *file; - unsigned int i; - u32 *result; - u32 *batch; - int err = 0; - - /* - * Our mission here is to fool the hardware to execute something - * from scratch as it has not seen the batch move (due to missing - * the TLB invalidate). - */ - - file = mock_file(i915); - if (IS_ERR(file)) - return PTR_ERR(file); - - ctx = live_context(i915, file); - if (IS_ERR(ctx)) { - err = PTR_ERR(ctx); - goto out_unlock; - } - - vm = i915_gem_context_get_eb_vm(ctx); - if (i915_is_ggtt(vm)) - goto out_vm; - - /* Create two pages; dummy we prefill the TLB, and intended */ - bbe = i915_gem_object_create_internal(i915, PAGE_SIZE); - if (IS_ERR(bbe)) { - err = PTR_ERR(bbe); - goto out_vm; - } - - batch = i915_gem_object_pin_map_unlocked(bbe, I915_MAP_WC); - if (IS_ERR(batch)) { - err = PTR_ERR(batch); - goto out_put_bbe; - } - memset32(batch, MI_BATCH_BUFFER_END, PAGE_SIZE / sizeof(u32)); - i915_gem_object_flush_map(bbe); - i915_gem_object_unpin_map(bbe); - - act = i915_gem_object_create_internal(i915, PAGE_SIZE); - if (IS_ERR(act)) { - err = PTR_ERR(act); - goto out_put_bbe; - } - - /* Track the execution of each request by writing into different slot */ - batch = i915_gem_object_pin_map_unlocked(act, I915_MAP_WC); - if (IS_ERR(batch)) { - err = PTR_ERR(batch); - goto out_put_act; - } - for (i = 0; i < count; i++) { - u32 *cs = batch + i * 64 / sizeof(*cs); - u64 addr = (vm->total - PAGE_SIZE) + i * sizeof(u32); - - GEM_BUG_ON(GRAPHICS_VER(i915) < 6); - cs[0] = MI_STORE_DWORD_IMM_GEN4; - if (GRAPHICS_VER(i915) >= 8) { - cs[1] = lower_32_bits(addr); - cs[2] = upper_32_bits(addr); - cs[3] = i; - cs[4] = MI_NOOP; - cs[5] = MI_BATCH_BUFFER_START_GEN8; - } else { - cs[1] = 0; - cs[2] = lower_32_bits(addr); - cs[3] = i; - cs[4] = MI_NOOP; - cs[5] = MI_BATCH_BUFFER_START; - } - } - - out = i915_gem_object_create_internal(i915, PAGE_SIZE); - if (IS_ERR(out)) { - err = PTR_ERR(out); - goto out_put_batch; - } - i915_gem_object_set_cache_coherency(out, I915_CACHING_CACHED); - - vma = i915_vma_instance(out, vm, NULL); - if (IS_ERR(vma)) { - err = PTR_ERR(vma); - goto out_put_out; - } - - err = i915_vma_pin(vma, 0, 0, - PIN_USER | - PIN_OFFSET_FIXED | - (vm->total - PAGE_SIZE)); - if (err) - goto out_put_out; - GEM_BUG_ON(vma->node.start != vm->total - PAGE_SIZE); - - result = i915_gem_object_pin_map_unlocked(out, I915_MAP_WB); - if (IS_ERR(result)) { - err = PTR_ERR(result); - goto out_put_out; - } - - for_each_gem_engine(ce, i915_gem_context_lock_engines(ctx), it) { - IGT_TIMEOUT(end_time); - unsigned long pass = 0; - - if (!intel_engine_can_store_dword(ce->engine)) - continue; - - while (!__igt_timeout(end_time, NULL)) { - struct i915_vm_pt_stash stash = {}; - struct i915_request *rq; - struct i915_gem_ww_ctx ww; - struct i915_vma_resource *vma_res; - u64 offset; - - offset = igt_random_offset(&prng, - 0, vm->total - PAGE_SIZE, - chunk_size, PAGE_SIZE); - - memset32(result, STACK_MAGIC, PAGE_SIZE / sizeof(u32)); - - vma = i915_vma_instance(bbe, vm, NULL); - if (IS_ERR(vma)) { - err = PTR_ERR(vma); - goto end; - } - - i915_gem_object_lock(bbe, NULL); - err = i915_vma_get_pages(vma); - i915_gem_object_unlock(bbe); - if (err) - goto end; - - vma_res = i915_vma_resource_alloc(); - if (IS_ERR(vma_res)) { - i915_vma_put_pages(vma); - err = PTR_ERR(vma_res); - goto end; - } - - i915_gem_ww_ctx_init(&ww, false); -retry: - err = i915_vm_lock_objects(vm, &ww); - if (err) - goto end_ww; - - err = i915_vm_alloc_pt_stash(vm, &stash, chunk_size); - if (err) - goto end_ww; - - err = i915_vm_map_pt_stash(vm, &stash); - if (!err) - vm->allocate_va_range(vm, &stash, offset, chunk_size); - i915_vm_free_pt_stash(vm, &stash); -end_ww: - if (err == -EDEADLK) { - err = i915_gem_ww_ctx_backoff(&ww); - if (!err) - goto retry; - } - i915_gem_ww_ctx_fini(&ww); - if (err) { - kfree(vma_res); - goto end; - } - - i915_vma_resource_init_from_vma(vma_res, vma); - /* Prime the TLB with the dummy pages */ - for (i = 0; i < count; i++) { - vma_res->start = offset + i * PAGE_SIZE; - vm->insert_entries(vm, vma_res, I915_CACHE_NONE, - 0); - - rq = submit_batch(ce, vma_res->start); - if (IS_ERR(rq)) { - err = PTR_ERR(rq); - i915_vma_resource_fini(vma_res); - kfree(vma_res); - goto end; - } - i915_request_put(rq); - } - i915_vma_resource_fini(vma_res); - i915_vma_put_pages(vma); - - err = context_sync(ce); - if (err) { - pr_err("%s: dummy setup timed out\n", - ce->engine->name); - kfree(vma_res); - goto end; - } - - vma = i915_vma_instance(act, vm, NULL); - if (IS_ERR(vma)) { - kfree(vma_res); - err = PTR_ERR(vma); - goto end; - } - - i915_gem_object_lock(act, NULL); - err = i915_vma_get_pages(vma); - i915_gem_object_unlock(act); - if (err) { - kfree(vma_res); - goto end; - } - - i915_vma_resource_init_from_vma(vma_res, vma); - /* Replace the TLB with target batches */ - for (i = 0; i < count; i++) { - struct i915_request *rq; - u32 *cs = batch + i * 64 / sizeof(*cs); - u64 addr; - - vma_res->start = offset + i * PAGE_SIZE; - vm->insert_entries(vm, vma_res, I915_CACHE_NONE, 0); - - addr = vma_res->start + i * 64; - cs[4] = MI_NOOP; - cs[6] = lower_32_bits(addr); - cs[7] = upper_32_bits(addr); - wmb(); - - rq = submit_batch(ce, addr); - if (IS_ERR(rq)) { - err = PTR_ERR(rq); - i915_vma_resource_fini(vma_res); - kfree(vma_res); - goto end; - } - - /* Wait until the context chain has started */ - if (i == 0) { - while (READ_ONCE(result[i]) && - !i915_request_completed(rq)) - cond_resched(); - } else { - end_spin(batch, i - 1); - } - - i915_request_put(rq); - } - end_spin(batch, count - 1); - - i915_vma_resource_fini(vma_res); - kfree(vma_res); - i915_vma_put_pages(vma); - - err = context_sync(ce); - if (err) { - pr_err("%s: writes timed out\n", - ce->engine->name); - goto end; - } - - for (i = 0; i < count; i++) { - if (result[i] != i) { - pr_err("%s: Write lost on pass %lu, at offset %llx, index %d, found %x, expected %x\n", - ce->engine->name, pass, - offset, i, result[i], i); - err = -EINVAL; - goto end; - } - } - - vm->clear_range(vm, offset, chunk_size); - pass++; - } - } -end: - if (igt_flush_test(i915)) - err = -EIO; - i915_gem_context_unlock_engines(ctx); - i915_gem_object_unpin_map(out); -out_put_out: - i915_gem_object_put(out); -out_put_batch: - i915_gem_object_unpin_map(act); -out_put_act: - i915_gem_object_put(act); -out_put_bbe: - i915_gem_object_put(bbe); -out_vm: - i915_vm_put(vm); -out_unlock: - fput(file); - return err; -} - int i915_gem_gtt_live_selftests(struct drm_i915_private *i915) { static const struct i915_subtest tests[] = { @@ -2314,7 +1959,6 @@ int i915_gem_gtt_live_selftests(struct drm_i915_private *i915) SUBTEST(igt_ggtt_fill), SUBTEST(igt_ggtt_page), SUBTEST(igt_ggtt_misaligned_pin), - SUBTEST(igt_cs_tlb), }; GEM_BUG_ON(offset_in_page(to_gt(i915)->ggtt->vm.total));
The gt_tlb live selftest has the same code coverage as the igt_cs_tlb subtest of gtt, except it is better at detecting TLB bugs. Furthermore, while igt_cs_tlb is hitting some unforeseen issues, these issues are either false positives due to the test being poorly formatted, or are true positives that can be more easily diagnosed with smaller tests. As such, igt_cs_tlb is superceded by and obsoleted by gt_tlb, meaning it can be removed. Signed-off-by: Jonathan Cavitt <jonathan.cavitt@intel.com> --- drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 356 ------------------ 1 file changed, 356 deletions(-)