• Home
  • Raw
  • Download

Lines Matching refs:ce

73 static int emit_semaphore_signal(struct intel_context *ce, void *slot)  in emit_semaphore_signal()  argument
76 i915_ggtt_offset(ce->engine->status_page.vma) + in emit_semaphore_signal()
81 rq = intel_context_create_request(ce); in emit_semaphore_signal()
103 static int context_flush(struct intel_context *ce, long timeout) in context_flush() argument
109 rq = intel_engine_create_kernel_request(ce->engine); in context_flush()
113 fence = i915_active_fence_get(&ce->timeline->last_request); in context_flush()
361 struct intel_context *ce; in __live_lrc_state() local
374 ce = intel_context_create(engine); in __live_lrc_state()
375 if (IS_ERR(ce)) in __live_lrc_state()
376 return PTR_ERR(ce); in __live_lrc_state()
382 err = intel_context_pin_ww(ce, &ww); in __live_lrc_state()
386 rq = i915_request_create(ce); in __live_lrc_state()
404 expected[RING_START_IDX] = i915_ggtt_offset(ce->ring->vma); in __live_lrc_state()
421 expected[RING_TAIL_IDX] = ce->ring->tail; in __live_lrc_state()
448 intel_context_unpin(ce); in __live_lrc_state()
456 intel_context_put(ce); in __live_lrc_state()
490 static int gpr_make_dirty(struct intel_context *ce) in gpr_make_dirty() argument
496 rq = intel_context_create_request(ce); in gpr_make_dirty()
508 *cs++ = CS_GPR(ce->engine, n); in gpr_make_dirty()
522 __gpr_read(struct intel_context *ce, struct i915_vma *scratch, u32 *slot) in __gpr_read() argument
525 i915_ggtt_offset(ce->engine->status_page.vma) + in __gpr_read()
532 rq = intel_context_create_request(ce); in __gpr_read()
555 *cs++ = CS_GPR(ce->engine, n); in __gpr_read()
581 struct intel_context *ce; in __live_lrc_gpr() local
594 ce = intel_context_create(engine); in __live_lrc_gpr()
595 if (IS_ERR(ce)) in __live_lrc_gpr()
596 return PTR_ERR(ce); in __live_lrc_gpr()
598 rq = __gpr_read(ce, scratch, slot); in __live_lrc_gpr()
654 intel_context_put(ce); in __live_lrc_gpr()
699 create_timestamp(struct intel_context *ce, void *slot, int idx) in create_timestamp() argument
702 i915_ggtt_offset(ce->engine->status_page.vma) + in create_timestamp()
708 rq = intel_context_create_request(ce); in create_timestamp()
750 struct intel_context *ce[2]; member
766 arg->ce[0]->lrc_reg_state[CTX_TIMESTAMP] = arg->poison; in __lrc_timestamp()
767 rq = create_timestamp(arg->ce[0], slot, 1); in __lrc_timestamp()
776 arg->ce[1]->lrc_reg_state[CTX_TIMESTAMP] = 0xdeadbeef; in __lrc_timestamp()
777 err = emit_semaphore_signal(arg->ce[1], slot); in __lrc_timestamp()
786 err = context_flush(arg->ce[0], HZ / 2); in __lrc_timestamp()
797 timestamp = READ_ONCE(arg->ce[0]->lrc_reg_state[CTX_TIMESTAMP]); in __lrc_timestamp()
837 for (i = 0; i < ARRAY_SIZE(data.ce); i++) { in live_lrc_timestamp()
852 data.ce[i] = tmp; in live_lrc_timestamp()
869 for (i = 0; i < ARRAY_SIZE(data.ce); i++) { in live_lrc_timestamp()
870 if (!data.ce[i]) in live_lrc_timestamp()
873 intel_context_unpin(data.ce[i]); in live_lrc_timestamp()
874 intel_context_put(data.ce[i]); in live_lrc_timestamp()
913 store_context(struct intel_context *ce, struct i915_vma *scratch) in store_context() argument
919 batch = create_user_vma(ce->vm, SZ_64K); in store_context()
929 defaults = shmem_pin_map(ce->engine->default_state); in store_context()
969 shmem_unpin_map(ce->engine->default_state, defaults); in store_context()
993 record_registers(struct intel_context *ce, in record_registers() argument
1003 b_before = store_context(ce, before); in record_registers()
1007 b_after = store_context(ce, after); in record_registers()
1013 rq = intel_context_create_request(ce); in record_registers()
1050 *cs++ = i915_ggtt_offset(ce->engine->status_page.vma) + in record_registers()
1077 static struct i915_vma *load_context(struct intel_context *ce, u32 poison) in load_context() argument
1083 batch = create_user_vma(ce->vm, SZ_64K); in load_context()
1093 defaults = shmem_pin_map(ce->engine->default_state); in load_context()
1129 shmem_unpin_map(ce->engine->default_state, defaults); in load_context()
1137 static int poison_registers(struct intel_context *ce, u32 poison, u32 *sema) in poison_registers() argument
1144 batch = load_context(ce, poison); in poison_registers()
1148 rq = intel_context_create_request(ce); in poison_registers()
1170 *cs++ = i915_ggtt_offset(ce->engine->status_page.vma) + in poison_registers()
1193 struct intel_context *ce, in compare_isolation() argument
1223 lrc = i915_gem_object_pin_map_unlocked(ce->state->obj, in compare_isolation()
1225 ce->state->obj, in compare_isolation()
1233 defaults = shmem_pin_map(ce->engine->default_state); in compare_isolation()
1281 shmem_unpin_map(ce->engine->default_state, defaults); in compare_isolation()
1283 i915_gem_object_unpin_map(ce->state->obj); in compare_isolation()
1453 static int indirect_ctx_submit_req(struct intel_context *ce) in indirect_ctx_submit_req() argument
1458 rq = intel_context_create_request(ce); in indirect_ctx_submit_req()
1477 emit_indirect_ctx_bb_canary(const struct intel_context *ce, u32 *cs) in emit_indirect_ctx_bb_canary() argument
1483 *cs++ = i915_ggtt_offset(ce->state) + in emit_indirect_ctx_bb_canary()
1484 context_wa_bb_offset(ce) + in emit_indirect_ctx_bb_canary()
1492 indirect_ctx_bb_setup(struct intel_context *ce) in indirect_ctx_bb_setup() argument
1494 u32 *cs = context_indirect_bb(ce); in indirect_ctx_bb_setup()
1498 setup_indirect_ctx_bb(ce, ce->engine, emit_indirect_ctx_bb_canary); in indirect_ctx_bb_setup()
1501 static bool check_ring_start(struct intel_context *ce) in check_ring_start() argument
1503 const u32 * const ctx_bb = (void *)(ce->lrc_reg_state) - in check_ring_start()
1504 LRC_STATE_OFFSET + context_wa_bb_offset(ce); in check_ring_start()
1506 if (ctx_bb[CTX_BB_CANARY_INDEX] == ce->lrc_reg_state[CTX_RING_START]) in check_ring_start()
1511 ce->lrc_reg_state[CTX_RING_START]); in check_ring_start()
1516 static int indirect_ctx_bb_check(struct intel_context *ce) in indirect_ctx_bb_check() argument
1520 err = indirect_ctx_submit_req(ce); in indirect_ctx_bb_check()
1524 if (!check_ring_start(ce)) in indirect_ctx_bb_check()
1627 static struct i915_request *garbage(struct intel_context *ce, in garbage() argument
1633 err = intel_context_pin(ce); in garbage()
1638 ce->lrc_reg_state, in garbage()
1639 ce->engine->context_size - in garbage()
1642 rq = intel_context_create_request(ce); in garbage()
1653 intel_context_unpin(ce); in garbage()
1659 struct intel_context *ce; in __lrc_garbage() local
1663 ce = intel_context_create(engine); in __lrc_garbage()
1664 if (IS_ERR(ce)) in __lrc_garbage()
1665 return PTR_ERR(ce); in __lrc_garbage()
1667 hang = garbage(ce, prng); in __lrc_garbage()
1679 intel_context_set_banned(ce); in __lrc_garbage()
1701 intel_context_put(ce); in __lrc_garbage()
1745 struct intel_context *ce; in __live_pphwsp_runtime() local
1750 ce = intel_context_create(engine); in __live_pphwsp_runtime()
1751 if (IS_ERR(ce)) in __live_pphwsp_runtime()
1752 return PTR_ERR(ce); in __live_pphwsp_runtime()
1754 ce->runtime.num_underflow = 0; in __live_pphwsp_runtime()
1755 ce->runtime.max_underflow = 0; in __live_pphwsp_runtime()
1761 rq = intel_context_create_request(ce); in __live_pphwsp_runtime()
1789 intel_context_get_total_runtime_ns(ce), in __live_pphwsp_runtime()
1790 intel_context_get_avg_runtime_ns(ce)); in __live_pphwsp_runtime()
1793 if (ce->runtime.num_underflow) { in __live_pphwsp_runtime()
1796 ce->runtime.num_underflow, in __live_pphwsp_runtime()
1797 ce->runtime.max_underflow); in __live_pphwsp_runtime()
1805 intel_context_put(ce); in __live_pphwsp_runtime()