Home
last modified time | relevance | path

Searched refs:hwe (Results 1 – 25 of 32) sorted by relevance

12

/linux/drivers/gpu/drm/xe/
H A Dxe_hw_engine.c277 struct xe_hw_engine *hwe = arg; in hw_engine_fini() local
279 if (hwe->exl_port) in hw_engine_fini()
280 xe_execlist_port_destroy(hwe->exl_port); in hw_engine_fini()
282 hwe->gt = NULL; in hw_engine_fini()
287 * @hwe: engine
295 u32 xe_hw_engine_mmio_read32(struct xe_hw_engine *hwe, struct xe_reg reg) in xe_hw_engine_mmio_write32() argument
297 xe_gt_assert(hwe->gt, !(reg.addr & hwe->mmio_base)); in xe_hw_engine_mmio_write32()
298 xe_force_wake_assert_held(gt_to_fw(hwe->gt), hwe in xe_hw_engine_mmio_write32()
316 xe_hw_engine_mmio_read32(struct xe_hw_engine * hwe,struct xe_reg reg) xe_hw_engine_mmio_read32() argument
326 xe_hw_engine_enable_ring(struct xe_hw_engine * hwe) xe_hw_engine_enable_ring() argument
350 xe_hw_engine_match_fixed_cslice_mode(const struct xe_device * xe,const struct xe_gt * gt,const struct xe_hw_engine * hwe) xe_hw_engine_match_fixed_cslice_mode() argument
365 xe_rtp_cfeg_wmtp_disabled(const struct xe_device * xe,const struct xe_gt * gt,const struct xe_hw_engine * hwe) xe_rtp_cfeg_wmtp_disabled() argument
378 xe_hw_engine_setup_default_lrc_state(struct xe_hw_engine * hwe) xe_hw_engine_setup_default_lrc_state() argument
416 hw_engine_setup_default_state(struct xe_hw_engine * hwe) hw_engine_setup_default_state() argument
504 hw_engine_init_early(struct xe_gt * gt,struct xe_hw_engine * hwe,enum xe_hw_engine_id id) hw_engine_init_early() argument
581 adjust_idledly(struct xe_hw_engine * hwe) adjust_idledly() argument
607 hw_engine_init(struct xe_gt * gt,struct xe_hw_engine * hwe,enum xe_hw_engine_id id) hw_engine_init() argument
666 struct xe_hw_engine *hwe; hw_engine_setup_logical_mapping() local
883 struct xe_hw_engine *hwe; xe_hw_engines_init() local
900 xe_hw_engine_handle_irq(struct xe_hw_engine * hwe,u16 intr_vec) xe_hw_engine_handle_irq() argument
923 xe_hw_engine_snapshot_capture(struct xe_hw_engine * hwe,struct xe_exec_queue * q) xe_hw_engine_snapshot_capture() argument
1001 xe_hw_engine_print(struct xe_hw_engine * hwe,struct drm_printer * p) xe_hw_engine_print() argument
1024 xe_hw_engine_is_reserved(struct xe_hw_engine * hwe) xe_hw_engine_is_reserved() argument
1064 xe_hw_engine_read_timestamp(struct xe_hw_engine * hwe) xe_hw_engine_read_timestamp() argument
1069 xe_hw_engine_to_fw_domain(struct xe_hw_engine * hwe) xe_hw_engine_to_fw_domain() argument
[all...]
H A Dxe_hw_engine.h54 void xe_hw_engine_handle_irq(struct xe_hw_engine *hwe, u16 intr_vec);
55 void xe_hw_engine_enable_ring(struct xe_hw_engine *hwe);
59 xe_hw_engine_snapshot_capture(struct xe_hw_engine *hwe, struct xe_exec_queue *q);
61 void xe_hw_engine_print(struct xe_hw_engine *hwe, struct drm_printer *p);
62 void xe_hw_engine_setup_reg_lrc(struct xe_hw_engine *hwe);
64 bool xe_hw_engine_is_reserved(struct xe_hw_engine *hwe);
70 static inline bool xe_hw_engine_is_valid(struct xe_hw_engine *hwe) in xe_hw_engine_is_valid() argument
72 return hwe->name; in xe_hw_engine_is_valid()
76 u64 xe_hw_engine_read_timestamp(struct xe_hw_engine *hwe);
77 enum xe_force_wake_domains xe_hw_engine_to_fw_domain(struct xe_hw_engine *hwe);
[all...]
H A Dxe_gt.c222 struct xe_hw_engine *hwe = q->hwe; in emit_wa_job()
223 struct xe_reg_sr *sr = &hwe->reg_lrc; in emit_wa_job()
265 if (hwe->class == XE_ENGINE_CLASS_RENDER) in emit_wa_job()
270 bb_len += xe_gt_lrc_size(gt, hwe->class) / sizeof(u32); in emit_wa_job()
272 xe_gt_dbg(gt, "LRC %s WA job: %zu dwords\n", hwe->name, bb_len); in emit_wa_job()
318 *cs++ = CS_MMIO_GROUP_INSTANCE_SELECT(hwe->mmio_base).addr; in emit_wa_job()
367 *cs++ = CS_MMIO_GROUP_INSTANCE_SELECT(q->hwe->mmio_base).addr; in emit_wa_job()
387 struct xe_hw_engine *hwe; in xe_gt_record_default_lrcs()
391 for_each_hw_engine(hwe, g in xe_gt_record_default_lrcs()
220 struct xe_hw_engine *hwe = q->hwe; emit_wa_job() local
385 struct xe_hw_engine *hwe; xe_gt_record_default_lrcs() local
794 struct xe_hw_engine *hwe; xe_gt_record_user_engines() local
854 struct xe_hw_engine *hwe; do_gt_restart() local
1128 struct xe_hw_engine *hwe; xe_gt_hw_engine() local
1143 struct xe_hw_engine *hwe; xe_gt_any_hw_engine_by_reset_domain() local
1165 struct xe_hw_engine *hwe; xe_gt_any_hw_engine() local
[all...]
H A Dxe_reg_whitelist.c25 const struct xe_hw_engine *hwe) in match_not_render()
27 return hwe->class != XE_ENGINE_CLASS_RENDER; in match_not_render()
32 const struct xe_hw_engine *hwe) in match_has_mert()
39 const struct xe_hw_engine *hwe)
41 return xe_gt_supports_multi_queue(gt, hwe->class);
159 static void whitelist_apply_to_hwe(struct xe_hw_engine *hwe) in whitelist_apply_to_hwe()
161 struct xe_reg_sr *sr = &hwe->reg_whitelist; in whitelist_apply_to_hwe()
167 xe_gt_dbg(hwe->gt, "Add %s whitelist to engine\n", sr->name); in whitelist_apply_to_hwe()
168 p = xe_gt_dbg_printer(hwe->gt); in whitelist_apply_to_hwe()
173 .reg = RING_FORCE_TO_NONPRIV(hwe in whitelist_apply_to_hwe()
24 match_not_render(const struct xe_device * xe,const struct xe_gt * gt,const struct xe_hw_engine * hwe) match_not_render() argument
31 match_has_mert(const struct xe_device * xe,const struct xe_gt * gt,const struct xe_hw_engine * hwe) match_has_mert() argument
145 whitelist_apply_to_hwe(struct xe_hw_engine * hwe) whitelist_apply_to_hwe() argument
187 xe_reg_whitelist_process_engine(struct xe_hw_engine * hwe) xe_reg_whitelist_process_engine() argument
[all...]
H A Dxe_lrc.c188 const struct xe_hw_engine *hwe) in set_offsets()
198 const u32 base = hwe->mmio_base; in set_offsets()
219 xe_gt_assert(hwe->gt, count); in set_offsets()
649 static void set_context_control(u32 *regs, struct xe_hw_engine *hwe) in set_context_control()
654 if (xe_gt_has_indirect_ring_state(hwe->gt)) in set_context_control()
659 static void set_memory_based_intr(u32 *regs, struct xe_hw_engine *hwe) in set_memory_based_intr()
661 struct xe_memirq *memirq = &gt_to_tile(hwe->gt)->memirq; in set_memory_based_intr()
662 struct xe_device *xe = gt_to_xe(hwe->gt); in set_memory_based_intr()
677 regs[CTX_INT_STATUS_REPORT_PTR] = xe_memirq_status_ptr(memirq, hwe); in set_memory_based_intr()
679 regs[CTX_INT_SRC_REPORT_PTR] = xe_memirq_source_ptr(memirq, hwe); in set_memory_based_intr()
186 set_offsets(u32 * regs,const u8 * data,const struct xe_hw_engine * hwe) set_offsets() argument
647 set_context_control(u32 * regs,struct xe_hw_engine * hwe) set_context_control() argument
657 set_memory_based_intr(u32 * regs,struct xe_hw_engine * hwe) set_memory_based_intr() argument
685 lrc_ring_mi_mode(struct xe_hw_engine * hwe) lrc_ring_mi_mode() argument
695 reset_stop_ring(u32 * regs,struct xe_hw_engine * hwe) reset_stop_ring() argument
975 empty_lrc_data(struct xe_hw_engine * hwe) empty_lrc_data() argument
1005 xe_default_lrc_update_memirq_regs_with_address(struct xe_hw_engine * hwe) xe_default_lrc_update_memirq_regs_with_address() argument
1024 xe_lrc_update_memirq_regs_with_address(struct xe_lrc * lrc,struct xe_hw_engine * hwe,u32 * regs) xe_lrc_update_memirq_regs_with_address() argument
1084 setup_utilization_wa(struct xe_lrc * lrc,struct xe_hw_engine * hwe,u32 * batch,size_t max_len) setup_utilization_wa() argument
1116 setup_timestamp_wa(struct xe_lrc * lrc,struct xe_hw_engine * hwe,u32 * batch,size_t max_len) setup_timestamp_wa() argument
1154 setup_configfs_post_ctx_restore_bb(struct xe_lrc * lrc,struct xe_hw_engine * hwe,u32 * batch,size_t max_len) setup_configfs_post_ctx_restore_bb() argument
1183 setup_configfs_mid_ctx_restore_bb(struct xe_lrc * lrc,struct xe_hw_engine * hwe,u32 * batch,size_t max_len) setup_configfs_mid_ctx_restore_bb() argument
1212 setup_invalidate_state_cache_wa(struct xe_lrc * lrc,struct xe_hw_engine * hwe,u32 * batch,size_t max_len) setup_invalidate_state_cache_wa() argument
1232 setup_invalidate_auxccs_wa(struct xe_lrc * lrc,struct xe_hw_engine * hwe,u32 * batch,size_t max_len) setup_invalidate_auxccs_wa() argument
1256 struct xe_hw_engine *hwe; global() member
1322 xe_lrc_setup_wa_bb_with_scratch(struct xe_lrc * lrc,struct xe_hw_engine * hwe,u32 * scratch) xe_lrc_setup_wa_bb_with_scratch() argument
1357 setup_wa_bb(struct xe_lrc * lrc,struct xe_hw_engine * hwe) setup_wa_bb() argument
1376 setup_indirect_ctx(struct xe_lrc * lrc,struct xe_hw_engine * hwe) setup_indirect_ctx() argument
1472 xe_lrc_ctx_init(struct xe_lrc * lrc,struct xe_hw_engine * hwe,struct xe_vm * vm,void * replay_state,u16 msix_vec,u32 init_flags) xe_lrc_ctx_init() argument
1603 xe_lrc_init(struct xe_lrc * lrc,struct xe_hw_engine * hwe,struct xe_vm * vm,void * replay_state,u32 ring_size,u16 msix_vec,u32 init_flags) xe_lrc_init() argument
1687 xe_lrc_create(struct xe_hw_engine * hwe,struct xe_vm * vm,void * replay_state,u32 ring_size,u16 msix_vec,u32 flags) xe_lrc_create() argument
2583 struct xe_hw_engine *hwe; get_ctx_timestamp() local
[all...]
H A Dxe_drm_client.c279 struct xe_hw_engine *hwe = xe_gt_any_hw_engine(gt); in any_engine() local
281 if (hwe) in any_engine()
282 return hwe; in any_engine()
298 struct xe_hw_engine *hwe; in force_wake_get_any_engine() local
302 hwe = any_engine(xe); in force_wake_get_any_engine()
303 if (!hwe) in force_wake_get_any_engine()
306 domain = xe_hw_engine_to_fw_domain(hwe); in force_wake_get_any_engine()
308 fw_ref = xe_force_wake_constructor(gt_to_fw(hwe->gt), domain); in force_wake_get_any_engine()
310 *phwe = hwe; /* valid forcewake */ in force_wake_get_any_engine()
321 struct xe_hw_engine *hwe; in show_run_ticks() local
[all …]
H A Dxe_memirq.c179 struct xe_hw_engine *hwe; in memirq_alloc_pages()
183 for_each_hw_engine(hwe, gt, hweid) in memirq_alloc_pages()
184 max_instance = max(max_instance, hwe->instance); in memirq_alloc_pages()
286 * @hwe: the hw engine for which we want the report page
293 u32 xe_memirq_source_ptr(struct xe_memirq *memirq, struct xe_hw_engine *hwe)
297 return xe_bo_ggtt_addr(memirq->bo) + XE_MEMIRQ_SOURCE_OFFSET(hwe->irq_page); in xe_memirq_status_ptr() argument
303 * @hwe: the hw engine for which we want the report page
310 u32 xe_memirq_status_ptr(struct xe_memirq *memirq, struct xe_hw_engine *hwe)
314 return xe_bo_ggtt_addr(memirq->bo) + XE_MEMIRQ_STATUS_OFFSET(hwe->irq_page); in xe_memirq_enable_ptr()
451 struct xe_hw_engine *hwe) in memirq_dispatch_guc()
271 xe_memirq_source_ptr(struct xe_memirq * memirq,struct xe_hw_engine * hwe) xe_memirq_source_ptr() argument
437 memirq_dispatch_engine(struct xe_memirq * memirq,struct iosys_map * status,struct xe_hw_engine * hwe) memirq_dispatch_engine() argument
486 xe_memirq_hwe_handler(struct xe_memirq * memirq,struct xe_hw_engine * hwe) xe_memirq_hwe_handler() argument
528 struct xe_hw_engine *hwe; xe_memirq_handler() local
[all...]
H A Dxe_exec_queue.c203 u16 width, struct xe_hw_engine *hwe, in __xe_exec_queue_alloc() argument
207 struct xe_gt *gt = hwe->gt; in __xe_exec_queue_alloc()
219 q->hwe = hwe; in __xe_exec_queue_alloc()
221 q->class = hwe->class; in __xe_exec_queue_alloc()
225 q->fence_irq = &gt->fence_irq[hwe->class]; in __xe_exec_queue_alloc()
226 q->ring_ops = gt->ring_ops[hwe->class]; in __xe_exec_queue_alloc()
237 q->sched_props.timeslice_us = hwe->eclass->sched_props.timeslice_us; in __xe_exec_queue_alloc()
239 hwe->eclass->sched_props.preempt_timeout_us; in __xe_exec_queue_alloc()
241 hwe in __xe_exec_queue_alloc()
421 xe_exec_queue_create(struct xe_device * xe,struct xe_vm * vm,u32 logical_mask,u16 width,struct xe_hw_engine * hwe,u32 flags,u64 extensions) xe_exec_queue_create() argument
480 struct xe_hw_engine *hwe, *hwe0 = NULL; xe_exec_queue_create_class() local
529 struct xe_hw_engine *hwe = xe_gt_hw_engine(gt, xe_exec_queue_create_bind() local
1203 struct xe_hw_engine *hwe; calc_validate_logical_mask() local
1268 struct xe_hw_engine *hwe; xe_exec_queue_create_ioctl() local
[all...]
H A Dxe_guc_ads.c238 struct xe_hw_engine *hwe; in calculate_regset_size() local
242 for_each_hw_engine(hwe, gt, id) in calculate_regset_size()
243 xa_for_each(&hwe->reg_sr.xa, sr_idx, sr_entry) in calculate_regset_size()
256 struct xe_hw_engine *hwe; in engine_enable_mask() local
260 for_each_hw_engine(hwe, gt, id) in engine_enable_mask()
261 if (hwe->class == class) in engine_enable_mask()
262 mask |= BIT(hwe->instance); in engine_enable_mask()
545 struct xe_hw_engine *hwe; in guc_mapping_table_init()
550 for_each_hw_engine(hwe, gt, id) { in guc_mapping_table_init()
553 guc_class = xe_engine_class_to_guc_class(hwe in guc_mapping_table_init()
542 struct xe_hw_engine *hwe; guc_mapping_table_init() local
731 guc_mmio_regset_write(struct xe_guc_ads * ads,struct iosys_map * regset_map,struct xe_hw_engine * hwe) guc_mmio_regset_write() argument
782 struct xe_hw_engine *hwe; guc_mmio_reg_state_init() local
[all...]
H A Dxe_oa.c98 struct xe_hw_engine *hwe;
471 if (stream->hwe->class != XE_ENGINE_CLASS_COMPUTE) in xe_oa_enable()
474 val = REG_FIELD_PREP(OAG_OACONTROL_OA_CCS_SELECT_MASK, stream->hwe->instance); in xe_oa_enable()
476 REG_FIELD_GET(OAG_OACONTROL_OA_CCS_SELECT_MASK, val) == stream->hwe->instance); in xe_oa_enable()
770 OACTXCONTROL(stream->hwe->mmio_base), in xe_oa_configure_oac_context()
778 RING_CONTEXT_CONTROL(stream->hwe->mmio_base), in xe_oa_configure_oac_context()
795 OACTXCONTROL(stream->hwe->mmio_base), in xe_oa_configure_oac_context()
803 RING_CONTEXT_CONTROL(stream->hwe->mmio_base), in xe_oa_configure_oa_context()
819 switch (stream->hwe->class) { in oag_configure_mmio_trigger()
879 struct xe_gt *gt = stream->hwe in xe_oa_stream_destroy()
96 struct xe_hw_engine *hwe; global() member
1944 xe_oa_unit_id(struct xe_hw_engine * hwe) xe_oa_unit_id() argument
1953 struct xe_hw_engine *hwe; xe_oa_assign_hwe() local
2526 __hwe_oam_unit(struct xe_hw_engine * hwe) __hwe_oam_unit() argument
2554 __hwe_oa_unit(struct xe_hw_engine * hwe) __hwe_oa_unit() argument
2664 struct xe_hw_engine *hwe; xe_oa_init_gt() local
2695 struct xe_hw_engine *hwe; xe_oa_print_gt_oa_units() local
[all...]
H A Dxe_tuning.c219 void xe_tuning_process_engine(struct xe_hw_engine *hwe) in xe_tuning_process_engine()
221 struct xe_rtp_process_ctx ctx = XE_RTP_PROCESS_CTX_INITIALIZER(hwe); in xe_tuning_process_engine()
224 hwe->gt->tuning_active.engine,
227 &hwe->reg_sr, false);
233 * @hwe: engine instance to process tunings for
235 * Process LRC table for this platform, saving in @hwe all the tunings that need in xe_tuning_process_lrc()
239 void xe_tuning_process_lrc(struct xe_hw_engine *hwe) in xe_tuning_process_lrc()
241 struct xe_rtp_process_ctx ctx = XE_RTP_PROCESS_CTX_INITIALIZER(hwe); in xe_tuning_process_lrc()
244 hwe->gt->tuning_active.lrc,
247 &hwe
214 xe_tuning_process_engine(struct xe_hw_engine * hwe) xe_tuning_process_engine() argument
234 xe_tuning_process_lrc(struct xe_hw_engine * hwe) xe_tuning_process_lrc() argument
[all...]
H A Dxe_gt_ccs_mode.c51 struct xe_hw_engine *hwe; in __xe_gt_apply_ccs_mode() local
54 for_each_hw_engine(hwe, gt, id) { in __xe_gt_apply_ccs_mode()
55 if (hwe->class != XE_ENGINE_CLASS_COMPUTE) in __xe_gt_apply_ccs_mode()
58 if (hwe->logical_instance >= num_engines) in __xe_gt_apply_ccs_mode()
61 config |= BIT(hwe->instance) << XE_HW_ENGINE_CCS0; in __xe_gt_apply_ccs_mode()
68 mode |= CCS_MODE_CSLICE(cslice, hwe->instance); in __xe_gt_apply_ccs_mode()
H A Dxe_hw_engine_group.c78 struct xe_hw_engine *hwe; in xe_hw_engine_setup_groups() local
95 for_each_hw_engine(hwe, gt, id) { in xe_hw_engine_setup_groups()
96 switch (hwe->class) { in xe_hw_engine_setup_groups()
98 hwe->hw_engine_group = group_bcs; in xe_hw_engine_setup_groups()
102 hwe->hw_engine_group = group_rcs_ccs; in xe_hw_engine_setup_groups()
106 hwe->hw_engine_group = group_vcs_vecs; in xe_hw_engine_setup_groups()
H A Dxe_pmu.c104 struct xe_hw_engine *hwe; in event_to_hwe() local
110 hwe = xe_hw_engine_lookup(xe, eci); in event_to_hwe()
111 if (!hwe || xe_hw_engine_is_reserved(hwe)) in event_to_hwe()
114 return hwe; in event_to_hwe()
278 struct xe_hw_engine *hwe; in read_engine_events() local
285 hwe = event_to_hwe(event); in read_engine_events()
287 val = xe_guc_engine_activity_active_ticks(&gt->uc.guc, hwe, function_id); in read_engine_events()
289 val = xe_guc_engine_activity_total_ticks(&gt->uc.guc, hwe, function_id); in read_engine_events()
H A Dxe_lrc.h57 struct xe_lrc *xe_lrc_create(struct xe_hw_engine *hwe, struct xe_vm *vm,
119 void xe_default_lrc_update_memirq_regs_with_address(struct xe_hw_engine *hwe);
120 void xe_lrc_update_memirq_regs_with_address(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
164 int xe_lrc_setup_wa_bb_with_scratch(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
H A Dxe_hw_engine_class_sysfs.c626 struct xe_hw_engine *hwe; in xe_hw_engine_class_sysfs_init() local
642 for_each_hw_engine(hwe, gt, id) { in xe_hw_engine_class_sysfs_init()
646 if (hwe->class == XE_ENGINE_CLASS_OTHER || in xe_hw_engine_class_sysfs_init()
647 hwe->class == XE_ENGINE_CLASS_MAX) in xe_hw_engine_class_sysfs_init()
650 if ((class_mask >> hwe->class) & 1) in xe_hw_engine_class_sysfs_init()
653 class_mask |= 1 << hwe->class; in xe_hw_engine_class_sysfs_init()
654 name = xe_hw_engine_class_to_str(hwe->class); in xe_hw_engine_class_sysfs_init()
666 keclass->eclass = hwe->eclass; in xe_hw_engine_class_sysfs_init()
H A Dxe_wa.c870 * @hwe: engine instance to process workarounds for in xe_wa_process_engine()
872 * Process engine workaround table for this platform, saving in @hwe all the
876 void xe_wa_process_engine(struct xe_hw_engine *hwe)
878 struct xe_rtp_process_ctx ctx = XE_RTP_PROCESS_CTX_INITIALIZER(hwe);
880 xe_rtp_process_ctx_enable_active_tracking(&ctx, hwe->gt->wa_active.engine,
883 &hwe->reg_sr, false); in xe_wa_process_lrc()
888 * @hwe: engine instance to process workarounds for in xe_wa_process_lrc()
890 * Process context workaround table for this platform, saving in @hwe all the
894 void xe_wa_process_lrc(struct xe_hw_engine *hwe)
896 struct xe_rtp_process_ctx ctx = XE_RTP_PROCESS_CTX_INITIALIZER(hwe);
863 xe_wa_process_engine(struct xe_hw_engine * hwe) xe_wa_process_engine() argument
881 xe_wa_process_lrc(struct xe_hw_engine * hwe) xe_wa_process_lrc() argument
[all...]
H A Dxe_gsc.c383 void xe_gsc_hwe_irq_handler(struct xe_hw_engine *hwe, u16 intr_vec) in xe_gsc_hwe_irq_handler() argument
385 struct xe_gt *gt = hwe->gt; in xe_gsc_hwe_irq_handler()
461 struct xe_hw_engine *hwe = xe_gt_hw_engine(gt, XE_ENGINE_CLASS_OTHER, 0, true); in xe_gsc_init_post_hwconfig() local
470 if (!hwe) in xe_gsc_init_post_hwconfig()
480 BIT(hwe->logical_instance), 1, hwe, in xe_gsc_init_post_hwconfig()
H A Dxe_hw_engine_types.h146 void (*irq_handler)(struct xe_hw_engine *hwe, u16 intr_vec);
170 /** @hwe: hw engine */
171 struct xe_hw_engine *hwe;
169 struct xe_hw_engine *hwe; global() member
H A Dxe_reg_sr.c290 * @hwe: Hardware engine type to check LRC for
295 struct xe_hw_engine *hwe,
303 int ret = xe_lrc_lookup_default_reg_value(gt, hwe->class, offset, &val);
307 drm_printf(p, "%#8lx :: not found in LRC for %s\n", offset, hwe->name);
259 xe_reg_sr_lrc_check(struct xe_reg_sr * sr,struct xe_gt * gt,struct xe_hw_engine * hwe,struct drm_printer * p) xe_reg_sr_lrc_check() argument
H A Dxe_execlist.h18 struct xe_hw_engine *hwe);
H A Dxe_reg_whitelist.h16 void xe_reg_whitelist_process_engine(struct xe_hw_engine *hwe);
H A Dxe_ring_ops.c83 static int emit_aux_table_inv(struct xe_hw_engine *hwe, u32 *dw, int i) in emit_aux_table_inv() argument
85 struct xe_gt *gt = hwe->gt; in emit_aux_table_inv()
87 gt->ring_ops[hwe->class]->emit_aux_table_inv; in emit_aux_table_inv()
400 i = emit_aux_table_inv(job->q->hwe, dw, i); in __emit_job_gen12_video()
469 i = emit_aux_table_inv(job->q->hwe, dw, i); in __emit_job_gen12_render_compute()
H A Dxe_gsc.h21 void xe_gsc_hwe_irq_handler(struct xe_hw_engine *hwe, u16 intr_vec);
/linux/drivers/net/ethernet/airoha/
H A Dairoha_ppe.c314 struct airoha_foe_entry *hwe, in airoha_ppe_foe_entry_prepare()
324 memset(hwe, 0, sizeof(*hwe)); in airoha_ppe_foe_entry_prepare()
333 hwe->ib1 = val; in airoha_ppe_foe_entry_prepare()
394 hwe->ipv4.orig_tuple.ports = ports_pad; in airoha_ppe_foe_entry_prepare()
396 hwe->ipv6.ports = ports_pad; in airoha_ppe_foe_entry_prepare()
399 airoha_ppe_foe_set_bridge_addrs(&hwe->bridge, &data->eth); in airoha_ppe_foe_entry_prepare()
400 hwe->bridge.data = qdata; in airoha_ppe_foe_entry_prepare()
401 hwe->bridge.ib2 = val; in airoha_ppe_foe_entry_prepare()
402 l2 = &hwe in airoha_ppe_foe_entry_prepare()
301 airoha_ppe_foe_entry_prepare(struct airoha_eth * eth,struct airoha_foe_entry * hwe,struct net_device * dev,int type,struct airoha_flow_data * data,int l4proto) airoha_ppe_foe_entry_prepare() argument
426 airoha_ppe_foe_entry_set_ipv4_tuple(struct airoha_foe_entry * hwe,struct airoha_flow_data * data,bool egress) airoha_ppe_foe_entry_set_ipv4_tuple() argument
460 airoha_ppe_foe_entry_set_ipv6_tuple(struct airoha_foe_entry * hwe,struct airoha_flow_data * data) airoha_ppe_foe_entry_set_ipv6_tuple() argument
489 airoha_ppe_foe_get_entry_hash(struct airoha_ppe * ppe,struct airoha_foe_entry * hwe) airoha_ppe_foe_get_entry_hash() argument
580 airoha_ppe_foe_flow_stats_update(struct airoha_ppe * ppe,struct airoha_npu * npu,struct airoha_foe_entry * hwe,u32 hash) airoha_ppe_foe_flow_stats_update() argument
641 u32 *hwe = ppe->foe + hash * sizeof(struct airoha_foe_entry); airoha_ppe_foe_get_entry_locked() local
668 struct airoha_foe_entry *hwe; airoha_ppe_foe_get_entry() local
678 airoha_ppe_foe_compare_entry(struct airoha_flow_table_entry * e,struct airoha_foe_entry * hwe) airoha_ppe_foe_compare_entry() argument
696 struct airoha_foe_entry *hwe = ppe->foe + hash * sizeof(*hwe); airoha_ppe_foe_commit_sram_entry() local
720 struct airoha_foe_entry *hwe = ppe->foe + hash * sizeof(*hwe); airoha_ppe_foe_commit_entry() local
804 struct airoha_foe_entry *hwe_p, hwe; airoha_ppe_foe_commit_subflow_entry() local
853 struct airoha_foe_entry *hwe; airoha_ppe_foe_insert_entry() local
969 struct airoha_foe_entry *hwe; airoha_ppe_foe_flow_l2_entry_update() local
998 struct airoha_foe_entry *hwe_p, hwe = {}; airoha_ppe_foe_flow_entry_update() local
1041 struct airoha_foe_entry hwe; airoha_ppe_flow_offload_replace() local
1332 struct airoha_foe_entry *hwe = ppe->foe; airoha_ppe_flush_sram_entries() local
[all...]

12