| /linux/drivers/gpu/drm/amd/amdkfd/ |
| H A D | kfd_debug.c | 72 struct kfd_process_device *pdd = process->pdds[i]; in kfd_dbg_ev_query_debug_event() local 74 & pdd->exception_status; in kfd_dbg_ev_query_debug_event() 79 *event_status = pdd->exception_status; in kfd_dbg_ev_query_debug_event() 80 *gpu_id = pdd->dev->id; in kfd_dbg_ev_query_debug_event() 81 pdd->exception_status &= ~exception_clear_mask; in kfd_dbg_ev_query_debug_event() 133 struct kfd_process_device *pdd = process->pdds[i]; in kfd_dbg_ev_raise() local 135 if (pdd->dev != dev) in kfd_dbg_ev_raise() 138 pdd->exception_status |= event_mask & KFD_EC_MASK_DEVICE; in kfd_dbg_ev_raise() 141 if (!pdd->vm_fault_exc_data) { in kfd_dbg_ev_raise() 142 pdd->vm_fault_exc_data = kmemdup( in kfd_dbg_ev_raise() [all …]
|
| H A D | kfd_process.c | 75 static void kfd_process_device_destroy_cwsr_dgpu(struct kfd_process_device *pdd); 88 struct kfd_process_device *pdd; member 102 struct kfd_process_device *pdd; in kfd_sdma_activity_worker() local 115 pdd = workarea->pdd; in kfd_sdma_activity_worker() 116 if (!pdd) in kfd_sdma_activity_worker() 118 dqm = pdd->dev->dqm; in kfd_sdma_activity_worker() 119 qpd = &pdd->qpd; in kfd_sdma_activity_worker() 174 workarea->sdma_activity_counter = pdd->sdma_past_activity_counter; in kfd_sdma_activity_worker() 184 mm = get_task_mm(pdd->process->lead_thread); in kfd_sdma_activity_worker() 211 workarea->sdma_activity_counter += pdd->sdma_past_activity_counter; in kfd_sdma_activity_worker() [all …]
|
| H A D | kfd_chardev.c | 71 struct kfd_process_device *pdd; in kfd_lock_pdd_by_id() local 74 pdd = kfd_process_device_data_by_id(p, gpu_id); in kfd_lock_pdd_by_id() 76 if (pdd) in kfd_lock_pdd_by_id() 77 return pdd; in kfd_lock_pdd_by_id() 83 static inline void kfd_unlock_pdd(struct kfd_process_device *pdd) in kfd_unlock_pdd() argument 85 mutex_unlock(&pdd->process->mutex); in kfd_unlock_pdd() 325 struct kfd_process_device *pdd; in kfd_ioctl_create_queue() local 341 pdd = kfd_process_device_data_by_id(p, args->gpu_id); in kfd_ioctl_create_queue() 342 if (!pdd) { in kfd_ioctl_create_queue() 347 dev = pdd->dev; in kfd_ioctl_create_queue() [all …]
|
| H A D | kfd_process_queue_manager.c | 83 void kfd_process_dequeue_from_device(struct kfd_process_device *pdd) in kfd_process_dequeue_from_device() argument 85 struct kfd_node *dev = pdd->dev; in kfd_process_dequeue_from_device() 87 if (pdd->already_dequeued) in kfd_process_dequeue_from_device() 93 dev->dqm->ops.process_termination(dev->dqm, &pdd->qpd); in kfd_process_dequeue_from_device() 94 if (dev->kfd->shared_resources.enable_mes && !!pdd->proc_ctx_gpu_addr && in kfd_process_dequeue_from_device() 97 pdd->proc_ctx_gpu_addr, in kfd_process_dequeue_from_device() 98 ffs(pdd->dev->xcc_mask) - 1); in kfd_process_dequeue_from_device() 101 pdd->already_dequeued = true; in kfd_process_dequeue_from_device() 110 struct kfd_process_device *pdd; in pqm_set_gws() local 125 pdd in pqm_set_gws() 192 struct kfd_process_device *pdd; pqm_clean_queue_resource() local 224 struct kfd_process_device *pdd = kfd_get_process_device_data(pqn->q->device, pqm_uninit() local 319 struct kfd_process_device *pdd; pqm_create_queue() local 495 struct kfd_process_device *pdd; pqm_destroy_queue() local 579 struct kfd_process_device *pdd; pqm_update_queue_properties() local 733 get_queue_data_sizes(struct kfd_process_device * pdd,struct queue * q,uint32_t * mqd_size,uint32_t * ctl_stack_size) get_queue_data_sizes() argument 763 struct kfd_process_device *pdd = p->pdds[i]; kfd_process_get_queue_info() local 812 criu_checkpoint_queue(struct kfd_process_device * pdd,struct queue * q,struct kfd_criu_queue_priv_data * q_data) criu_checkpoint_queue() argument 859 criu_checkpoint_queues_device(struct kfd_process_device * pdd,uint8_t __user * user_priv,unsigned int * q_index,uint64_t * queues_priv_data_offset) criu_checkpoint_queues_device() argument 939 struct kfd_process_device *pdd = p->pdds[pdd_index]; kfd_criu_checkpoint_queues() local 985 struct kfd_process_device *pdd; kfd_criu_restore_queue() local [all...] |
| H A D | kfd_doorbell.c | 110 struct kfd_process_device *pdd; in kfd_doorbell_mmap() local 119 pdd = kfd_get_process_device_data(dev, process); in kfd_doorbell_mmap() 120 if (!pdd) in kfd_doorbell_mmap() 124 address = kfd_get_process_doorbells(pdd); in kfd_doorbell_mmap() 235 phys_addr_t kfd_get_process_doorbells(struct kfd_process_device *pdd) in kfd_get_process_doorbells() argument 237 struct amdgpu_device *adev = pdd->dev->adev; in kfd_get_process_doorbells() 240 if (!pdd->qpd.proc_doorbells) { in kfd_get_process_doorbells() 241 if (kfd_alloc_process_doorbells(pdd->dev->kfd, pdd)) in kfd_get_process_doorbells() 247 pdd->qpd.proc_doorbells, in kfd_get_process_doorbells() 249 pdd->dev->kfd->device_info.doorbell_size); in kfd_get_process_doorbells() [all …]
|
| H A D | kfd_queue.c | 90 static int kfd_queue_buffer_svm_get(struct kfd_process_device *pdd, u64 addr, u64 size) in kfd_queue_buffer_svm_get() argument 92 struct kfd_process *p = pdd->process; in kfd_queue_buffer_svm_get() 117 r = kfd_process_gpuid_from_node(p, pdd->dev, &gpuid, &gpuidx); in kfd_queue_buffer_svm_get() 151 static void kfd_queue_buffer_svm_put(struct kfd_process_device *pdd, u64 addr, u64 size) in kfd_queue_buffer_svm_put() argument 153 struct kfd_process *p = pdd->process; in kfd_queue_buffer_svm_put() 185 static int kfd_queue_buffer_svm_get(struct kfd_process_device *pdd, u64 addr, u64 size) in kfd_queue_buffer_svm_get() argument 190 static void kfd_queue_buffer_svm_put(struct kfd_process_device *pdd, u64 addr, u64 size) in kfd_queue_buffer_svm_put() argument 233 int kfd_queue_acquire_buffers(struct kfd_process_device *pdd, struct queue_properties *properties) in kfd_queue_acquire_buffers() argument 241 topo_dev = kfd_topology_device_by_id(pdd->dev->id); in kfd_queue_acquire_buffers() 257 vm = drm_priv_to_vm(pdd->drm_priv); in kfd_queue_acquire_buffers() [all …]
|
| H A D | kfd_device_queue_manager.c | 169 struct kfd_process_device *pdd = qpd_to_pdd(qpd); in kfd_hws_hang() local 171 pdd->has_reset_queue = true; in kfd_hws_hang() 205 struct kfd_process_device *pdd = qpd_to_pdd(qpd); in add_queue_mes() local 216 queue_input.process_id = pdd->pasid; in add_queue_mes() 222 queue_input.process_context_addr = pdd->proc_ctx_gpu_addr; in add_queue_mes() 537 struct kfd_process_device *pdd = qpd_to_pdd(qpd); in allocate_vmid() local 556 dqm->vmid_pasid[allocated_vmid] = pdd->pasid; in allocate_vmid() 558 set_pasid_vmid_mapping(dqm, pdd->pasid, allocated_vmid); in allocate_vmid() 794 struct kfd_process_device *pdd; in dbgdev_wave_reset_wavefronts() local 811 pdd = kfd_get_process_device_data(dev, p); in dbgdev_wave_reset_wavefronts() [all …]
|
| H A D | kfd_svm.c | 218 struct kfd_process_device *pdd; in svm_range_dma_map() local 221 pdd = kfd_process_device_from_gpuidx(p, gpuidx); in svm_range_dma_map() 222 if (!pdd) { in svm_range_dma_map() 227 r = svm_range_dma_map_dev(pdd->dev->adev, prange, offset, npages, in svm_range_dma_map() 256 struct kfd_process_device *pdd; in svm_range_dma_unmap() local 269 pdd = kfd_process_device_from_gpuidx(p, gpuidx); in svm_range_dma_unmap() 270 if (!pdd) { in svm_range_dma_unmap() 274 dev = &pdd->dev->adev->pdev->dev; in svm_range_dma_unmap() 411 struct kfd_process_device *pdd; in svm_range_bo_release() local 422 pdd = kfd_get_process_device_data(svm_bo->node, p); in svm_range_bo_release() [all …]
|
| H A D | cik_event_interrupt.c | 109 struct kfd_process_device *pdd = NULL; in cik_event_interrupt_wq() local 114 p = kfd_lookup_process_by_pasid(pasid, &pdd); in cik_event_interrupt_wq() 115 if (!pdd) in cik_event_interrupt_wq() 118 kfd_evict_process_device(pdd); in cik_event_interrupt_wq() 127 kfd_signal_vm_fault_event(pdd, &info, NULL); in cik_event_interrupt_wq()
|
| H A D | kfd_debugfs.c | 129 struct kfd_process_device *pdd = file_inode(file)->i_private; in kfd_debugfs_pasid_read() local 133 len = snprintf(tmp, sizeof(tmp), "%u\n", pdd->pasid); in kfd_debugfs_pasid_read() 163 struct kfd_process_device *pdd = p->pdds[i]; in kfd_debugfs_add_process() local 166 pdd->dev->id); in kfd_debugfs_add_process() 168 entry->proc_dentry, pdd, in kfd_debugfs_add_process()
|
| H A D | kfd_events.c | 359 struct kfd_process_device *pdd; in kfd_kmap_event_page() local 369 pdd = kfd_process_device_data_by_id(p, GET_GPU_ID(event_page_offset)); in kfd_kmap_event_page() 370 if (!pdd) { in kfd_kmap_event_page() 374 kfd = pdd->dev; in kfd_kmap_event_page() 376 pdd = kfd_bind_process_to_device(kfd, p); in kfd_kmap_event_page() 377 if (IS_ERR(pdd)) in kfd_kmap_event_page() 378 return PTR_ERR(pdd); in kfd_kmap_event_page() 380 mem = kfd_process_device_translate_handle(pdd, in kfd_kmap_event_page() 1176 struct kfd_process_device *pdd; in kfd_signal_vm_fault_event_with_userptr() local 1186 pdd = p->pdds[i]; in kfd_signal_vm_fault_event_with_userptr() [all …]
|
| H A D | kfd_priv.h | 1066 struct kfd_process_device **pdd); 1093 int kfd_process_device_init_vm(struct kfd_process_device *pdd, 1109 int kfd_process_device_create_obj_handle(struct kfd_process_device *pdd, 1113 void kfd_process_device_remove_obj_handle(struct kfd_process_device *pdd, 1136 struct kfd_process_device *pdd, 1138 phys_addr_t kfd_get_process_doorbells(struct kfd_process_device *pdd); 1140 struct kfd_process_device *pdd); 1142 struct kfd_process_device *pdd); 1209 int kfd_process_drain_interrupts(struct kfd_process_device *pdd); 1342 int kfd_queue_acquire_buffers(struct kfd_process_device *pdd, struct queue_properties *properties); [all …]
|
| H A D | kfd_smi_events.c | 328 struct kfd_process_device *pdd = p->pdds[i]; in kfd_smi_event_queue_restore_rescheduled() local 330 kfd_smi_event_add(p->lead_thread->pid, pdd->dev, in kfd_smi_event_queue_restore_rescheduled() 333 p->lead_thread->pid, pdd->dev->id, 'R')); in kfd_smi_event_queue_restore_rescheduled() 347 void kfd_smi_event_process(struct kfd_process_device *pdd, bool start) in kfd_smi_event_process() argument 352 if (!pdd->drm_priv) in kfd_smi_event_process() 355 avm = drm_priv_to_vm(pdd->drm_priv); in kfd_smi_event_process() 359 kfd_smi_event_add(0, pdd->dev, in kfd_smi_event_process()
|
| H A D | kfd_debug.h | 58 int kfd_dbg_trap_clear_dev_address_watch(struct kfd_process_device *pdd, 60 int kfd_dbg_trap_set_dev_address_watch(struct kfd_process_device *pdd, 130 int kfd_dbg_set_mes_debug_mode(struct kfd_process_device *pdd, bool sq_trap_en);
|
| /linux/drivers/pmdomain/xilinx/ |
| H A D | zynqmp-pm-domains.c | 108 struct pm_domain_data *pdd, *tmp; in zynqmp_gpd_power_off() local 119 list_for_each_entry_safe(pdd, tmp, &domain->dev_list, list_node) { in zynqmp_gpd_power_off() 121 may_wakeup = zynqmp_gpd_is_active_wakeup_path(pdd->dev, NULL); in zynqmp_gpd_power_off() 123 dev_dbg(pdd->dev, "device is in wakeup path in %s\n", in zynqmp_gpd_power_off()
|
| /linux/drivers/pmdomain/ |
| H A D | core.c | 359 struct pm_domain_data *pdd; in _genpd_reeval_performance_state() local 371 list_for_each_entry(pdd, &genpd->dev_list, list_node) { in _genpd_reeval_performance_state() 372 pd_data = to_gpd_data(pdd); in _genpd_reeval_performance_state() 959 struct pm_domain_data *pdd; in genpd_power_off() local 988 list_for_each_entry(pdd, &genpd->dev_list, list_node) { in genpd_power_off() 993 if (!pm_runtime_suspended(pdd->dev) || in genpd_power_off() 994 irq_safe_dev_in_sleep_domain(pdd->dev, genpd)) in genpd_power_off() 998 if (to_gpd_data(pdd)->rpm_always_on) in genpd_power_off() 1114 struct pm_domain_data *pdd; in genpd_dev_pm_qos_notifier() local 1119 pdd = dev->power.subsys_data ? in genpd_dev_pm_qos_notifier() [all …]
|