Lines Matching refs:pw
2280 struct eb_parse_work *pw = container_of(work, typeof(*pw), base); in __eb_parse() local
2282 return intel_engine_cmd_parser(pw->engine, in __eb_parse()
2283 pw->batch, in __eb_parse()
2284 pw->batch_offset, in __eb_parse()
2285 pw->batch_length, in __eb_parse()
2286 pw->shadow, in __eb_parse()
2287 pw->trampoline); in __eb_parse()
2292 struct eb_parse_work *pw = container_of(work, typeof(*pw), base); in __eb_parse_release() local
2294 if (pw->trampoline) in __eb_parse_release()
2295 i915_active_release(&pw->trampoline->active); in __eb_parse_release()
2296 i915_active_release(&pw->shadow->active); in __eb_parse_release()
2297 i915_active_release(&pw->batch->active); in __eb_parse_release()
2317 parser_mark_active(struct eb_parse_work *pw, struct intel_timeline *tl) in parser_mark_active() argument
2323 err = __parser_mark_active(pw->shadow, tl, &pw->base.dma); in parser_mark_active()
2327 if (pw->trampoline) { in parser_mark_active()
2328 err = __parser_mark_active(pw->trampoline, tl, &pw->base.dma); in parser_mark_active()
2342 struct eb_parse_work *pw; in eb_parse_pipeline() local
2345 GEM_BUG_ON(overflows_type(eb->batch_start_offset, pw->batch_offset)); in eb_parse_pipeline()
2346 GEM_BUG_ON(overflows_type(eb->batch_len, pw->batch_length)); in eb_parse_pipeline()
2348 pw = kzalloc(sizeof(*pw), GFP_KERNEL); in eb_parse_pipeline()
2349 if (!pw) in eb_parse_pipeline()
2366 dma_fence_work_init(&pw->base, &eb_parse_ops); in eb_parse_pipeline()
2368 pw->engine = eb->engine; in eb_parse_pipeline()
2369 pw->batch = eb->batch->vma; in eb_parse_pipeline()
2370 pw->batch_offset = eb->batch_start_offset; in eb_parse_pipeline()
2371 pw->batch_length = eb->batch_len; in eb_parse_pipeline()
2372 pw->shadow = shadow; in eb_parse_pipeline()
2373 pw->trampoline = trampoline; in eb_parse_pipeline()
2376 err = parser_mark_active(pw, eb->context->timeline); in eb_parse_pipeline()
2380 err = dma_resv_reserve_shared(pw->batch->resv, 1); in eb_parse_pipeline()
2385 err = i915_sw_fence_await_reservation(&pw->base.chain, in eb_parse_pipeline()
2386 pw->batch->resv, NULL, false, in eb_parse_pipeline()
2392 dma_resv_add_shared_fence(pw->batch->resv, &pw->base.dma); in eb_parse_pipeline()
2395 dma_resv_add_excl_fence(shadow->resv, &pw->base.dma); in eb_parse_pipeline()
2397 dma_fence_work_commit_imm(&pw->base); in eb_parse_pipeline()
2401 i915_sw_fence_set_error_once(&pw->base.chain, err); in eb_parse_pipeline()
2402 dma_fence_work_commit_imm(&pw->base); in eb_parse_pipeline()
2410 kfree(pw); in eb_parse_pipeline()