| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_pm.c | 132 int xe_pm_block_on_suspend(struct xe_device *xe) in xe_pm_block_on_suspend() argument 136 return wait_for_completion_interruptible(&xe->pm_block); in xe_pm_block_on_suspend() 146 bool xe_rpm_reclaim_safe(const struct xe_device *xe) in xe_rpm_reclaim_safe() argument 148 return !xe->d3cold.capable; in xe_rpm_reclaim_safe() 151 static void xe_rpm_lockmap_acquire(const struct xe_device *xe) in xe_rpm_lockmap_acquire() argument 153 lock_map_acquire(xe_rpm_reclaim_safe(xe) ? in xe_rpm_lockmap_acquire() 158 static void xe_rpm_lockmap_release(const struct xe_device *xe) in xe_rpm_lockmap_release() argument 160 lock_map_release(xe_rpm_reclaim_safe(xe) ? in xe_rpm_lockmap_release() 171 int xe_pm_suspend(struct xe_device *xe) in xe_pm_suspend() argument 177 drm_dbg(&xe->drm, "Suspending device\n"); in xe_pm_suspend() [all …]
|
| H A D | xe_device.c | 84 struct xe_device *xe = to_xe_device(dev); in xe_file_open() local 102 xef->xe = xe; in xe_file_open() 165 struct xe_device *xe = to_xe_device(dev); in xe_file_close() local 171 guard(xe_pm_runtime)(xe); in xe_file_close() 221 struct xe_device *xe = to_xe_device(file_priv->minor->dev); in xe_drm_ioctl() local 224 if (xe_device_wedged(xe)) in xe_drm_ioctl() 227 ACQUIRE(xe_pm_runtime_ioctl, pm)(xe); in xe_drm_ioctl() 239 struct xe_device *xe = to_xe_device(file_priv->minor->dev); in xe_drm_compat_ioctl() local 242 if (xe_device_wedged(xe)) in xe_drm_compat_ioctl() 245 ACQUIRE(xe_pm_runtime_ioctl, pm)(xe); in xe_drm_compat_ioctl() [all …]
|
| H A D | xe_bo_evict.c | 15 static int xe_bo_apply_to_pinned(struct xe_device *xe, in xe_bo_apply_to_pinned() argument 24 spin_lock(&xe->pinned.lock); in xe_bo_apply_to_pinned() 32 spin_unlock(&xe->pinned.lock); in xe_bo_apply_to_pinned() 36 spin_lock(&xe->pinned.lock); in xe_bo_apply_to_pinned() 44 spin_unlock(&xe->pinned.lock); in xe_bo_apply_to_pinned() 47 spin_lock(&xe->pinned.lock); in xe_bo_apply_to_pinned() 50 spin_unlock(&xe->pinned.lock); in xe_bo_apply_to_pinned() 64 int xe_bo_notifier_prepare_all_pinned(struct xe_device *xe) in xe_bo_notifier_prepare_all_pinned() argument 68 ret = xe_bo_apply_to_pinned(xe, &xe->pinned.early.kernel_bo_present, in xe_bo_notifier_prepare_all_pinned() 69 &xe->pinned.early.kernel_bo_present, in xe_bo_notifier_prepare_all_pinned() [all …]
|
| H A D | xe_sriov_pf_migration.c | 19 static struct xe_sriov_migration_state *pf_pick_migration(struct xe_device *xe, unsigned int vfid) in pf_pick_migration() argument 21 xe_assert(xe, IS_SRIOV_PF(xe)); in pf_pick_migration() 22 xe_assert(xe, vfid <= xe_sriov_pf_get_totalvfs(xe)); in pf_pick_migration() 24 return &xe->sriov.pf.vfs[vfid].migration; in pf_pick_migration() 34 wait_queue_head_t *xe_sriov_pf_migration_waitqueue(struct xe_device *xe, unsigned int vfid) in xe_sriov_pf_migration_waitqueue() argument 36 return &pf_pick_migration(xe, vfid)->wq; in xe_sriov_pf_migration_waitqueue() 45 bool xe_sriov_pf_migration_supported(struct xe_device *xe) in xe_sriov_pf_migration_supported() argument 47 xe_assert(xe, IS_SRIOV_PF(xe)); in xe_sriov_pf_migration_supported() 49 return IS_ENABLED(CONFIG_DRM_XE_DEBUG) || !xe->sriov.pf.migration.disabled; in xe_sriov_pf_migration_supported() 57 void xe_sriov_pf_migration_disable(struct xe_device *xe, const char *fmt, ...) in xe_sriov_pf_migration_disable() argument [all …]
|
| H A D | xe_pci.c | 575 find_subplatform(const struct xe_device *xe, const struct xe_device_desc *desc) in find_subplatform() argument 582 if (*id == xe->info.devid) in find_subplatform() 593 static int read_gmdid(struct xe_device *xe, enum xe_gmdid_type type, u32 *ver, u32 *revid) in read_gmdid() argument 595 struct xe_mmio *mmio = xe_root_tile_mmio(xe); in read_gmdid() 599 KUNIT_STATIC_STUB_REDIRECT(read_gmdid, xe, type, ver, revid); in read_gmdid() 601 if (IS_SRIOV_VF(xe)) { in read_gmdid() 616 if (type == GMDID_MEDIA && !xe_configfs_media_gt_allowed(to_pci_dev(xe->drm.dev))) { in read_gmdid() 625 gt->tile = &xe->tiles[0]; in read_gmdid() 687 static int handle_gmdid(struct xe_device *xe, in handle_gmdid() argument 699 ret = read_gmdid(xe, GMDID_GRAPHICS, &ver, graphics_revid); in handle_gmdid() [all …]
|
| H A D | xe_sriov_pf_service.c | 24 void xe_sriov_pf_service_init(struct xe_device *xe) in xe_sriov_pf_service_init() argument 29 xe_assert(xe, IS_SRIOV_PF(xe)); in xe_sriov_pf_service_init() 32 xe->sriov.pf.service.version.base.major = GUC_RELAY_VERSION_BASE_MAJOR; in xe_sriov_pf_service_init() 33 xe->sriov.pf.service.version.base.minor = GUC_RELAY_VERSION_BASE_MINOR; in xe_sriov_pf_service_init() 36 xe->sriov.pf.service.version.latest.major = GUC_RELAY_VERSION_LATEST_MAJOR; in xe_sriov_pf_service_init() 37 xe->sriov.pf.service.version.latest.minor = GUC_RELAY_VERSION_LATEST_MINOR; in xe_sriov_pf_service_init() 41 static int pf_negotiate_version(struct xe_device *xe, in pf_negotiate_version() argument 45 struct xe_sriov_pf_service_version base = xe->sriov.pf.service.version.base; in pf_negotiate_version() 46 struct xe_sriov_pf_service_version latest = xe->sriov.pf.service.version.latest; in pf_negotiate_version() 48 xe_assert(xe, IS_SRIOV_PF(xe)); in pf_negotiate_version() [all …]
|
| H A D | xe_sriov_packet.c | 15 static struct mutex *pf_migration_mutex(struct xe_device *xe, unsigned int vfid) in pf_migration_mutex() argument 17 xe_assert(xe, IS_SRIOV_PF(xe)); in pf_migration_mutex() 18 xe_assert(xe, vfid <= xe_sriov_pf_get_totalvfs(xe)); in pf_migration_mutex() 20 return &xe->sriov.pf.vfs[vfid].migration.lock; in pf_migration_mutex() 23 static struct xe_sriov_packet **pf_pick_pending(struct xe_device *xe, unsigned int vfid) in pf_pick_pending() argument 25 xe_assert(xe, IS_SRIOV_PF(xe)); in pf_pick_pending() 26 xe_assert(xe, vfid <= xe_sriov_pf_get_totalvfs(xe)); in pf_pick_pending() 27 lockdep_assert_held(pf_migration_mutex(xe, vfid)); in pf_pick_pending() 29 return &xe->sriov.pf.vfs[vfid].migration.pending; in pf_pick_pending() 33 pf_pick_descriptor(struct xe_device *xe, unsigned int vfid) in pf_pick_descriptor() argument [all …]
|
| H A D | xe_sriov_vf_ccs.c | 121 static u64 get_ccs_bb_pool_size(struct xe_device *xe) in get_ccs_bb_pool_size() argument 128 ccs_mem_size = div64_u64(sys_mem_size, NUM_BYTES_PER_CCS_BYTE(xe)); in get_ccs_bb_pool_size() 145 struct xe_device *xe = tile_to_xe(tile); in alloc_bb_pool() local 150 bb_pool_size = get_ccs_bb_pool_size(xe); in alloc_bb_pool() 151 xe_sriov_info(xe, "Allocating %s CCS BB pool size = %lldMB\n", in alloc_bb_pool() 157 xe_sriov_err(xe, "xe_mem_pool_init failed with error: %pe\n", in alloc_bb_pool() 212 void xe_sriov_vf_ccs_rebase(struct xe_device *xe) in xe_sriov_vf_ccs_rebase() argument 216 if (!IS_VF_CCS_READY(xe)) in xe_sriov_vf_ccs_rebase() 221 &xe->sriov.vf.ccs.contexts[ctx_id]; in xe_sriov_vf_ccs_rebase() 255 int xe_sriov_vf_ccs_register_context(struct xe_device *xe) in xe_sriov_vf_ccs_register_context() argument [all …]
|
| H A D | xe_pm.h | 16 int xe_pm_suspend(struct xe_device *xe); 17 int xe_pm_resume(struct xe_device *xe); 19 int xe_pm_init_early(struct xe_device *xe); 20 int xe_pm_init(struct xe_device *xe); 21 void xe_pm_fini(struct xe_device *xe); 22 bool xe_pm_runtime_suspended(struct xe_device *xe); 23 int xe_pm_runtime_suspend(struct xe_device *xe); 24 int xe_pm_runtime_resume(struct xe_device *xe); 25 void xe_pm_runtime_get(struct xe_device *xe); 26 int xe_pm_runtime_get_ioctl(struct xe_device *xe); [all …]
|
| H A D | xe_heci_gsc.c | 108 static int heci_gsc_irq_setup(struct xe_device *xe) in heci_gsc_irq_setup() argument 110 struct xe_heci_gsc *heci_gsc = &xe->heci_gsc; in heci_gsc_irq_setup() 115 drm_err(&xe->drm, "gsc irq error %d\n", heci_gsc->irq); in heci_gsc_irq_setup() 121 drm_err(&xe->drm, "gsc irq init failed %d\n", ret); in heci_gsc_irq_setup() 126 static int heci_gsc_add_device(struct xe_device *xe, const struct heci_gsc_def *def) in heci_gsc_add_device() argument 128 struct xe_heci_gsc *heci_gsc = &xe->heci_gsc; in heci_gsc_add_device() 129 struct pci_dev *pdev = to_pci_dev(xe->drm.dev); in heci_gsc_add_device() 154 drm_err(&xe->drm, "gsc aux init failed %d\n", ret); in heci_gsc_add_device() 162 drm_err(&xe->drm, "gsc aux add failed %d\n", ret); in heci_gsc_add_device() 171 int xe_heci_gsc_init(struct xe_device *xe) in xe_heci_gsc_init() argument [all …]
|
| H A D | xe_vm_madvise.c | 60 vm_dbg(&vm->xe->drm, "VMA's in range: start=0x%016llx, end=0x%016llx", addr, addr + range); in get_vmas() 89 vm_dbg(&vm->xe->drm, "madvise_range-num_vmas = %d\n", madvise_range->num_vmas); in get_vmas() 94 static void madvise_preferred_mem_loc(struct xe_device *xe, struct xe_vm *vm, in madvise_preferred_mem_loc() argument 101 xe_assert(vm->xe, op->type == DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC); in madvise_preferred_mem_loc() 127 static void madvise_atomic(struct xe_device *xe, struct xe_vm *vm, in madvise_atomic() argument 135 xe_assert(vm->xe, op->type == DRM_XE_MEM_RANGE_ATTR_ATOMIC); in madvise_atomic() 136 xe_assert(vm->xe, op->atomic.val <= DRM_XE_ATOMIC_CPU); in madvise_atomic() 141 xe->info.has_device_atomics_on_smem)) { in madvise_atomic() 169 static void madvise_pat_index(struct xe_device *xe, struct xe_vm *vm, in madvise_pat_index() argument 176 xe_assert(vm->xe, op->type == DRM_XE_MEM_RANGE_ATTR_PAT); in madvise_pat_index() [all …]
|
| H A D | xe_bo.c | 95 static bool resource_is_stolen_vram(struct xe_device *xe, struct ttm_resource *res) in resource_is_stolen_vram() argument 97 return res->mem_type == XE_PL_STOLEN && IS_DGFX(xe); in resource_is_stolen_vram() 167 mem_type_to_migrate(struct xe_device *xe, u32 mem_type) in mem_type_to_migrate() argument 171 xe_assert(xe, mem_type == XE_PL_STOLEN || mem_type_is_vram(mem_type)); in mem_type_to_migrate() 172 tile = &xe->tiles[mem_type == XE_PL_STOLEN ? 0 : (mem_type - XE_PL_VRAM0)]; in mem_type_to_migrate() 178 struct xe_device *xe = ttm_to_xe_device(res->bo->bdev); in res_to_mem_region() local 182 xe_assert(xe, resource_is_vram(res)); in res_to_mem_region() 183 mgr = ttm_manager_type(&xe->ttm, res->mem_type); in res_to_mem_region() 189 static void try_add_system(struct xe_device *xe, struct xe_bo *bo, in try_add_system() argument 193 xe_assert(xe, *c < ARRAY_SIZE(bo->placements)); in try_add_system() [all …]
|
| H A D | xe_late_bind_fw.c | 58 struct xe_device *xe = late_bind_fw_to_xe(lb_fw); in parse_cpd_header() local 67 xe_assert(xe, manifest_entry); in parse_cpd_header() 73 drm_err(&xe->drm, "%s late binding fw: Invalid CPD header length %u!\n", in parse_cpd_header() 80 drm_err(&xe->drm, "%s late binding fw: too small! %zu < %zu\n", in parse_cpd_header() 92 drm_err(&xe->drm, "%s late binding fw: Failed to find manifest_entry\n", in parse_cpd_header() 99 drm_err(&xe->drm, "%s late binding fw: too small! %zu < %zu\n", in parse_cpd_header() 115 struct xe_device *xe = late_bind_fw_to_xe(lb_fw); in parse_lb_layout() local 123 xe_assert(xe, fpt_entry); in parse_lb_layout() 129 drm_err(&xe->drm, "%s late binding fw: Invalid FPT header length %u!\n", in parse_lb_layout() 136 drm_err(&xe->drm, "%s late binding fw: too small! %zu < %zu\n", in parse_lb_layout() [all …]
|
| H A D | xe_exec_queue.c | 110 static int exec_queue_user_extensions(struct xe_device *xe, struct xe_exec_queue *q, 167 static int alloc_dep_schedulers(struct xe_device *xe, struct xe_exec_queue *q) in alloc_dep_schedulers() argument 188 dep_scheduler = xe_dep_scheduler_create(xe, wq, q->name, in alloc_dep_schedulers() 200 static struct xe_exec_queue *__xe_exec_queue_alloc(struct xe_device *xe, in __xe_exec_queue_alloc() argument 249 err = alloc_dep_schedulers(xe, q); in __xe_exec_queue_alloc() 264 err = exec_queue_user_extensions(xe, q, extensions); in __xe_exec_queue_alloc() 419 struct xe_exec_queue *xe_exec_queue_create(struct xe_device *xe, struct xe_vm *vm, in xe_exec_queue_create() argument 428 …xe_assert(xe, !vm || (!!(vm->flags & XE_VM_FLAG_GSC) == !!(hwe->engine_id == XE_HW_ENGINE_GSCCS0))… in xe_exec_queue_create() 430 q = __xe_exec_queue_alloc(xe, vm, logical_mask, width, hwe, flags, in xe_exec_queue_create() 447 err = xe_pxp_exec_queue_add(xe->pxp, q); in xe_exec_queue_create() [all …]
|
| H A D | xe_pmu.c | 93 struct xe_device *xe = container_of(event->pmu, typeof(*xe), pmu.base); in event_to_gt() local 96 return xe_device_get_gt(xe, gt); in event_to_gt() 101 struct xe_device *xe = container_of(event->pmu, typeof(*xe), pmu.base); in event_to_hwe() local 110 hwe = xe_hw_engine_lookup(xe, eci); in event_to_hwe() 135 struct xe_device *xe = container_of(event->pmu, typeof(*xe), pmu.base); in event_gt_forcewake() local 143 gt = xe_device_get_gt(xe, config_to_gt_id(config)); in event_gt_forcewake() 163 struct xe_device *xe = container_of(pmu, typeof(*xe), pmu); in event_supported() local 164 struct xe_gt *gt = xe_device_get_gt(xe, gt_id); in event_supported() 175 struct xe_device *xe = container_of(event->pmu, typeof(*xe), pmu.base); in event_param_valid() local 180 gt = xe_device_get_gt(xe, config_to_gt_id(config)); in event_param_valid() [all …]
|
| H A D | xe_shrinker.c | 27 struct xe_device *xe; member 57 static s64 __xe_shrinker_walk(struct xe_device *xe, in __xe_shrinker_walk() argument 66 struct ttm_resource_manager *man = ttm_manager_type(&xe->ttm, mem_type); in __xe_shrinker_walk() 90 xe_assert(xe, !IS_ERR(ttm_bo)); in __xe_shrinker_walk() 102 static s64 xe_shrinker_walk(struct xe_device *xe, in xe_shrinker_walk() argument 113 lret = __xe_shrinker_walk(xe, ctx, save_flags, to_scan, scanned); in xe_shrinker_walk() 120 lret = __xe_shrinker_walk(xe, ctx, save_flags, to_scan, scanned); in xe_shrinker_walk() 129 lret = __xe_shrinker_walk(xe, ctx, flags, to_scan, scanned); in xe_shrinker_walk() 169 struct xe_device *xe = shrinker->xe; in xe_shrinker_runtime_pm_get() local 171 if (IS_DGFX(xe) || !xe_device_has_flat_ccs(xe) || in xe_shrinker_runtime_pm_get() [all …]
|
| H A D | xe_pxp.c | 47 bool xe_pxp_is_supported(const struct xe_device *xe) in xe_pxp_is_supported() argument 49 return xe->info.has_pxp && IS_ENABLED(CONFIG_INTEL_MEI_GSC_PROXY); in xe_pxp_is_supported() 103 guard(xe_pm_runtime)(pxp->xe); in xe_pxp_get_readiness_status() 135 drm_dbg(&pxp->xe->drm, "Terminating PXP\n"); in pxp_terminate_hw() 168 struct xe_device *xe = pxp->xe; in pxp_terminate() local 172 drm_err(&xe->drm, "failed to wait for PXP start before termination\n"); in pxp_terminate() 208 drm_err(&xe->drm, "PXP termination failed: %pe\n", ERR_PTR(ret)); in pxp_terminate() 240 drm_err(&pxp->xe->drm, in pxp_terminate_complete() 253 struct xe_device *xe = pxp->xe; in pxp_irq_work() local 256 spin_lock_irq(&xe->irq.lock); in pxp_irq_work() [all …]
|
| H A D | xe_pagefault.c | 91 needs_vram = xe_vma_need_vram_for_atomic(vm->xe, vma, atomic); in xe_pagefault_handle_vma() 117 xe_validation_ctx_init(&ctx, &vm->xe->val, &exec, (struct xe_val_flags) {}); in xe_pagefault_handle_vma() 155 static struct xe_vm *xe_pagefault_asid_to_vm(struct xe_device *xe, u32 asid) in xe_pagefault_asid_to_vm() argument 159 down_read(&xe->usm.lock); in xe_pagefault_asid_to_vm() 160 vm = xa_load(&xe->usm.asid_to_vm, asid); in xe_pagefault_asid_to_vm() 165 up_read(&xe->usm.lock); in xe_pagefault_asid_to_vm() 173 struct xe_device *xe = gt_to_xe(gt); in xe_pagefault_service() local 183 vm = xe_pagefault_asid_to_vm(xe, pf->consumer.asid); in xe_pagefault_service() 266 static void xe_pagefault_save_to_vm(struct xe_device *xe, struct xe_pagefault *pf) in xe_pagefault_save_to_vm() argument 275 down_read(&xe->usm.lock); in xe_pagefault_save_to_vm() [all …]
|
| H A D | xe_vm.c | 115 bool vf_migration = IS_SRIOV_VF(vm->xe) && in wait_for_existing_preempt_fences() 116 xe_sriov_vf_migration_supported(vm->xe); in wait_for_existing_preempt_fences() 128 xe_assert(vm->xe, vf_migration); in wait_for_existing_preempt_fences() 166 xe_assert(vm->xe, link != list); in arm_preempt_fences() 229 xe_assert(vm->xe, xe_vm_in_preempt_fence_mode(vm)); in xe_vm_add_compute_exec_queue() 232 err = xe_validation_exec_lock(&ctx, &vm_exec, &vm->xe->val); in xe_vm_add_compute_exec_queue() 346 if (!try_wait_for_completion(&vm->xe->pm_block)) in xe_gpuvm_validate() 437 struct xe_device *xe = vm->xe; in vm_suspend_rebind_worker() local 440 mutex_lock(&xe->rebind_resume_lock); in vm_suspend_rebind_worker() 441 if (!try_wait_for_completion(&vm->xe->pm_block)) { in vm_suspend_rebind_worker() [all …]
|
| H A D | xe_migrate.c | 127 static u64 xe_migrate_vram_ofs(struct xe_device *xe, u64 addr, bool is_comp_pte) in xe_migrate_vram_ofs() argument 135 if (GRAPHICS_VER(xe) >= 20 && is_comp_pte) in xe_migrate_vram_ofs() 137 (xe->mem.vram), SZ_1G); in xe_migrate_vram_ofs() 139 addr -= xe_vram_region_dpa_base(xe->mem.vram); in xe_migrate_vram_ofs() 143 static void xe_migrate_program_identity(struct xe_device *xe, struct xe_vm *vm, struct xe_bo *bo, in xe_migrate_program_identity() argument 146 struct xe_vram_region *vram = xe->mem.vram; in xe_migrate_program_identity() 155 flags = vm->pt_ops->pte_encode_addr(xe, 0, pat_index, level, in xe_migrate_program_identity() 158 xe_assert(xe, IS_ALIGNED(xe_vram_region_usable_size(vram), SZ_2M)); in xe_migrate_program_identity() 169 xe_map_wr(xe, &bo->vmap, ofs, u64, entry); in xe_migrate_program_identity() 171 flags = vm->pt_ops->pte_encode_addr(xe, 0, in xe_migrate_program_identity() [all …]
|
| /linux/drivers/gpu/drm/xe/tests/ |
| H A D | xe_sriov_pf_service_kunit.c | 19 struct xe_device *xe; in pf_service_test_init() local 24 xe = test->priv; in pf_service_test_init() 25 KUNIT_ASSERT_EQ(test, xe_sriov_init(xe), 0); in pf_service_test_init() 27 xe_sriov_pf_service_init(xe); in pf_service_test_init() 33 KUNIT_ASSERT_NE(test, 0, xe->sriov.pf.service.version.base.major); in pf_service_test_init() 34 KUNIT_ASSERT_NE(test, 0, xe->sriov.pf.service.version.latest.major); in pf_service_test_init() 35 KUNIT_ASSERT_LE(test, xe->sriov.pf.service.version.base.major, in pf_service_test_init() 36 xe->sriov.pf.service.version.latest.major); in pf_service_test_init() 37 if (xe->sriov.pf.service.version.base.major == xe->sriov.pf.service.version.latest.major) in pf_service_test_init() 38 KUNIT_ASSERT_LE(test, xe->sriov.pf.service.version.base.minor, in pf_service_test_init() [all …]
|
| H A D | xe_kunit_helpers.c | 36 struct xe_device *xe; in xe_kunit_helper_alloc_xe_device() local 38 xe = drm_kunit_helper_alloc_drm_device(test, dev, in xe_kunit_helper_alloc_xe_device() 41 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, xe); in xe_kunit_helper_alloc_xe_device() 42 return xe; in xe_kunit_helper_alloc_xe_device() 73 struct xe_device *xe; in xe_kunit_helper_xe_device_test_init() local 80 xe = xe_kunit_helper_alloc_xe_device(test, dev); in xe_kunit_helper_xe_device_test_init() 81 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, xe); in xe_kunit_helper_xe_device_test_init() 83 err = xe_pci_fake_device_init(xe); in xe_kunit_helper_xe_device_test_init() 89 test->priv = xe; in xe_kunit_helper_xe_device_test_init() 117 struct xe_device *xe = xe_device_const_cast(test->param_value); in xe_kunit_helper_xe_device_live_test_init() local [all …]
|
| H A D | xe_bo.c | 127 static void ccs_test_run_tile(struct xe_device *xe, struct xe_tile *tile, in ccs_test_run_tile() argument 138 if (IS_DGFX(xe)) in ccs_test_run_tile() 143 bo = xe_bo_create_user(xe, NULL, SZ_1M, DRM_XE_GEM_CPU_CACHING_WC, in ccs_test_run_tile() 172 static int ccs_test_run_device(struct xe_device *xe) in ccs_test_run_device() argument 178 if (!xe_device_has_flat_ccs(xe)) { in ccs_test_run_device() 184 if (GRAPHICS_VER(xe) >= 20 && IS_DGFX(xe)) { in ccs_test_run_device() 189 guard(xe_pm_runtime)(xe); in ccs_test_run_device() 190 for_each_tile(tile, xe, id) { in ccs_test_run_device() 192 if (!IS_DGFX(xe) && id > 0) in ccs_test_run_device() 194 ccs_test_run_tile(xe, tile, test); in ccs_test_run_device() [all …]
|
| /linux/drivers/gpu/drm/xe/display/ |
| H A D | xe_hdcp_gsc.c | 27 struct xe_device *xe; member 37 struct xe_device *xe = to_xe_device(drm); in intel_hdcp_gsc_check_status() local 38 struct xe_tile *tile = xe_device_get_root_tile(xe); in intel_hdcp_gsc_check_status() 43 drm_dbg_kms(&xe->drm, in intel_hdcp_gsc_check_status() 51 drm_dbg_kms(&xe->drm, in intel_hdcp_gsc_check_status() 56 guard(xe_pm_runtime)(xe); in intel_hdcp_gsc_check_status() 59 drm_dbg_kms(&xe->drm, in intel_hdcp_gsc_check_status() 68 static int intel_hdcp_gsc_initialize_message(struct xe_device *xe, in intel_hdcp_gsc_initialize_message() argument 76 bo = xe_bo_create_pin_map_novm(xe, xe_device_get_root_tile(xe), PAGE_SIZE * 2, in intel_hdcp_gsc_initialize_message() 82 drm_err(&xe->drm, "Failed to allocate bo for HDCP streaming command!\n"); in intel_hdcp_gsc_initialize_message() [all …]
|
| H A D | xe_stolen.c | 12 struct xe_device *xe; member 19 struct xe_device *xe = node->xe; in xe_stolen_insert_node_in_range() local 33 bo = xe_bo_create_pin_range_novm(xe, xe_device_get_root_tile(xe), in xe_stolen_insert_node_in_range() 54 struct xe_device *xe = to_xe_device(drm); in xe_stolen_initialized() local 56 return ttm_manager_type(&xe->ttm, XE_PL_STOLEN); in xe_stolen_initialized() 74 struct xe_device *xe = node->xe; in xe_stolen_node_address() local 76 return xe_ttm_stolen_gpu_offset(xe) + xe_stolen_node_offset(node); in xe_stolen_node_address() 86 struct xe_device *xe = to_xe_device(drm); in xe_stolen_node_alloc() local 93 node->xe = xe; in xe_stolen_node_alloc()
|