| /openbsd/src/sys/dev/pci/drm/i915/ |
| D | i915_request.c | 121 struct i915_request *rq = to_request(fence); in i915_fence_release() local 123 GEM_BUG_ON(rq->guc_prio != GUC_PRIO_INIT && in i915_fence_release() 124 rq->guc_prio != GUC_PRIO_FINI); in i915_fence_release() 126 i915_request_free_capture_list(fetch_and_zero(&rq->capture_list)); in i915_fence_release() 127 if (rq->batch_res) { in i915_fence_release() 128 i915_vma_resource_put(rq->batch_res); in i915_fence_release() 129 rq->batch_res = NULL; in i915_fence_release() 139 i915_sw_fence_fini(&rq->submit); in i915_fence_release() 140 i915_sw_fence_fini(&rq->semaphore); in i915_fence_release() 173 if (is_power_of_2(rq->execution_mask) && in i915_fence_release() [all …]
|
| D | i915_request.h | 64 #define RQ_TRACE(rq, fmt, ...) do { \ argument 65 const struct i915_request *rq__ = (rq); \ 382 void __i915_request_skip(struct i915_request *rq); 383 bool i915_request_set_error_once(struct i915_request *rq, int error); 384 struct i915_request *i915_request_mark_eio(struct i915_request *rq); 387 void __i915_request_queue(struct i915_request *rq, 389 void __i915_request_queue_bh(struct i915_request *rq); 391 bool i915_request_retire(struct i915_request *rq); 392 void i915_request_retire_upto(struct i915_request *rq); 404 i915_request_get(struct i915_request *rq) in i915_request_get() argument [all …]
|
| /openbsd/src/sys/dev/pci/drm/i915/gt/ |
| D | gen8_engine_cs.c | 13 int gen8_emit_flush_rcs(struct i915_request *rq, u32 mode) in gen8_emit_flush_rcs() argument 42 if (GRAPHICS_VER(rq->i915) == 9) in gen8_emit_flush_rcs() 46 if (IS_KABYLAKE(rq->i915) && IS_GRAPHICS_STEP(rq->i915, 0, STEP_C0)) in gen8_emit_flush_rcs() 58 cs = intel_ring_begin(rq, len); in gen8_emit_flush_rcs() 74 intel_ring_advance(rq, cs); in gen8_emit_flush_rcs() 79 int gen8_emit_flush_xcs(struct i915_request *rq, u32 mode) in gen8_emit_flush_xcs() argument 83 cs = intel_ring_begin(rq, 4); in gen8_emit_flush_xcs() 99 if (rq->engine->class == VIDEO_DECODE_CLASS) in gen8_emit_flush_xcs() 107 intel_ring_advance(rq, cs); in gen8_emit_flush_xcs() 112 int gen11_emit_flush_rcs(struct i915_request *rq, u32 mode) in gen11_emit_flush_rcs() argument [all …]
|
| D | gen6_engine_cs.c | 55 gen6_emit_post_sync_nonzero_flush(struct i915_request *rq) in gen6_emit_post_sync_nonzero_flush() argument 58 intel_gt_scratch_offset(rq->engine->gt, in gen6_emit_post_sync_nonzero_flush() 62 cs = intel_ring_begin(rq, 6); in gen6_emit_post_sync_nonzero_flush() 72 intel_ring_advance(rq, cs); in gen6_emit_post_sync_nonzero_flush() 74 cs = intel_ring_begin(rq, 6); in gen6_emit_post_sync_nonzero_flush() 84 intel_ring_advance(rq, cs); in gen6_emit_post_sync_nonzero_flush() 89 int gen6_emit_flush_rcs(struct i915_request *rq, u32 mode) in gen6_emit_flush_rcs() argument 92 intel_gt_scratch_offset(rq->engine->gt, in gen6_emit_flush_rcs() 98 ret = gen6_emit_post_sync_nonzero_flush(rq); in gen6_emit_flush_rcs() 130 cs = intel_ring_begin(rq, 4); in gen6_emit_flush_rcs() [all …]
|
| D | selftest_execlists.c | 28 static bool is_active(struct i915_request *rq) in is_active() argument 30 if (i915_request_is_active(rq)) in is_active() 33 if (i915_request_on_hold(rq)) in is_active() 36 if (i915_request_has_initial_breadcrumb(rq) && i915_request_started(rq)) in is_active() 43 struct i915_request *rq, in wait_for_submit() argument 53 if (i915_request_completed(rq)) /* that was quick! */ in wait_for_submit() 58 if (!READ_ONCE(engine->execlists.pending[0]) && is_active(rq)) in wait_for_submit() 69 struct i915_request *rq, in wait_for_reset() argument 81 if (i915_request_completed(rq)) in wait_for_reset() 84 if (READ_ONCE(rq->fence.error)) in wait_for_reset() [all …]
|
| D | intel_breadcrumbs.c | 113 check_signal_order(struct intel_context *ce, struct i915_request *rq) in check_signal_order() argument 115 if (rq->context != ce) in check_signal_order() 118 if (!list_is_last(&rq->signal_link, &ce->signals) && in check_signal_order() 119 i915_seqno_passed(rq->fence.seqno, in check_signal_order() 120 list_next_entry(rq, signal_link)->fence.seqno)) in check_signal_order() 123 if (!list_is_first(&rq->signal_link, &ce->signals) && in check_signal_order() 124 i915_seqno_passed(list_prev_entry(rq, signal_link)->fence.seqno, in check_signal_order() 125 rq->fence.seqno)) in check_signal_order() 214 struct i915_request *rq; in signal_irq_work() local 216 list_for_each_entry_rcu(rq, &ce->signals, signal_link) { in signal_irq_work() [all …]
|
| D | selftest_timeline.c | 454 static int emit_ggtt_store_dw(struct i915_request *rq, u32 addr, u32 value) in emit_ggtt_store_dw() argument 458 cs = intel_ring_begin(rq, 4); in emit_ggtt_store_dw() 462 if (GRAPHICS_VER(rq->i915) >= 8) { in emit_ggtt_store_dw() 467 } else if (GRAPHICS_VER(rq->i915) >= 4) { in emit_ggtt_store_dw() 479 intel_ring_advance(rq, cs); in emit_ggtt_store_dw() 487 struct i915_request *rq; in checked_tl_write() local 492 rq = ERR_PTR(err); in checked_tl_write() 503 rq = intel_engine_create_kernel_request(engine); in checked_tl_write() 504 if (IS_ERR(rq)) in checked_tl_write() 507 i915_request_get(rq); in checked_tl_write() [all …]
|
| D | gen2_engine_cs.c | 16 int gen2_emit_flush(struct i915_request *rq, u32 mode) in gen2_emit_flush() argument 25 cs = intel_ring_begin(rq, 2 + 4 * num_store_dw); in gen2_emit_flush() 38 intel_ring_advance(rq, cs); in gen2_emit_flush() 43 int gen4_emit_flush_rcs(struct i915_request *rq, u32 mode) in gen4_emit_flush_rcs() argument 79 if (IS_G4X(rq->i915) || GRAPHICS_VER(rq->i915) == 5) in gen4_emit_flush_rcs() 87 cs = intel_ring_begin(rq, i); in gen4_emit_flush_rcs() 105 *cs++ = intel_gt_scratch_offset(rq->engine->gt, in gen4_emit_flush_rcs() 115 *cs++ = intel_gt_scratch_offset(rq->engine->gt, in gen4_emit_flush_rcs() 124 intel_ring_advance(rq, cs); in gen4_emit_flush_rcs() 129 int gen4_emit_flush_vcs(struct i915_request *rq, u32 mode) in gen4_emit_flush_vcs() argument [all …]
|
| D | intel_execlists_submission.c | 213 struct i915_request *rq, in __active_request() argument 216 struct i915_request *active = rq; in __active_request() 218 list_for_each_entry_from_reverse(rq, &tl->requests, link) { in __active_request() 219 if (__i915_request_is_complete(rq)) in __active_request() 223 i915_request_set_error_once(rq, error); in __active_request() 224 __i915_request_skip(rq); in __active_request() 226 active = rq; in __active_request() 233 active_request(const struct intel_timeline * const tl, struct i915_request *rq) in active_request() argument 235 return __active_request(tl, rq, 0); in active_request() 256 static int rq_prio(const struct i915_request *rq) in rq_prio() argument [all …]
|
| D | intel_engine_heartbeat.c | 25 struct i915_request *rq; in next_heartbeat() local 30 rq = engine->heartbeat.systole; in next_heartbeat() 41 if (rq && rq->sched.attr.priority >= I915_PRIORITY_BARRIER && in next_heartbeat() 70 struct i915_request *rq; in heartbeat_create() local 73 rq = __i915_request_create(ce, gfp); in heartbeat_create() 76 return rq; in heartbeat_create() 79 static void idle_pulse(struct intel_engine_cs *engine, struct i915_request *rq) in idle_pulse() argument 82 i915_request_add_active_barriers(rq); in idle_pulse() 84 engine->heartbeat.systole = i915_request_get(rq); in idle_pulse() 87 static void heartbeat_commit(struct i915_request *rq, in heartbeat_commit() argument [all …]
|
| D | selftest_hangcheck.c | 97 const struct i915_request *rq) in hws_address() argument 100 offset_in_page(sizeof(u32) * rq->fence.context); in hws_address() 109 struct i915_request *rq = NULL; in hang_create_request() local 157 rq = igt_request_alloc(h->ctx, engine); in hang_create_request() 158 if (IS_ERR(rq)) { in hang_create_request() 159 err = PTR_ERR(rq); in hang_create_request() 163 err = igt_vma_move_to_active_unlocked(vma, rq, 0); in hang_create_request() 167 err = igt_vma_move_to_active_unlocked(hws, rq, 0); in hang_create_request() 174 *batch++ = lower_32_bits(hws_address(hws, rq)); in hang_create_request() 175 *batch++ = upper_32_bits(hws_address(hws, rq)); in hang_create_request() [all …]
|
| D | selftest_lrc.c | 38 static bool is_active(struct i915_request *rq) in is_active() argument 40 if (i915_request_is_active(rq)) in is_active() 43 if (i915_request_on_hold(rq)) in is_active() 46 if (i915_request_has_initial_breadcrumb(rq) && i915_request_started(rq)) in is_active() 53 struct i915_request *rq, in wait_for_submit() argument 63 if (i915_request_completed(rq)) /* that was quick! */ in wait_for_submit() 68 if (!READ_ONCE(engine->execlists.pending[0]) && is_active(rq)) in wait_for_submit() 83 struct i915_request *rq; in emit_semaphore_signal() local 86 rq = intel_context_create_request(ce); in emit_semaphore_signal() 87 if (IS_ERR(rq)) in emit_semaphore_signal() [all …]
|
| D | intel_migrate.c | 334 static int emit_no_arbitration(struct i915_request *rq) in emit_no_arbitration() argument 338 cs = intel_ring_begin(rq, 2); in emit_no_arbitration() 345 intel_ring_advance(rq, cs); in emit_no_arbitration() 350 static int max_pte_pkt_size(struct i915_request *rq, int pkt) in max_pte_pkt_size() argument 352 struct intel_ring *ring = rq->ring; in max_pte_pkt_size() 354 pkt = min_t(int, pkt, (ring->space - rq->reserved_space) / sizeof(u32) + 5); in max_pte_pkt_size() 362 static int emit_pte(struct i915_request *rq, in emit_pte() argument 369 bool has_64K_pages = HAS_64K_PAGES(rq->i915); in emit_pte() 370 const u64 encode = rq->context->vm->pte_encode(0, pat_index, in emit_pte() 372 struct intel_ring *ring = rq->ring; in emit_pte() [all …]
|
| D | selftest_mocs.c | 38 static int request_add_sync(struct i915_request *rq, int err) in request_add_sync() argument 40 i915_request_get(rq); in request_add_sync() 41 i915_request_add(rq); in request_add_sync() 42 if (i915_request_wait(rq, 0, HZ / 5) < 0) in request_add_sync() 44 i915_request_put(rq); in request_add_sync() 49 static int request_add_spin(struct i915_request *rq, struct igt_spinner *spin) in request_add_spin() argument 53 i915_request_get(rq); in request_add_spin() 54 i915_request_add(rq); in request_add_spin() 55 if (spin && !igt_wait_for_spinner(spin, rq)) in request_add_spin() 57 i915_request_put(rq); in request_add_spin() [all …]
|
| D | selftest_migrate.c | 46 struct i915_request *rq; in copy() local 90 err = fn(migrate, &ww, src, dst, &rq); in copy() 96 if (rq) { in copy() 97 i915_request_wait(rq, 0, HZ); in copy() 98 i915_request_put(rq); in copy() 107 if (rq) { in copy() 108 if (i915_request_wait(rq, 0, HZ) < 0) { in copy() 112 i915_request_put(rq); in copy() 147 struct i915_request *rq; in intel_context_copy_ccs() local 163 rq = i915_request_create(ce); in intel_context_copy_ccs() [all …]
|
| D | intel_engine_pm.c | 101 struct i915_request *rq = to_request(fence); in duration() local 103 ewma__engine_latency_add(&rq->engine->latency, in duration() 104 ktime_us_delta(rq->fence.timestamp, in duration() 105 rq->duration.emitted)); in duration() 109 __queue_and_release_pm(struct i915_request *rq, in __queue_and_release_pm() argument 123 GEM_BUG_ON(rq->context->active_count != 1); in __queue_and_release_pm() 125 rq->context->wakeref = intel_wakeref_track(&engine->gt->wakeref); in __queue_and_release_pm() 143 __i915_request_queue_bh(rq); in __queue_and_release_pm() 154 struct i915_request *rq; in switch_to_kernel_context() local 212 rq = __i915_request_create(ce, GFP_NOWAIT); in switch_to_kernel_context() [all …]
|
| D | gen6_engine_cs.h | 16 int gen6_emit_flush_rcs(struct i915_request *rq, u32 mode); 17 int gen6_emit_flush_vcs(struct i915_request *rq, u32 mode); 18 int gen6_emit_flush_xcs(struct i915_request *rq, u32 mode); 19 u32 *gen6_emit_breadcrumb_rcs(struct i915_request *rq, u32 *cs); 20 u32 *gen6_emit_breadcrumb_xcs(struct i915_request *rq, u32 *cs); 22 int gen7_emit_flush_rcs(struct i915_request *rq, u32 mode); 23 u32 *gen7_emit_breadcrumb_rcs(struct i915_request *rq, u32 *cs); 24 u32 *gen7_emit_breadcrumb_xcs(struct i915_request *rq, u32 *cs); 26 int gen6_emit_bb_start(struct i915_request *rq, 29 int hsw_emit_bb_start(struct i915_request *rq,
|
| D | intel_context_sseu.c | 16 static int gen8_emit_rpcs_config(struct i915_request *rq, in gen8_emit_rpcs_config() argument 23 cs = intel_ring_begin(rq, 4); in gen8_emit_rpcs_config() 33 *cs++ = intel_sseu_make_rpcs(rq->engine->gt, &sseu); in gen8_emit_rpcs_config() 35 intel_ring_advance(rq, cs); in gen8_emit_rpcs_config() 43 struct i915_request *rq; in gen8_modify_rpcs() local 57 rq = intel_engine_create_kernel_request(ce->engine); in gen8_modify_rpcs() 58 if (IS_ERR(rq)) { in gen8_modify_rpcs() 59 ret = PTR_ERR(rq); in gen8_modify_rpcs() 64 ret = intel_context_prepare_remote_request(ce, rq); in gen8_modify_rpcs() 66 ret = gen8_emit_rpcs_config(rq, ce, sseu); in gen8_modify_rpcs() [all …]
|
| /openbsd/src/sys/dev/pci/drm/i915/selftests/ |
| D | i915_perf.c | 161 static int write_timestamp(struct i915_request *rq, int slot) in write_timestamp() argument 166 cs = intel_ring_begin(rq, 6); in write_timestamp() 171 if (GRAPHICS_VER(rq->i915) >= 8) in write_timestamp() 183 intel_ring_advance(rq, cs); in write_timestamp() 188 static ktime_t poll_status(struct i915_request *rq, int slot) in poll_status() argument 190 while (!intel_read_status_page(rq->engine, slot) && in poll_status() 191 !i915_request_completed(rq)) in poll_status() 201 struct i915_request *rq; in live_noa_delay() local 224 rq = intel_engine_create_kernel_request(stream->engine); in live_noa_delay() 225 if (IS_ERR(rq)) { in live_noa_delay() [all …]
|
| D | igt_spinner.c | 117 const struct i915_request *rq) in hws_address() argument 119 return i915_vma_offset(hws) + seqno_offset(rq->fence.context); in hws_address() 128 struct i915_request *rq = NULL; in igt_spinner_create_request() local 148 rq = intel_context_create_request(ce); in igt_spinner_create_request() 149 if (IS_ERR(rq)) in igt_spinner_create_request() 150 return ERR_CAST(rq); in igt_spinner_create_request() 152 err = igt_vma_move_to_active_unlocked(vma, rq, 0); in igt_spinner_create_request() 156 err = igt_vma_move_to_active_unlocked(hws, rq, 0); in igt_spinner_create_request() 162 if (GRAPHICS_VER(rq->i915) >= 8) { in igt_spinner_create_request() 164 *batch++ = lower_32_bits(hws_address(hws, rq)); in igt_spinner_create_request() [all …]
|
| D | i915_request.c | 367 struct i915_request *rq; in __igt_breadcrumbs_smoketest() local 372 rq = t->request_alloc(ce); in __igt_breadcrumbs_smoketest() 374 if (IS_ERR(rq)) { in __igt_breadcrumbs_smoketest() 375 err = PTR_ERR(rq); in __igt_breadcrumbs_smoketest() 380 err = i915_sw_fence_await_sw_fence_gfp(&rq->submit, in __igt_breadcrumbs_smoketest() 384 requests[n] = i915_request_get(rq); in __igt_breadcrumbs_smoketest() 385 i915_request_add(rq); in __igt_breadcrumbs_smoketest() 389 &rq->fence, in __igt_breadcrumbs_smoketest() 394 i915_request_put(rq); in __igt_breadcrumbs_smoketest() 406 struct i915_request *rq = requests[count - 1]; in __igt_breadcrumbs_smoketest() local [all …]
|
| /openbsd/src/sys/dev/pci/drm/i915/gt/uc/ |
| D | intel_gsc_uc_heci_cmd_submit.c | 20 static int emit_gsc_heci_pkt(struct i915_request *rq, struct gsc_heci_pkt *pkt) in emit_gsc_heci_pkt() argument 24 cs = intel_ring_begin(rq, 8); in emit_gsc_heci_pkt() 37 intel_ring_advance(rq, cs); in emit_gsc_heci_pkt() 47 struct i915_request *rq; in intel_gsc_uc_heci_cmd_submit_packet() local 59 rq = i915_request_create(ce); in intel_gsc_uc_heci_cmd_submit_packet() 60 if (IS_ERR(rq)) in intel_gsc_uc_heci_cmd_submit_packet() 61 return PTR_ERR(rq); in intel_gsc_uc_heci_cmd_submit_packet() 64 err = ce->engine->emit_init_breadcrumb(rq); in intel_gsc_uc_heci_cmd_submit_packet() 69 err = emit_gsc_heci_pkt(rq, &pkt); in intel_gsc_uc_heci_cmd_submit_packet() 74 err = ce->engine->emit_flush(rq, 0); in intel_gsc_uc_heci_cmd_submit_packet() [all …]
|
| D | selftest_guc.c | 11 static int request_add_spin(struct i915_request *rq, struct igt_spinner *spin) in request_add_spin() argument 15 i915_request_get(rq); in request_add_spin() 16 i915_request_add(rq); in request_add_spin() 17 if (spin && !igt_wait_for_spinner(spin, rq)) in request_add_spin() 26 struct i915_request *rq; in nop_user_request() local 29 rq = intel_context_create_request(ce); in nop_user_request() 30 if (IS_ERR(rq)) in nop_user_request() 31 return rq; in nop_user_request() 34 ret = i915_sw_fence_await_dma_fence(&rq->submit, in nop_user_request() 38 i915_request_put(rq); in nop_user_request() [all …]
|
| D | selftest_guc_hangcheck.c | 17 struct i915_request *rq; in nop_request() local 19 rq = intel_engine_create_kernel_request(engine); in nop_request() 20 if (IS_ERR(rq)) in nop_request() 21 return rq; in nop_request() 23 i915_request_get(rq); in nop_request() 24 i915_request_add(rq); in nop_request() 26 return rq; in nop_request() 36 struct i915_request *rq; in intel_hang_guc() local 77 rq = igt_spinner_create_request(&spin, ce, MI_ARB_CHECK); in intel_hang_guc() 79 if (IS_ERR(rq)) { in intel_hang_guc() [all …]
|
| D | selftest_guc_multi_lrc.c | 80 struct i915_request *rq, *child_rq; in multi_lrc_nop_request() local 85 rq = intel_context_create_request(ce); in multi_lrc_nop_request() 86 if (IS_ERR(rq)) in multi_lrc_nop_request() 87 return rq; in multi_lrc_nop_request() 89 i915_request_get(rq); in multi_lrc_nop_request() 90 i915_request_add(rq); in multi_lrc_nop_request() 103 return rq; in multi_lrc_nop_request() 106 i915_request_put(rq); in multi_lrc_nop_request() 114 struct i915_request *rq; in __intel_guc_multi_lrc_basic() local 126 rq = multi_lrc_nop_request(parent); in __intel_guc_multi_lrc_basic() [all …]
|