Lines Matching refs:process
206 struct kfd_process *process; in kfd_create_process() local
224 process = find_process(thread); in kfd_create_process()
225 if (process) in kfd_create_process()
228 process = create_process(thread, filep); in kfd_create_process()
232 return process; in kfd_create_process()
237 struct kfd_process *process; in kfd_get_process() local
246 process = find_process(thread); in kfd_get_process()
247 if (!process) in kfd_get_process()
250 return process; in kfd_get_process()
255 struct kfd_process *process; in find_process_by_mm() local
257 hash_for_each_possible_rcu(kfd_processes_table, process, in find_process_by_mm()
259 if (process->mm == mm) in find_process_by_mm()
260 return process; in find_process_by_mm()
284 struct kfd_process *p = pdd->process; in kfd_process_device_free_bos()
515 struct kfd_process *process; in create_process() local
518 process = kzalloc(sizeof(*process), GFP_KERNEL); in create_process()
520 if (!process) in create_process()
523 process->pasid = kfd_pasid_alloc(); in create_process()
524 if (process->pasid == 0) in create_process()
527 if (kfd_alloc_process_doorbells(process) < 0) in create_process()
530 kref_init(&process->ref); in create_process()
532 mutex_init(&process->mutex); in create_process()
534 process->mm = thread->mm; in create_process()
537 process->mmu_notifier.ops = &kfd_process_mmu_notifier_ops; in create_process()
538 err = mmu_notifier_register(&process->mmu_notifier, process->mm); in create_process()
542 hash_add_rcu(kfd_processes_table, &process->kfd_processes, in create_process()
543 (uintptr_t)process->mm); in create_process()
545 process->lead_thread = thread->group_leader; in create_process()
546 get_task_struct(process->lead_thread); in create_process()
548 INIT_LIST_HEAD(&process->per_device_data); in create_process()
550 kfd_event_init_process(process); in create_process()
552 err = pqm_init(&process->pqm, process); in create_process()
557 process->is_32bit_user_mode = in_compat_syscall(); in create_process()
558 err = kfd_init_apertures(process); in create_process()
562 INIT_DELAYED_WORK(&process->eviction_work, evict_process_worker); in create_process()
563 INIT_DELAYED_WORK(&process->restore_work, restore_process_worker); in create_process()
564 process->last_restore_timestamp = get_jiffies_64(); in create_process()
566 err = kfd_process_init_cwsr_apu(process, filep); in create_process()
570 return process; in create_process()
573 kfd_process_free_outstanding_kfd_bos(process); in create_process()
574 kfd_process_destroy_pdds(process); in create_process()
576 pqm_uninit(&process->pqm); in create_process()
578 hash_del_rcu(&process->kfd_processes); in create_process()
580 mmu_notifier_unregister_no_release(&process->mmu_notifier, process->mm); in create_process()
582 mutex_destroy(&process->mutex); in create_process()
583 kfd_free_process_doorbells(process); in create_process()
585 kfd_pasid_free(process->pasid); in create_process()
587 kfree(process); in create_process()
650 pdd->process = p; in kfd_create_process_device_data()
685 p = pdd->process; in kfd_process_device_init_vm()
1027 int kfd_reserved_mem_mmap(struct kfd_dev *dev, struct kfd_process *process, in kfd_reserved_mem_mmap() argument
1038 pdd = kfd_get_process_device_data(dev, process); in kfd_reserved_mem_mmap()
1070 f2g->invalidate_tlbs(dev->kgd, pdd->process->pasid); in kfd_flush_tlb()