Lines Matching refs:process

269 	struct kfd_process *process;  in kfd_create_process()  local
288 process = find_process(thread); in kfd_create_process()
289 if (process) { in kfd_create_process()
292 process = create_process(thread); in kfd_create_process()
293 if (IS_ERR(process)) in kfd_create_process()
296 ret = kfd_process_init_cwsr_apu(process, filep); in kfd_create_process()
298 process = ERR_PTR(ret); in kfd_create_process()
305 process->kobj = kfd_alloc_struct(process->kobj); in kfd_create_process()
306 if (!process->kobj) { in kfd_create_process()
310 ret = kobject_init_and_add(process->kobj, &procfs_type, in kfd_create_process()
312 (int)process->lead_thread->pid); in kfd_create_process()
318 process->attr_pasid.name = "pasid"; in kfd_create_process()
319 process->attr_pasid.mode = KFD_SYSFS_FILE_MODE; in kfd_create_process()
320 sysfs_attr_init(&process->attr_pasid); in kfd_create_process()
321 ret = sysfs_create_file(process->kobj, &process->attr_pasid); in kfd_create_process()
324 (int)process->lead_thread->pid); in kfd_create_process()
329 return process; in kfd_create_process()
334 struct kfd_process *process; in kfd_get_process() local
343 process = find_process(thread); in kfd_get_process()
344 if (!process) in kfd_get_process()
347 return process; in kfd_get_process()
352 struct kfd_process *process; in find_process_by_mm() local
354 hash_for_each_possible_rcu(kfd_processes_table, process, in find_process_by_mm()
356 if (process->mm == mm) in find_process_by_mm()
357 return process; in find_process_by_mm()
381 struct kfd_process *p = pdd->process; in kfd_process_device_free_bos()
624 struct kfd_process *process; in create_process() local
627 process = kzalloc(sizeof(*process), GFP_KERNEL); in create_process()
628 if (!process) in create_process()
631 kref_init(&process->ref); in create_process()
632 mutex_init(&process->mutex); in create_process()
633 process->mm = thread->mm; in create_process()
634 process->lead_thread = thread->group_leader; in create_process()
635 INIT_LIST_HEAD(&process->per_device_data); in create_process()
636 INIT_DELAYED_WORK(&process->eviction_work, evict_process_worker); in create_process()
637 INIT_DELAYED_WORK(&process->restore_work, restore_process_worker); in create_process()
638 process->last_restore_timestamp = get_jiffies_64(); in create_process()
639 kfd_event_init_process(process); in create_process()
640 process->is_32bit_user_mode = in_compat_syscall(); in create_process()
642 process->pasid = kfd_pasid_alloc(); in create_process()
643 if (process->pasid == 0) in create_process()
646 if (kfd_alloc_process_doorbells(process) < 0) in create_process()
649 err = pqm_init(&process->pqm, process); in create_process()
654 err = kfd_init_apertures(process); in create_process()
659 process->mmu_notifier.ops = &kfd_process_mmu_notifier_ops; in create_process()
660 err = mmu_notifier_register(&process->mmu_notifier, process->mm); in create_process()
664 get_task_struct(process->lead_thread); in create_process()
665 hash_add_rcu(kfd_processes_table, &process->kfd_processes, in create_process()
666 (uintptr_t)process->mm); in create_process()
668 return process; in create_process()
671 kfd_process_free_outstanding_kfd_bos(process); in create_process()
672 kfd_process_destroy_pdds(process); in create_process()
674 pqm_uninit(&process->pqm); in create_process()
676 kfd_free_process_doorbells(process); in create_process()
678 kfd_pasid_free(process->pasid); in create_process()
680 mutex_destroy(&process->mutex); in create_process()
681 kfree(process); in create_process()
748 pdd->process = p; in kfd_create_process_device_data()
783 p = pdd->process; in kfd_process_device_init_vm()
1116 int kfd_reserved_mem_mmap(struct kfd_dev *dev, struct kfd_process *process, in kfd_reserved_mem_mmap() argument
1127 pdd = kfd_get_process_device_data(dev, process); in kfd_reserved_mem_mmap()
1159 f2g->invalidate_tlbs(dev->kgd, pdd->process->pasid); in kfd_flush_tlb()