| /linux/drivers/gpu/drm/xe/ |
| A D | xe_gt_sriov_pf_control.c | 212 xe_gt_assert(gt, IS_SRIOV_PF(gt_to_xe(gt))); in pf_pick_vf_control() 213 xe_gt_assert(gt, vfid <= xe_gt_sriov_pf_get_totalvfs(gt)); in pf_pick_vf_control() 339 xe_gt_assert(gt, IS_SRIOV_PF(gt_to_xe(gt))); in pf_queue_vf() 498 pf_queue_vf(gt, vfid); in pf_enter_vf_pause_send_pause() 658 pf_queue_vf(gt, vfid); in pf_enter_vf_resume_send_resume() 800 pf_queue_vf(gt, vfid); in pf_enter_vf_stop_send_stop() 1373 xe_gt_assert(gt, vfid <= xe_gt_sriov_pf_get_totalvfs(gt)); in pf_worker_find_work() 1386 xe_gt_assert(gt, IS_SRIOV_PF(gt_to_xe(gt))); in control_worker_func() 1392 xe_gt_assert(gt, IS_SRIOV_PF(gt_to_xe(gt))); in pf_stop_worker() 1400 pf_stop_worker(gt); in control_fini_action() [all …]
|
| A D | xe_gt.c | 76 if (!gt) in xe_gt_alloc() 86 return gt; in xe_gt_alloc() 386 xe_force_wake_init_gt(gt, gt_to_fw(gt)); in xe_gt_init_early() 442 gt->info.gmdid = xe_mmio_read32(gt, GMD_ID); in gt_fw_domain_init() 468 xe_reg_sr_apply_mmio(>->reg_sr, gt); in all_fw_domain_init() 584 gt->ring_ops[i] = xe_ring_ops_get(gt, i); in xe_gt_init() 614 xe_force_wake_init_engines(gt, gt_to_fw(gt)); in xe_gt_init() 642 xe_gt_assert(gt, (gt->user_engines.mask | gt->info.engine_mask) in xe_gt_record_user_engines() 696 xe_reg_sr_apply_mmio(>->reg_sr, gt); in do_gt_restart() 820 queue_work(gt->ordered_wq, >->reset.worker); in xe_gt_reset_async() [all …]
|
| A D | xe_gt_sriov_pf_policy.c | 140 xe_gt_assert(gt, IS_SRIOV_PF(gt_to_xe(gt))); in pf_provision_sched_if_idle() 150 xe_gt_assert(gt, IS_SRIOV_PF(gt_to_xe(gt))); in pf_reprovision_sched_if_idle() 158 xe_gt_assert(gt, IS_SRIOV_PF(gt_to_xe(gt))); in pf_sanitize_sched_if_idle() 196 xe_gt_assert(gt, IS_SRIOV_PF(gt_to_xe(gt))); in xe_gt_sriov_pf_policy_get_sched_if_idle() 207 xe_gt_assert(gt, IS_SRIOV_PF(gt_to_xe(gt))); in pf_provision_reset_engine() 216 xe_gt_assert(gt, IS_SRIOV_PF(gt_to_xe(gt))); in pf_reprovision_reset_engine() 224 xe_gt_assert(gt, IS_SRIOV_PF(gt_to_xe(gt))); in pf_sanitize_reset_engine() 262 xe_gt_assert(gt, IS_SRIOV_PF(gt_to_xe(gt))); in xe_gt_sriov_pf_policy_get_reset_engine() 273 xe_gt_assert(gt, IS_SRIOV_PF(gt_to_xe(gt))); in pf_provision_sample_period() 282 xe_gt_assert(gt, IS_SRIOV_PF(gt_to_xe(gt))); in pf_reprovision_sample_period() [all …]
|
| A D | xe_gt_mcr.c | 357 gt->steering_dss_per_grp = dss_per_group(gt); in init_steering_dss() 676 xe_gt_assert(gt, !IS_SRIOV_VF(gt_to_xe(gt))); in xe_gt_mcr_unicast_read_any() 682 mcr_lock(gt); in xe_gt_mcr_unicast_read_any() 709 xe_gt_assert(gt, !IS_SRIOV_VF(gt_to_xe(gt))); in xe_gt_mcr_unicast_read() 711 mcr_lock(gt); in xe_gt_mcr_unicast_read() 713 mcr_unlock(gt); in xe_gt_mcr_unicast_read() 732 xe_gt_assert(gt, !IS_SRIOV_VF(gt_to_xe(gt))); in xe_gt_mcr_unicast_write() 734 mcr_lock(gt); in xe_gt_mcr_unicast_write() 736 mcr_unlock(gt); in xe_gt_mcr_unicast_write() 752 xe_gt_assert(gt, !IS_SRIOV_VF(gt_to_xe(gt))); in xe_gt_mcr_multicast_write() [all …]
|
| A D | xe_gt_sriov_pf_config.c | 224 xe_gt_assert(gt, IS_SRIOV_PF(gt_to_xe(gt))); in pf_pick_vf_config() 344 xe_gt_assert(gt, !xe_gt_is_media_type(gt)); in pf_get_spare_ggtt() 345 xe_gt_assert(gt, IS_SRIOV_PF(gt_to_xe(gt))); in pf_get_spare_ggtt() 356 xe_gt_assert(gt, !xe_gt_is_media_type(gt)); in pf_set_spare_ggtt() 357 xe_gt_assert(gt, IS_SRIOV_PF(gt_to_xe(gt))); in pf_set_spare_ggtt() 411 xe_gt_assert(gt, !xe_gt_is_media_type(gt)); in pf_provision_vf_ggtt() 412 xe_gt_assert(gt, IS_SRIOV_PF(gt_to_xe(gt))); in pf_provision_vf_ggtt() 456 xe_gt_assert(gt, !xe_gt_is_media_type(gt)); in pf_get_vf_config_ggtt() 524 xe_gt_assert(gt, !xe_gt_is_media_type(gt)); in xe_gt_sriov_pf_config_set_ggtt() 586 xe_gt_assert(gt, !xe_gt_is_media_type(gt)); in xe_gt_sriov_pf_config_bulk_set_ggtt() [all …]
|
| A D | xe_gt_debugfs.c | 84 return print(gt, &p); in xe_gt_debugfs_simple_show() 101 for_each_hw_engine(hwe, gt, id) in hw_engines() 115 xe_gt_reset_async(gt); in force_reset() 124 xe_gt_reset_async(gt); in force_reset_sync() 127 flush_work(>->reset.worker); in force_reset_sync() 147 xe_gt_topology_dump(gt, p); in topology() 156 xe_gt_mcr_steering_dump(gt, p); in steering() 180 xe_reg_sr_dump(>->reg_sr, p); in register_save_restore() 205 xe_wa_dump(gt, p); in workarounds() 214 xe_pat_dump(gt, p); in pat() [all …]
|
| A D | xe_gt_tlb_invalidation.c | 42 if (WARN_ON_ONCE(!fence->gt)) in xe_gt_tlb_invalidation_fence_fini() 96 tlb_timeout_jiffies(gt)); in xe_gt_tlb_fence_timeout() 111 gt->tlb_invalidation.seqno = 1; in xe_gt_tlb_invalidation_init() 137 mutex_lock(>->uc.guc.ct.lock); in xe_gt_tlb_invalidation_reset() 182 xe_gt_assert(gt, fence); in send_tlb_invalidation() 222 gt->tlb_invalidation.seqno = (gt->tlb_invalidation.seqno + 1) % in send_tlb_invalidation() 289 xe_gt_WARN_ON(gt, xe_force_wake_get(gt_to_fw(gt), XE_FW_GT)); in xe_gt_tlb_invalidation_ggtt() 331 xe_gt_assert(gt, fence); in xe_gt_tlb_invalidation_range() 410 xe_gt_assert(gt, vma); in xe_gt_tlb_invalidation_vma() 475 tlb_timeout_jiffies(gt)); in xe_guc_tlb_invalidation_done_handler() [all …]
|
| A D | xe_gt_sriov_vf.c | 127 xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); in vf_handshake_with_guc() 312 xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); in xe_gt_sriov_vf_gmdid() 313 xe_gt_assert(gt, !GRAPHICS_VERx100(gt_to_xe(gt)) || has_gmdid(gt_to_xe(gt))); in xe_gt_sriov_vf_gmdid() 334 xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); in vf_get_ggtt_info() 367 xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); in vf_get_lmem_info() 394 xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); in vf_get_submission_cfg() 425 xe_gt_assert(gt, has_gmdid(gt_to_xe(gt))); in vf_cache_gmdid() 426 xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); in vf_cache_gmdid() 474 xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); in xe_gt_sriov_vf_guc_ids() 491 xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); in xe_gt_sriov_vf_lmem() [all …]
|
| A D | xe_gt_throttle.c | 42 xe_pm_runtime_get(gt_to_xe(gt)); in xe_gt_throttle_get_limit_reasons() 43 if (xe_gt_is_media_type(gt)) in xe_gt_throttle_get_limit_reasons() 47 xe_pm_runtime_put(gt_to_xe(gt)); in xe_gt_throttle_get_limit_reasons() 119 struct xe_gt *gt = dev_to_gt(dev); in status_show() local 120 bool status = !!read_status(gt); in status_show() 130 struct xe_gt *gt = dev_to_gt(dev); in reason_pl1_show() local 131 bool pl1 = !!read_reason_pl1(gt); in reason_pl1_show() 141 struct xe_gt *gt = dev_to_gt(dev); in reason_pl2_show() local 142 bool pl2 = !!read_reason_pl2(gt); in reason_pl2_show() 153 bool pl4 = !!read_reason_pl4(gt); in reason_pl4_show() [all …]
|
| A D | xe_gt_sriov_pf_config.h | 15 u64 xe_gt_sriov_pf_config_get_ggtt(struct xe_gt *gt, unsigned int vfid); 16 int xe_gt_sriov_pf_config_set_ggtt(struct xe_gt *gt, unsigned int vfid, u64 size); 17 int xe_gt_sriov_pf_config_set_fair_ggtt(struct xe_gt *gt, 19 int xe_gt_sriov_pf_config_bulk_set_ggtt(struct xe_gt *gt, 22 u32 xe_gt_sriov_pf_config_get_ctxs(struct xe_gt *gt, unsigned int vfid); 28 u32 xe_gt_sriov_pf_config_get_dbs(struct xe_gt *gt, unsigned int vfid); 34 u64 xe_gt_sriov_pf_config_get_lmem(struct xe_gt *gt, unsigned int vfid); 47 u32 xe_gt_sriov_pf_config_get_threshold(struct xe_gt *gt, unsigned int vfid, 49 int xe_gt_sriov_pf_config_set_threshold(struct xe_gt *gt, unsigned int vfid, 57 bool xe_gt_sriov_pf_config_is_empty(struct xe_gt *gt, unsigned int vfid); [all …]
|
| A D | xe_gt_sriov_pf_service.c | 45 xe_gt_assert(gt, base.major); in pf_negotiate_version() 86 xe_gt_assert(gt, major || minor); in pf_connect() 214 xe_gt_assert(gt, !gt->sriov.pf.service.runtime.size); in pf_alloc_runtime_info() 215 xe_gt_assert(gt, !gt->sriov.pf.service.runtime.regs); in pf_alloc_runtime_info() 216 xe_gt_assert(gt, !gt->sriov.pf.service.runtime.values); in pf_alloc_runtime_info() 278 pf_init_versions(gt); in xe_gt_sriov_pf_service_init() 301 pf_prepare_runtime_info(gt); in xe_gt_sriov_pf_service_update() 317 pf_disconnect(gt, vfid); in xe_gt_sriov_pf_service_reset() 335 pf_disconnect(gt, vfid); in pf_process_handshake() 394 xe_gt_assert(gt, IS_SRIOV_PF(gt_to_xe(gt))); in pf_service_runtime_query() [all …]
|
| A D | xe_gt_ccs_mode.c | 21 struct xe_device *xe = gt_to_xe(gt); in __xe_gt_apply_ccs_mode() 52 for_each_hw_engine(hwe, gt, id) { in __xe_gt_apply_ccs_mode() 77 xe_mmio_write32(gt, CCS_MODE, mode); in __xe_gt_apply_ccs_mode() 85 if (!gt->ccs_mode || IS_SRIOV_VF(gt_to_xe(gt))) in xe_gt_apply_ccs_mode() 88 __xe_gt_apply_ccs_mode(gt, gt->ccs_mode); in xe_gt_apply_ccs_mode() 149 if (gt->ccs_mode != num_engines) { in ccs_mode_store() 151 gt->ccs_mode = num_engines; in ccs_mode_store() 152 xe_gt_record_user_engines(gt); in ccs_mode_store() 153 xe_gt_reset_async(gt); in ccs_mode_store() 171 struct xe_gt *gt = arg; in xe_gt_ccs_mode_sysfs_fini() local [all …]
|
| A D | xe_gt.h | 22 #define CCS_MASK(gt) (((gt)->info.engine_mask & XE_HW_ENGINE_CCS_MASK) >> XE_HW_ENGINE_CCS0) argument 31 int xe_gt_init_hwconfig(struct xe_gt *gt); 32 int xe_gt_init_early(struct xe_gt *gt); 33 int xe_gt_init(struct xe_gt *gt); 50 int xe_gt_suspend(struct xe_gt *gt); 51 int xe_gt_resume(struct xe_gt *gt); 52 void xe_gt_reset_async(struct xe_gt *gt); 53 void xe_gt_sanitize(struct xe_gt *gt); 54 int xe_gt_sanitize_freq(struct xe_gt *gt); 55 void xe_gt_remove(struct xe_gt *gt); [all …]
|
| /linux/drivers/gpu/drm/i915/gt/ |
| A D | intel_gt_pm.c | 62 gt->stats.total = in runtime_end() 71 struct intel_gt *gt = container_of(wf, typeof(*gt), wakeref); in __gt_unpark() local 74 GT_TRACE(gt, "\n"); in __gt_unpark() 96 runtime_begin(gt); in __gt_unpark() 103 struct intel_gt *gt = container_of(wf, typeof(*gt), wakeref); in __gt_park() local 107 GT_TRACE(gt, "\n"); in __gt_park() 109 runtime_end(gt); in __gt_park() 113 i915_vma_parked(gt); in __gt_park() 142 intel_wakeref_init(>->wakeref, gt->i915, &wf_ops, "GT"); in intel_gt_pm_init_early() 143 seqcount_mutex_init(>->stats.lock, >->wakeref.mutex); in intel_gt_pm_init_early() [all …]
|
| A D | intel_gt.c | 68 if (!gt) in intel_root_gt_init_early() 71 i915->gt[0] = gt; in intel_root_gt_init_early() 119 gt->ggtt = to_gt(gt->i915)->ggtt; in intel_gt_assign_ggtt() 121 gt->ggtt = i915_ggtt_create(gt->i915); in intel_gt_assign_ggtt() 468 intel_gsc_init(>->gsc, gt->i915); in intel_gt_driver_register() 724 gt->vm = kernel_vm(gt); in intel_gt_init() 762 intel_migrate_init(>->migrate, gt); in intel_gt_init() 893 intel_uncore_init_early(gt->uncore, gt); in intel_gt_tile_setup() 926 gt_dbg(gt, "Setting up %s\n", gt->name); in intel_gt_probe_all() 949 gt_dbg(gt, "Setting up %s\n", gt->name); in intel_gt_probe_all() [all …]
|
| A D | intel_gt_pm.h | 21 intel_wakeref_get(>->wakeref); in intel_gt_pm_get_untracked() 26 intel_gt_pm_get_untracked(gt); in intel_gt_pm_get() 32 __intel_wakeref_get(>->wakeref); in __intel_gt_pm_get() 45 intel_wakeref_might_get(>->wakeref); in intel_gt_pm_might_get() 50 intel_wakeref_put(>->wakeref); in intel_gt_pm_put_untracked() 56 intel_gt_pm_put_untracked(gt); in intel_gt_pm_put() 61 intel_wakeref_put_async(>->wakeref); in intel_gt_pm_put_async_untracked() 72 intel_gt_pm_put_async_untracked(gt); in intel_gt_pm_put_async() 75 #define with_intel_gt_pm(gt, wf) \ argument 76 for (wf = intel_gt_pm_get(gt); wf; intel_gt_pm_put(gt, wf), wf = 0) [all …]
|
| A D | intel_gt_irq.c | 133 gt = pick_gt(gt, class, instance); in gen11_gt_identity_handler() 228 if (HAS_ENGINE(gt, BCS1) || HAS_ENGINE(gt, BCS2)) in gen11_gt_irq_reset() 230 if (HAS_ENGINE(gt, BCS3) || HAS_ENGINE(gt, BCS4)) in gen11_gt_irq_reset() 232 if (HAS_ENGINE(gt, BCS5) || HAS_ENGINE(gt, BCS6)) in gen11_gt_irq_reset() 234 if (HAS_ENGINE(gt, BCS7) || HAS_ENGINE(gt, BCS8)) in gen11_gt_irq_reset() 238 if (HAS_ENGINE(gt, VCS4) || HAS_ENGINE(gt, VCS5)) in gen11_gt_irq_reset() 240 if (HAS_ENGINE(gt, VCS6) || HAS_ENGINE(gt, VCS7)) in gen11_gt_irq_reset() 245 if (HAS_ENGINE(gt, CCS0) || HAS_ENGINE(gt, CCS1)) in gen11_gt_irq_reset() 348 gt->pm_imr = ~gt->pm_ier; in gen11_gt_irq_postinstall() 478 gt->pm_imr = ~gt->pm_ier; in gen8_gt_irq_postinstall() [all …]
|
| A D | intel_reset.c | 308 GT_TRACE(gt, in gen6_hw_domain_reset() 650 __gen11_reset_engines(gt, gt->info.engine_mask, 0); in gen8_reset_engines() 739 __reset_guc(gt); in wa_14015076503_start() 905 revoke_mmaps(gt); in gt_revoke() 1204 GT_TRACE(gt, "flags=%lx\n", gt->reset.flags); in intel_gt_reset() 1213 gt_revoke(gt); in intel_gt_reset() 1324 struct intel_gt *gt = engine->gt; in __intel_engine_reset_bh() local 1478 intel_has_reset_engine(gt) && !intel_gt_is_wedged(gt)) { in intel_gt_handle_error() 1637 i915_gem_shrinker_taints_mutex(gt->i915, >->reset.mutex); in intel_gt_init_reset() 1661 w->gt = gt; in __intel_init_wedge() [all …]
|
| A D | intel_gt_mcr.c | 114 spin_lock_init(>->mcr_lock); in intel_gt_mcr_init() 121 gt->info.mslice_mask = in intel_gt_mcr_init() 124 gt->info.mslice_mask |= in intel_gt_mcr_init() 166 gt->info.l3bank_mask = in intel_gt_mcr_init() 300 intel_gt_mcr_lock(gt, &flags); in rw_with_mcr_steering() 328 __acquires(>->mcr_lock) in intel_gt_mcr_lock() 391 __releases(>->mcr_lock) in intel_gt_mcr_unlock() 477 intel_gt_mcr_lock(gt, &flags); in intel_gt_mcr_multicast_write() 636 if ((VDBOX_MASK(gt) | VEBOX_MASK(gt) | gt->info.sfc_mask) & BIT(0)) in get_nonterminated_steering() 743 struct intel_gt *gt, in report_steering_type() argument [all …]
|
| A D | intel_gt.h | 20 #define IS_GFX_GT_IP_RANGE(gt, from, until) ( \ argument 23 ((gt)->type != GT_MEDIA && \ 24 GRAPHICS_VER_FULL((gt)->i915) >= (from) && \ 25 GRAPHICS_VER_FULL((gt)->i915) <= (until))) 37 ((gt) && (gt)->type == GT_MEDIA && \ 38 MEDIA_VER_FULL((gt)->i915) >= (from) && \ 39 MEDIA_VER_FULL((gt)->i915) <= (until))) 79 #define GT_TRACE(gt, fmt, ...) do { \ argument 87 return !gt->info.id; in gt_is_root() 129 return >->uc.guc; in gt_to_guc() [all …]
|
| A D | intel_gt_pm_irq.c | 17 u32 mask = gt->pm_imr; in write_pm_imr() 40 lockdep_assert_held(gt->irq_lock); in gen6_gt_pm_update_irq() 42 new_val = gt->pm_imr; in gen6_gt_pm_update_irq() 46 if (new_val != gt->pm_imr) { in gen6_gt_pm_update_irq() 47 gt->pm_imr = new_val; in gen6_gt_pm_update_irq() 48 write_pm_imr(gt); in gen6_gt_pm_update_irq() 78 u32 mask = gt->pm_ier; in write_pm_ier() 97 gt->pm_ier |= enable_mask; in gen6_gt_pm_enable_irq() 98 write_pm_ier(gt); in gen6_gt_pm_enable_irq() 106 gt->pm_ier &= ~disable_mask; in gen6_gt_pm_disable_irq() [all …]
|
| A D | selftest_reset.c | 51 igt_global_reset_lock(gt); in __igt_reset_stolen() 192 struct intel_gt *gt = arg; in igt_reset_engines_stolen() local 211 struct intel_gt *gt = arg; in igt_global_reset() local 218 igt_global_reset_lock(gt); in igt_global_reset() 241 struct intel_gt *gt = arg; in igt_wedged_reset() local 249 intel_gt_set_wedged(gt); in igt_wedged_reset() 273 if (!igt_force_reset(gt)) in igt_atomic_reset() 287 reset_finish(gt, awake); in igt_atomic_reset() 296 igt_force_reset(gt); in igt_atomic_reset() 326 if (!igt_force_reset(gt)) in igt_atomic_engine_reset() [all …]
|
| A D | intel_tlb.c | 63 intel_gt_mcr_lock(gt, &flags); in mmio_invalidate_full() 67 for_each_engine(engine, gt, id) { in mmio_invalidate_full() 72 intel_gt_mcr_multicast_write_fw(gt, in mmio_invalidate_full() 95 intel_gt_mcr_unlock(gt, flags); in mmio_invalidate_full() 99 gt_err_ratelimited(gt, in mmio_invalidate_full() 115 u32 cur = intel_gt_tlb_seqno(gt); in tlb_seqno_passed() 128 if (intel_gt_is_wedged(gt)) in intel_gt_invalidate_tlb_full() 131 if (tlb_seqno_passed(gt, seqno)) in intel_gt_invalidate_tlb_full() 138 if (tlb_seqno_passed(gt, seqno)) in intel_gt_invalidate_tlb_full() 151 mmio_invalidate_full(gt); in intel_gt_invalidate_tlb_full() [all …]
|
| /linux/drivers/gpu/drm/xe/tests/ |
| A D | xe_gt_sriov_pf_service_test.c | 20 struct xe_gt *gt; in pf_service_test_init() local 28 gt = xe_device_get_gt(xe, 0); in pf_service_test_init() 29 pf_init_versions(gt); in pf_service_test_init() 40 if (gt->sriov.pf.service.version.base.major == gt->sriov.pf.service.version.latest.major) in pf_service_test_init() 44 test->priv = gt; in pf_service_test_init() 67 pf_negotiate_version(gt, in pf_negotiate_base_match() 81 pf_negotiate_version(gt, in pf_negotiate_base_newer() 99 pf_negotiate_version(gt, in pf_negotiate_base_next() 119 pf_negotiate_version(gt, in pf_negotiate_base_older() 131 pf_negotiate_version(gt, in pf_negotiate_base_prev() [all …]
|
| /linux/drivers/gpu/drm/i915/ |
| A D | Makefile | 74 gt-y += \ 77 gt/gen6_ppgtt.o \ 91 gt/intel_gt.o \ 105 gt/intel_gtt.o \ 106 gt/intel_llc.o \ 107 gt/intel_lrc.o \ 111 gt/intel_rc6.o \ 117 gt/intel_rps.o \ 122 gt/intel_tlb.o \ 132 gt-y += \ [all …]
|