Lines Matching refs:pdd

159 	struct kfd_process_device *pdd, *temp;  in kfd_process_wq_release()  local
171 list_for_each_entry_safe(pdd, temp, &p->per_device_data, in kfd_process_wq_release()
174 pdd->dev->id, p->pasid); in kfd_process_wq_release()
176 if (pdd->reset_wavefronts) in kfd_process_wq_release()
177 dbgdev_wave_reset_wavefronts(pdd->dev, p); in kfd_process_wq_release()
179 amd_iommu_unbind_pasid(pdd->dev->pdev, p->pasid); in kfd_process_wq_release()
180 list_del(&pdd->per_device_list); in kfd_process_wq_release()
182 kfree(pdd); in kfd_process_wq_release()
225 struct kfd_process_device *pdd = NULL; in kfd_process_notifier_release() local
246 list_for_each_entry(pdd, &p->per_device_data, per_device_list) in kfd_process_notifier_release()
247 if (pdd->reset_wavefronts) { in kfd_process_notifier_release()
249 dbgdev_wave_reset_wavefronts(pdd->dev, p); in kfd_process_notifier_release()
250 pdd->reset_wavefronts = false; in kfd_process_notifier_release()
339 struct kfd_process_device *pdd = NULL; in kfd_get_process_device_data() local
341 list_for_each_entry(pdd, &p->per_device_data, per_device_list) in kfd_get_process_device_data()
342 if (pdd->dev == dev) in kfd_get_process_device_data()
345 return pdd; in kfd_get_process_device_data()
351 struct kfd_process_device *pdd = NULL; in kfd_create_process_device_data() local
353 pdd = kzalloc(sizeof(*pdd), GFP_KERNEL); in kfd_create_process_device_data()
354 if (pdd != NULL) { in kfd_create_process_device_data()
355 pdd->dev = dev; in kfd_create_process_device_data()
356 INIT_LIST_HEAD(&pdd->qpd.queues_list); in kfd_create_process_device_data()
357 INIT_LIST_HEAD(&pdd->qpd.priv_queue_list); in kfd_create_process_device_data()
358 pdd->qpd.dqm = dev->dqm; in kfd_create_process_device_data()
359 pdd->reset_wavefronts = false; in kfd_create_process_device_data()
360 list_add(&pdd->per_device_list, &p->per_device_data); in kfd_create_process_device_data()
363 return pdd; in kfd_create_process_device_data()
376 struct kfd_process_device *pdd; in kfd_bind_process_to_device() local
379 pdd = kfd_get_process_device_data(dev, p); in kfd_bind_process_to_device()
380 if (!pdd) { in kfd_bind_process_to_device()
385 if (pdd->bound) in kfd_bind_process_to_device()
386 return pdd; in kfd_bind_process_to_device()
392 pdd->bound = true; in kfd_bind_process_to_device()
394 return pdd; in kfd_bind_process_to_device()
400 struct kfd_process_device *pdd; in kfd_unbind_process_from_device() local
422 pdd = kfd_get_process_device_data(dev, p); in kfd_unbind_process_from_device()
424 if (!pdd) { in kfd_unbind_process_from_device()
429 if (pdd->reset_wavefronts) { in kfd_unbind_process_from_device()
430 dbgdev_wave_reset_wavefronts(pdd->dev, p); in kfd_unbind_process_from_device()
431 pdd->reset_wavefronts = false; in kfd_unbind_process_from_device()
440 pdd->bound = false; in kfd_unbind_process_from_device()
453 struct kfd_process_device *pdd) in kfd_get_next_process_device_data() argument
455 if (list_is_last(&pdd->per_device_list, &p->per_device_data)) in kfd_get_next_process_device_data()
457 return list_next_entry(pdd, per_device_list); in kfd_get_next_process_device_data()