Home
last modified time | relevance | path

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

/linux/drivers/gpu/drm/xe/
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_default_lrc_state(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_exec_queue.c121 u16 width, struct xe_hw_engine *hwe, in __xe_exec_queue_alloc() argument
125 struct xe_gt *gt = hwe->gt; in __xe_exec_queue_alloc()
137 q->hwe = hwe; in __xe_exec_queue_alloc()
139 q->class = hwe->class; in __xe_exec_queue_alloc()
143 q->fence_irq = &gt->fence_irq[hwe->class]; in __xe_exec_queue_alloc()
144 q->ring_ops = gt->ring_ops[hwe->class]; in __xe_exec_queue_alloc()
151 q->sched_props.timeslice_us = hwe->eclass->sched_props.timeslice_us; in __xe_exec_queue_alloc()
153 hwe->eclass->sched_props.preempt_timeout_us; in __xe_exec_queue_alloc()
155 hwe->eclass->sched_props.job_timeout_ms; in __xe_exec_queue_alloc()
228 lrc = xe_lrc_create(q->hwe, q->vm, xe_lrc_ring_size(), in __xe_exec_queue_init()
[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()
294 struct xe_hw_engine *hwe; in force_wake_get_any_engine() local
297 hwe = any_engine(xe); in force_wake_get_any_engine()
298 if (!hwe) in force_wake_get_any_engine()
301 domain = xe_hw_engine_to_fw_domain(hwe); in force_wake_get_any_engine()
302 fw = gt_to_fw(hwe->gt); in force_wake_get_any_engine()
310 *phwe = hwe; in force_wake_get_any_engine()
322 struct xe_hw_engine *hwe; in show_run_ticks() local
[all …]
H A Dxe_gt_ccs_mode.c49 struct xe_hw_engine *hwe; in __xe_gt_apply_ccs_mode() local
52 for_each_hw_engine(hwe, gt, id) { in __xe_gt_apply_ccs_mode()
53 if (hwe->class != XE_ENGINE_CLASS_COMPUTE) in __xe_gt_apply_ccs_mode()
56 if (hwe->logical_instance >= num_engines) in __xe_gt_apply_ccs_mode()
59 config |= BIT(hwe->instance) << XE_HW_ENGINE_CCS0; in __xe_gt_apply_ccs_mode()
66 mode |= CCS_MODE_CSLICE(cslice, hwe->instance); in __xe_gt_apply_ccs_mode()
H A Dxe_hw_engine_group.c74 struct xe_hw_engine *hwe; in xe_hw_engine_setup_groups() local
91 for_each_hw_engine(hwe, gt, id) { in xe_hw_engine_setup_groups()
92 switch (hwe->class) { in xe_hw_engine_setup_groups()
94 hwe->hw_engine_group = group_bcs; in xe_hw_engine_setup_groups()
98 hwe->hw_engine_group = group_rcs_ccs; in xe_hw_engine_setup_groups()
102 hwe->hw_engine_group = group_vcs_vecs; in xe_hw_engine_setup_groups()
H A Dxe_hw_engine_class_sysfs.c630 struct xe_hw_engine *hwe; in xe_hw_engine_class_sysfs_init() local
646 for_each_hw_engine(hwe, gt, id) { in xe_hw_engine_class_sysfs_init()
650 if (hwe->class == XE_ENGINE_CLASS_OTHER || in xe_hw_engine_class_sysfs_init()
651 hwe->class == XE_ENGINE_CLASS_MAX) in xe_hw_engine_class_sysfs_init()
654 if ((class_mask >> hwe->class) & 1) in xe_hw_engine_class_sysfs_init()
657 class_mask |= 1 << hwe->class; in xe_hw_engine_class_sysfs_init()
658 name = xe_hw_engine_class_to_str(hwe->class); in xe_hw_engine_class_sysfs_init()
670 keclass->eclass = hwe->eclass; in xe_hw_engine_class_sysfs_init()
H A Dxe_devcoredump.c131 if (ss->hwe[i]) in __xe_devcoredump_read()
132 xe_engine_snapshot_print(ss->hwe[i], &p); in __xe_devcoredump_read()
163 if (ss->hwe[i]) { in xe_devcoredump_snapshot_free()
164 xe_hw_engine_snapshot_free(ss->hwe[i]); in xe_devcoredump_snapshot_free()
165 ss->hwe[i] = NULL; in xe_devcoredump_snapshot_free()
H A Dxe_hw_engine_types.h144 void (*irq_handler)(struct xe_hw_engine *hwe, u16 intr_vec);
169 struct xe_hw_engine *hwe; member
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_reg_sr.h26 void xe_reg_sr_apply_whitelist(struct xe_hw_engine *hwe);
H A Dxe_gsc.h21 void xe_gsc_hwe_irq_handler(struct xe_hw_engine *hwe, u16 intr_vec);
H A Dxe_execlist_types.h19 struct xe_hw_engine *hwe; member
H A Dxe_guc_capture.h54 void xe_engine_manual_capture(struct xe_hw_engine *hwe, struct xe_hw_engine_snapshot *snapshot);
H A Dxe_migrate.c375 struct xe_hw_engine *hwe; in xe_migrate_usm_logical_mask() local
378 for_each_hw_engine(hwe, gt, id) { in xe_migrate_usm_logical_mask()
379 if (hwe->class != XE_ENGINE_CLASS_COPY) in xe_migrate_usm_logical_mask()
382 if (xe_gt_is_usm_hwe(gt, hwe)) in xe_migrate_usm_logical_mask()
383 logical_mask |= BIT(hwe->logical_instance); in xe_migrate_usm_logical_mask()
454 struct xe_hw_engine *hwe = xe_gt_hw_engine(primary_gt, in xe_migrate_init() local
460 if (!hwe || !logical_mask) { in xe_migrate_init()
469 m->q = xe_exec_queue_create(xe, vm, logical_mask, 1, hwe, in xe_migrate_init()
/linux/drivers/net/ethernet/mediatek/
H A Dmtk_ppe.c518 struct mtk_foe_entry *hwe = mtk_foe_get_entry(ppe, entry->hash); in __mtk_foe_entry_clear() local
520 hwe->ib1 &= ~MTK_FOE_IB1_STATE; in __mtk_foe_entry_clear()
521 hwe->ib1 |= FIELD_PREP(MTK_FOE_IB1_STATE, MTK_FOE_STATE_INVALID); in __mtk_foe_entry_clear()
559 struct mtk_foe_entry *hwe; in mtk_flow_entry_update_l2() local
568 hwe = mtk_foe_get_entry(ppe, cur->hash); in mtk_flow_entry_update_l2()
569 ib1 = READ_ONCE(hwe->ib1); in mtk_flow_entry_update_l2()
591 struct mtk_foe_entry *hwe; in mtk_flow_entry_update() local
603 hwe = mtk_foe_get_entry(ppe, entry->hash); in mtk_flow_entry_update()
604 memcpy(&foe, hwe, ppe->eth->soc->foe_entry_size); in mtk_flow_entry_update()
622 struct mtk_foe_entry *hwe; in __mtk_foe_entry_commit() local
[all …]