| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_pagefault.c | 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() 219 vm->usm.last_fault_vma = vma; in xe_pagefault_service() 275 down_read(&xe->usm.lock); in xe_pagefault_save_to_vm() 276 vm = xa_load(&xe->usm.asid_to_vm, pf->consumer.asid); in xe_pagefault_save_to_vm() 281 up_read(&xe->usm.lock); in xe_pagefault_save_to_vm() 324 queue_work(gt_to_xe(pf.gt)->usm.pf_wq, w); in xe_pagefault_queue_work() 382 destroy_workqueue(xe->usm.pf_wq); in xe_pagefault_fini() 400 xe->usm.pf_wq = alloc_workqueue("xe_page_fault_work_queue", in xe_pagefault_init() [all …]
|
| H A D | xe_device.c | 483 init_rwsem(&xe->usm.lock); in xe_device_create() 489 xa_init_flags(&xe->usm.asid_to_vm, XA_FLAGS_ALLOC); in xe_device_create() 496 err = xa_alloc_cyclic(&xe->usm.asid_to_vm, &asid, NULL, in xe_device_create() 498 &xe->usm.next_asid, GFP_KERNEL); in xe_device_create() 501 xa_erase(&xe->usm.asid_to_vm, asid); in xe_device_create() 1423 down_read(&xe->usm.lock); in xe_device_asid_to_vm() 1424 vm = xa_load(&xe->usm.asid_to_vm, asid); in xe_device_asid_to_vm() 1429 up_read(&xe->usm.lock); in xe_device_asid_to_vm()
|
| H A D | xe_migrate.c | 266 batch = tile->primary_gt->usm.bb_pool->bo; in xe_migrate_prepare_vm() 287 batch = tile->primary_gt->usm.bb_pool->bo; in xe_migrate_prepare_vm() 483 primary_gt->usm.reserved_bcs_instance, in xe_migrate_init() 817 static u64 xe_migrate_batch_base(struct xe_migrate *m, bool usm) in xe_migrate_batch_base() argument 819 return usm ? m->usm_batch_base_ofs : m->batch_base_ofs; in xe_migrate_batch_base() 932 bool usm = xe->info.has_usm; in __xe_migrate_copy() local 972 bb = xe_bb_new(gt, batch_size, usm); in __xe_migrate_copy() 1007 xe_migrate_batch_base(m, usm), in __xe_migrate_copy() 1394 bool usm = xe->info.has_usm; in xe_migrate_vram_copy_chunk() local 1410 bb = xe_bb_new(gt, batch_size, usm); in xe_migrate_vram_copy_chunk() [all …]
|
| H A D | xe_svm.c | 95 (operation__), range_to_vm(&(r__)->base)->usm.asid, \ 145 queue_work(xe->usm.pf_wq, &vm->svm.garbage_collector.work); in xe_svm_garbage_collector_add_range() 242 vm->usm.asid, gpusvm, notifier->notifier.invalidate_seq, in xe_svm_invalidate() 281 err = xe_tlb_inval_range_tilemask_submit(xe, vm->usm.asid, adj_start, adj_end, in xe_svm_invalidate() 1283 vm->usm.asid, ERR_PTR(err)); 1298 vm->usm.asid, ERR_PTR(err)); 1315 vm->usm.asid, &vm->svm.gpusvm, ERR_PTR(err)); 1321 vm->usm.asid, &vm->svm.gpusvm, ERR_PTR(err)); 1917 xe->usm.dpagemap_shrinker = drm_pagemap_shrinker_create_devm(&xe->drm); in xe_pagemap_shrinker_create() 1918 return PTR_ERR_OR_ZERO(xe->usm.dpagemap_shrinker); in xe_pagemap_shrinker_create() [all …]
|
| H A D | xe_trace_bo.h | 106 __entry->asid = xe_vma_vm(vma)->usm.asid; 202 __entry->asid = vm->usm.asid;
|
| H A D | xe_gt_types.h | 237 } usm; member
|
| H A D | xe_vm.c | 1336 if (vm->usm.last_fault_vma == vma) in xe_vm_remove_vma() 1337 vm->usm.last_fault_vma = NULL; in xe_vm_remove_vma() 1793 down_write(&xe->usm.lock); in xe_vm_create() 1794 err = xa_alloc_cyclic(&xe->usm.asid_to_vm, &asid, vm, in xe_vm_create() 1796 &xe->usm.next_asid, GFP_NOWAIT); in xe_vm_create() 1797 up_write(&xe->usm.lock); in xe_vm_create() 1801 vm->usm.asid = asid; in xe_vm_create() 1963 down_write(&xe->usm.lock); in xe_vm_close_and_put() 1964 if (vm->usm.asid) { in xe_vm_close_and_put() 1970 lookup = xa_erase(&xe->usm.asid_to_vm, vm->usm.asid); in xe_vm_close_and_put() [all …]
|
| H A D | xe_vm_types.h | 358 } usm; member
|
| H A D | xe_gt.c | 661 gt->usm.bb_pool = xe_sa_bo_manager_init(gt_to_tile(gt), in gt_init_with_all_forcewake() 663 if (IS_ERR(gt->usm.bb_pool)) in gt_init_with_all_forcewake() 664 return PTR_ERR(gt->usm.bb_pool); in gt_init_with_all_forcewake()
|
| H A D | xe_tlb_inval_job.c | 63 job->end, job->vm->usm.asid, prl_sa); in xe_tlb_inval_job_run()
|
| H A D | xe_hw_engine.c | 645 gt->usm.reserved_bcs_instance = hwe->instance; in hw_engine_init() 1039 hwe->instance == gt->usm.reserved_bcs_instance; in xe_hw_engine_is_reserved()
|
| H A D | xe_vm_madvise.c | 327 err = xe_tlb_inval_range_tilemask_submit(vm->xe, vm->usm.asid, start, end, in xe_vm_invalidate_madvise_range()
|
| H A D | xe_exec_queue.c | 531 gt->usm.reserved_bcs_instance, in xe_exec_queue_create_bind()
|
| H A D | xe_lrc.c | 1561 xe_lrc_write_ctx_reg(lrc, CTX_ASID, vm->usm.asid); in xe_lrc_ctx_init()
|
| /linux/arch/powerpc/mm/ |
| H A D | drmem.c | 219 __walk_drmem_v1_lmbs(const __be32 *prop, const __be32 *usm, void *data, in __walk_drmem_v1_lmbs() argument 229 ret = func(&lmb, &usm, data); in __walk_drmem_v1_lmbs() 253 __walk_drmem_v2_lmbs(const __be32 *prop, const __be32 *usm, void *data, in __walk_drmem_v2_lmbs() argument 275 ret = func(&lmb, &usm, data); in __walk_drmem_v2_lmbs() 288 const __be32 *prop, *usm; in walk_drmem_lmbs_early() local 301 usm = of_get_flat_dt_prop(node, "linux,drconf-usable-memory", &len); in walk_drmem_lmbs_early() 305 ret = __walk_drmem_v1_lmbs(prop, usm, data, func); in walk_drmem_lmbs_early() 310 ret = __walk_drmem_v2_lmbs(prop, usm, data, func); in walk_drmem_lmbs_early() 321 __maybe_unused const __be32 **usm, in update_lmb() argument 397 const __be32 *prop, *usm; in walk_drmem_lmbs() local [all …]
|
| /linux/arch/powerpc/kexec/ |
| H A D | file_load_64.c | 147 static int kdump_setup_usable_lmb(struct drmem_lmb *lmb, const __be32 **usm, in kdump_setup_usable_lmb() argument 158 if (*usm) { in kdump_setup_usable_lmb()
|