Lines Matching full:ve
1753 guc_virtual_get_sibling(struct intel_engine_cs *ve, unsigned int sibling) in guc_virtual_get_sibling() argument
1756 intel_engine_mask_t tmp, mask = ve->mask; in guc_virtual_get_sibling()
1759 for_each_engine_masked(engine, ve->gt, mask, tmp) in guc_virtual_get_sibling()
3474 struct guc_virtual_engine *ve = in __guc_context_destroy() local
3475 container_of(ce, typeof(*ve), context); in __guc_context_destroy()
3477 if (ve->base.breadcrumbs) in __guc_context_destroy()
3478 intel_breadcrumbs_put(ve->base.breadcrumbs); in __guc_context_destroy()
3480 kfree(ve); in __guc_context_destroy()
5753 * requests need to be skipped. The front end (execuf IOCTL) should've called
5894 struct guc_virtual_engine *ve; in guc_create_virtual() local
5899 ve = kzalloc(sizeof(*ve), GFP_KERNEL); in guc_create_virtual()
5900 if (!ve) in guc_create_virtual()
5905 ve->base.i915 = siblings[0]->i915; in guc_create_virtual()
5906 ve->base.gt = siblings[0]->gt; in guc_create_virtual()
5907 ve->base.uncore = siblings[0]->uncore; in guc_create_virtual()
5908 ve->base.id = -1; in guc_create_virtual()
5910 ve->base.uabi_class = I915_ENGINE_CLASS_INVALID; in guc_create_virtual()
5911 ve->base.instance = I915_ENGINE_CLASS_INVALID_VIRTUAL; in guc_create_virtual()
5912 ve->base.uabi_instance = I915_ENGINE_CLASS_INVALID_VIRTUAL; in guc_create_virtual()
5913 ve->base.saturated = ALL_ENGINES; in guc_create_virtual()
5915 snprintf(ve->base.name, sizeof(ve->base.name), "virtual"); in guc_create_virtual()
5917 ve->base.sched_engine = i915_sched_engine_get(guc->sched_engine); in guc_create_virtual()
5919 ve->base.cops = &virtual_guc_context_ops; in guc_create_virtual()
5920 ve->base.request_alloc = guc_request_alloc; in guc_create_virtual()
5921 ve->base.bump_serial = virtual_guc_bump_serial; in guc_create_virtual()
5923 ve->base.submit_request = guc_submit_request; in guc_create_virtual()
5925 ve->base.flags = I915_ENGINE_IS_VIRTUAL; in guc_create_virtual()
5928 ve->base.mask = VIRTUAL_ENGINES; in guc_create_virtual()
5930 intel_context_init(&ve->context, &ve->base); in guc_create_virtual()
5936 if (sibling->mask & ve->base.mask) { in guc_create_virtual()
5943 ve->base.mask |= sibling->mask; in guc_create_virtual()
5944 ve->base.logical_mask |= sibling->logical_mask; in guc_create_virtual()
5946 if (n != 0 && ve->base.class != sibling->class) { in guc_create_virtual()
5948 sibling->class, ve->base.class); in guc_create_virtual()
5952 ve->base.class = sibling->class; in guc_create_virtual()
5953 ve->base.uabi_class = sibling->uabi_class; in guc_create_virtual()
5954 snprintf(ve->base.name, sizeof(ve->base.name), in guc_create_virtual()
5955 "v%dx%d", ve->base.class, count); in guc_create_virtual()
5956 ve->base.context_size = sibling->context_size; in guc_create_virtual()
5958 ve->base.add_active_request = in guc_create_virtual()
5960 ve->base.remove_active_request = in guc_create_virtual()
5962 ve->base.emit_bb_start = sibling->emit_bb_start; in guc_create_virtual()
5963 ve->base.emit_flush = sibling->emit_flush; in guc_create_virtual()
5964 ve->base.emit_init_breadcrumb = in guc_create_virtual()
5966 ve->base.emit_fini_breadcrumb = in guc_create_virtual()
5968 ve->base.emit_fini_breadcrumb_dw = in guc_create_virtual()
5970 ve->base.breadcrumbs = in guc_create_virtual()
5973 ve->base.flags |= sibling->flags; in guc_create_virtual()
5975 ve->base.props.timeslice_duration_ms = in guc_create_virtual()
5977 ve->base.props.preempt_timeout_ms = in guc_create_virtual()
5982 return &ve->context; in guc_create_virtual()
5985 intel_context_put(&ve->context); in guc_create_virtual()
5989 bool intel_guc_virtual_engine_has_heartbeat(const struct intel_engine_cs *ve) in intel_guc_virtual_engine_has_heartbeat() argument
5992 intel_engine_mask_t tmp, mask = ve->mask; in intel_guc_virtual_engine_has_heartbeat()
5994 for_each_engine_masked(engine, ve->gt, mask, tmp) in intel_guc_virtual_engine_has_heartbeat()