| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_hw_engine.h | 54 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 D | xe_exec_queue.c | 121 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 = >->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 D | xe_drm_client.c | 279 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 D | xe_gt_ccs_mode.c | 49 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 D | xe_hw_engine_group.c | 74 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 D | xe_hw_engine_class_sysfs.c | 630 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 D | xe_devcoredump.c | 131 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 D | xe_hw_engine_types.h | 144 void (*irq_handler)(struct xe_hw_engine *hwe, u16 intr_vec); 169 struct xe_hw_engine *hwe; member
|
| H A D | xe_execlist.h | 18 struct xe_hw_engine *hwe);
|
| H A D | xe_reg_whitelist.h | 16 void xe_reg_whitelist_process_engine(struct xe_hw_engine *hwe);
|
| H A D | xe_reg_sr.h | 26 void xe_reg_sr_apply_whitelist(struct xe_hw_engine *hwe);
|
| H A D | xe_gsc.h | 21 void xe_gsc_hwe_irq_handler(struct xe_hw_engine *hwe, u16 intr_vec);
|
| H A D | xe_execlist_types.h | 19 struct xe_hw_engine *hwe; member
|
| H A D | xe_guc_capture.h | 54 void xe_engine_manual_capture(struct xe_hw_engine *hwe, struct xe_hw_engine_snapshot *snapshot);
|
| H A D | xe_migrate.c | 375 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 D | mtk_ppe.c | 518 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 …]
|