Home
last modified time | relevance | path

Searched refs:dqm (Results 1 – 20 of 20) sorted by relevance

/linux/drivers/gpu/drm/amd/amdkfd/
A Dkfd_device_queue_manager.c355 dqm->asic_ops.init_sdma_vm(dqm, q, qpd); in create_queue_nocpsch()
904 retval = dqm->asic_ops.update_qpd(dqm, qpd); in register_process()
1021 return pm_init(&dqm->packet_mgr, dqm); in start_nocpsch()
1186 retval = pm_init(&dqm->packet_mgr, dqm); in start_cpsch()
1241 kfd_gtt_sa_free(dqm->dev, dqm->fence_mem); in stop_cpsch()
1327 dqm->asic_ops.init_sdma_vm(dqm, q, qpd); in create_queue_cpsch()
1438 if (dqm->is_hws_hang || dqm->is_resetting) in unmap_queues_cpsch()
1635 dqm, in set_cache_memory_policy()
1866 dqm = kzalloc(sizeof(*dqm), GFP_KERNEL); in device_queue_manager_init()
1990 if (!dqm->ops.initialize(dqm)) in device_queue_manager_init()
[all …]
A Dkfd_device_queue_manager.h87 int (*create_queue)(struct device_queue_manager *dqm,
95 int (*update_queue)(struct device_queue_manager *dqm,
104 int (*initialize)(struct device_queue_manager *dqm);
105 int (*start)(struct device_queue_manager *dqm);
106 int (*stop)(struct device_queue_manager *dqm);
107 void (*pre_reset)(struct device_queue_manager *dqm);
140 int (*update_qpd)(struct device_queue_manager *dqm,
240 mutex_lock(&dqm->lock_hidden); in dqm_lock()
241 dqm->saved_flags = memalloc_noreclaim_save(); in dqm_lock()
245 memalloc_noreclaim_restore(dqm->saved_flags); in dqm_unlock()
[all …]
A Dkfd_process_queue_manager.c74 dev->dqm->ops.process_termination(dev->dqm, &pdd->qpd); in kfd_process_dequeue_from_device()
234 dev->dqm->ops.register_process(dev->dqm, &pdd->qpd); in pqm_create_queue()
256 retval = dev->dqm->ops.create_queue(dev->dqm, q, &pdd->qpd); in pqm_create_queue()
288 retval = dev->dqm->ops.create_kernel_queue(dev->dqm, in pqm_create_queue()
336 dev->dqm->ops.unregister_process(dev->dqm, &pdd->qpd); in pqm_create_queue()
348 dqm = NULL; in pqm_destroy_queue()
374 dqm = pqn->kq->dev->dqm; in pqm_destroy_queue()
375 dqm->ops.destroy_kernel_queue(dqm, pqn->kq, &pdd->qpd); in pqm_destroy_queue()
381 dqm = pqn->q->device->dqm; in pqm_destroy_queue()
382 retval = dqm->ops.destroy_queue(dqm, &pdd->qpd, pqn->q); in pqm_destroy_queue()
[all …]
A Dkfd_device_queue_manager_vi.c29 static bool set_cache_memory_policy_vi(struct device_queue_manager *dqm,
35 static bool set_cache_memory_policy_vi_tonga(struct device_queue_manager *dqm,
41 static int update_qpd_vi(struct device_queue_manager *dqm,
43 static int update_qpd_vi_tonga(struct device_queue_manager *dqm,
45 static void init_sdma_vm(struct device_queue_manager *dqm, struct queue *q,
47 static void init_sdma_vm_tonga(struct device_queue_manager *dqm,
97 static bool set_cache_memory_policy_vi(struct device_queue_manager *dqm, in set_cache_memory_policy_vi() argument
153 static int update_qpd_vi(struct device_queue_manager *dqm, in update_qpd_vi() argument
194 static int update_qpd_vi_tonga(struct device_queue_manager *dqm, in update_qpd_vi_tonga() argument
228 static void init_sdma_vm(struct device_queue_manager *dqm, struct queue *q, in init_sdma_vm() argument
[all …]
A Dkfd_device_queue_manager_cik.c29 static bool set_cache_memory_policy_cik(struct device_queue_manager *dqm,
35 static int update_qpd_cik(struct device_queue_manager *dqm,
37 static int update_qpd_cik_hawaii(struct device_queue_manager *dqm,
39 static void init_sdma_vm(struct device_queue_manager *dqm, struct queue *q,
41 static void init_sdma_vm_hawaii(struct device_queue_manager *dqm,
90 static bool set_cache_memory_policy_cik(struct device_queue_manager *dqm, in set_cache_memory_policy_cik() argument
116 static int update_qpd_cik(struct device_queue_manager *dqm, in update_qpd_cik() argument
150 static int update_qpd_cik_hawaii(struct device_queue_manager *dqm, in update_qpd_cik_hawaii() argument
180 static void init_sdma_vm(struct device_queue_manager *dqm, struct queue *q, in init_sdma_vm() argument
196 static void init_sdma_vm_hawaii(struct device_queue_manager *dqm, in init_sdma_vm_hawaii() argument
A Dkfd_device_queue_manager_v9.c30 static int update_qpd_v9(struct device_queue_manager *dqm,
32 static void init_sdma_vm_v9(struct device_queue_manager *dqm, struct queue *q,
52 static int update_qpd_v9(struct device_queue_manager *dqm, in update_qpd_v9() argument
65 if (dqm->dev->device_info->asic_family == CHIP_ALDEBARAN) { in update_qpd_v9()
72 } else if (dqm->dev->noretry && in update_qpd_v9()
73 !dqm->dev->use_iommu_v2) { in update_qpd_v9()
89 static void init_sdma_vm_v9(struct device_queue_manager *dqm, struct queue *q, in init_sdma_vm_v9() argument
A Dkfd_packet_manager.c47 struct kfd_dev *dev = pm->dqm->dev; in pm_calc_rlib_size()
49 process_count = pm->dqm->processes_count; in pm_calc_rlib_size()
50 queue_count = pm->dqm->active_queue_count; in pm_calc_rlib_size()
51 compute_queue_count = pm->dqm->active_cp_queue_count; in pm_calc_rlib_size()
52 gws_queue_count = pm->dqm->gws_queue_count; in pm_calc_rlib_size()
145 pm->dqm->processes_count, pm->dqm->active_queue_count); in pm_create_runlist_ib()
151 if (processes_mapped >= pm->dqm->processes_count) { in pm_create_runlist_ib()
226 switch (dqm->dev->device_info->asic_family) { in pm_init()
262 dqm->dev->device_info->asic_family); in pm_init()
266 pm->dqm = dqm; in pm_init()
[all …]
A Dkfd_mqd_manager.c56 mqd_mem_obj->gtt_mem = dev->dqm->hiq_sdma_mqd.gtt_mem; in allocate_hiq_mqd()
57 mqd_mem_obj->gpu_addr = dev->dqm->hiq_sdma_mqd.gpu_addr; in allocate_hiq_mqd()
58 mqd_mem_obj->cpu_ptr = dev->dqm->hiq_sdma_mqd.cpu_ptr; in allocate_hiq_mqd()
76 dev->dqm->mqd_mgrs[KFD_MQD_TYPE_SDMA]->mqd_size; in allocate_sdma_mqd()
78 offset += dev->dqm->mqd_mgrs[KFD_MQD_TYPE_HIQ]->mqd_size; in allocate_sdma_mqd()
80 mqd_mem_obj->gtt_mem = (void *)((uint64_t)dev->dqm->hiq_sdma_mqd.gtt_mem in allocate_sdma_mqd()
82 mqd_mem_obj->gpu_addr = dev->dqm->hiq_sdma_mqd.gpu_addr + offset; in allocate_sdma_mqd()
84 dev->dqm->hiq_sdma_mqd.cpu_ptr + offset); in allocate_sdma_mqd()
A Dkfd_device_queue_manager_v10.c29 static int update_qpd_v10(struct device_queue_manager *dqm,
31 static void init_sdma_vm_v10(struct device_queue_manager *dqm, struct queue *q,
51 static int update_qpd_v10(struct device_queue_manager *dqm, in update_qpd_v10() argument
84 static void init_sdma_vm_v10(struct device_queue_manager *dqm, struct queue *q, in init_sdma_vm_v10() argument
A Dkfd_device.c882 if (kfd->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS) in kfd_gws_init()
1007 kfd->dqm = device_queue_manager_init(kfd); in kgd2kfd_device_init()
1008 if (!kfd->dqm) { in kgd2kfd_device_init()
1055 kfd->dqm->sched_policy); in kgd2kfd_device_init()
1063 device_queue_manager_uninit(kfd->dqm); in kgd2kfd_device_init()
1085 device_queue_manager_uninit(kfd->dqm); in kgd2kfd_device_exit()
1106 kfd->dqm->ops.pre_reset(kfd->dqm); in kgd2kfd_pre_reset()
1156 kfd->dqm->ops.stop(kfd->dqm); in kgd2kfd_suspend()
1198 err = kfd->dqm->ops.start(kfd->dqm); in kfd_resume()
1554 if (dev->dqm->sched_policy != KFD_SCHED_POLICY_HWS) { in kfd_debugfs_hang_hws()
[all …]
A Dkfd_process.c118 dqm = pdd->dev->dqm; in kfd_sdma_activity_worker()
120 if (!dqm || !qpd) in kfd_sdma_activity_worker()
149 dqm_lock(dqm); in kfd_sdma_activity_worker()
158 dqm_unlock(dqm); in kfd_sdma_activity_worker()
175 dqm_unlock(dqm); in kfd_sdma_activity_worker()
179 dqm_unlock(dqm); in kfd_sdma_activity_worker()
209 dqm_lock(dqm); in kfd_sdma_activity_worker()
231 dqm_unlock(dqm); in kfd_sdma_activity_worker()
1496 pdd->qpd.dqm = dev->dqm; in kfd_create_process_device_data()
1716 r = pdd->dev->dqm->ops.evict_process_queues(pdd->dev->dqm, in kfd_process_evict_queues()
[all …]
A Dkfd_priv.h275 struct device_queue_manager *dqm; member
584 struct device_queue_manager *dqm; member
1026 void device_queue_manager_uninit(struct device_queue_manager *dqm);
1030 int kfd_process_vm_fault(struct device_queue_manager *dqm, u32 pasid);
1076 struct device_queue_manager *dqm; member
1120 int pm_init(struct packet_manager *pm, struct device_queue_manager *dqm);
1215 int dqm_debugfs_hang_hws(struct device_queue_manager *dqm);
A Dkfd_int_process_v9.c133 if (!pasid && dev->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS) { in event_interrupt_isr_v9()
140 pasid = dev->dqm->vmid_pasid[vmid]; in event_interrupt_isr_v9()
274 kfd_process_vm_fault(dev->dqm, pasid); in event_interrupt_wq_v9()
A Dkfd_packet_manager_vi.c79 struct kfd_dev *kfd = pm->dqm->dev; in pm_runlist_vi()
93 concurrent_proc_cnt = min(pm->dqm->processes_count, in pm_runlist_vi()
A Dkfd_dbgmgr.c87 if (pdev->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS) in kfd_dbgmgr_create()
A Dkfd_kernel_queue.c64 kq->mqd_mgr = dev->dqm->mqd_mgrs[KFD_MQD_TYPE_DIQ]; in kq_initialize()
67 kq->mqd_mgr = dev->dqm->mqd_mgrs[KFD_MQD_TYPE_HIQ]; in kq_initialize()
A Dcik_event_interrupt.c113 kfd_process_vm_fault(dev->dqm, pasid); in cik_event_interrupt_wq()
A Dkfd_packet_manager_v9.c121 struct kfd_dev *kfd = pm->dqm->dev; in pm_runlist_v9()
132 concurrent_proc_cnt = min(pm->dqm->processes_count, in pm_runlist_v9()
A Dkfd_topology.c1406 dev->gpu->dqm->sched_policy != KFD_SCHED_POLICY_NO_HWS) ? in kfd_topology_add_device()
1408 dev->node_props.num_cp_queues = get_cp_queues_num(dev->gpu->dqm); in kfd_topology_add_device()
1629 r = dqm_debugfs_hqds(m, dev->gpu->dqm); in kfd_debugfs_hqds_by_device()
1654 r = pm_debugfs_runlist(m, &dev->gpu->dqm->packet_mgr); in kfd_debugfs_rls_by_device()
A Dkfd_chardev.c527 if (!dev->dqm->ops.set_cache_memory_policy(dev->dqm, in kfd_ioctl_set_memory_policy()
1137 if (dev->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS && in kfd_ioctl_set_scratch_backing_va()
1662 if (dev->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS) { in kfd_ioctl_alloc_queue_gws()

Completed in 49 milliseconds