/Linux-v4.19/drivers/gpu/drm/amd/amdkfd/ |
D | kfd_device_queue_manager.c | 41 static int set_pasid_vmid_mapping(struct device_queue_manager *dqm, 44 static int create_compute_queue_nocpsch(struct device_queue_manager *dqm, 48 static int execute_queues_cpsch(struct device_queue_manager *dqm, 51 static int unmap_queues_cpsch(struct device_queue_manager *dqm, 55 static int map_queues_cpsch(struct device_queue_manager *dqm); 57 static int create_sdma_queue_nocpsch(struct device_queue_manager *dqm, 61 static void deallocate_sdma_queue(struct device_queue_manager *dqm, 74 static bool is_pipe_enabled(struct device_queue_manager *dqm, int mec, int pipe) in is_pipe_enabled() argument 77 int pipe_offset = mec * dqm->dev->shared_resources.num_pipe_per_mec in is_pipe_enabled() 78 + pipe * dqm->dev->shared_resources.num_queue_per_pipe; in is_pipe_enabled() [all …]
|
D | kfd_device_queue_manager.h | 88 int (*create_queue)(struct device_queue_manager *dqm, 92 int (*destroy_queue)(struct device_queue_manager *dqm, 96 int (*update_queue)(struct device_queue_manager *dqm, 100 (struct device_queue_manager *dqm, 103 int (*register_process)(struct device_queue_manager *dqm, 106 int (*unregister_process)(struct device_queue_manager *dqm, 109 int (*initialize)(struct device_queue_manager *dqm); 110 int (*start)(struct device_queue_manager *dqm); 111 int (*stop)(struct device_queue_manager *dqm); 112 void (*uninitialize)(struct device_queue_manager *dqm); [all …]
|
D | kfd_process_queue_manager.c | 73 dev->dqm->ops.process_termination(dev->dqm, &pdd->qpd); in kfd_process_dequeue_from_device() 179 dev->dqm->ops.register_process(dev->dqm, &pdd->qpd); in pqm_create_queue() 189 if (dev->dqm->queue_count >= get_num_sdma_queues(dev->dqm)) { in pqm_create_queue() 200 retval = dev->dqm->ops.create_queue(dev->dqm, q, &pdd->qpd); in pqm_create_queue() 207 if ((dev->dqm->sched_policy == in pqm_create_queue() 209 ((dev->dqm->processes_count >= dev->vm_info.vmid_num_kfd) || in pqm_create_queue() 210 (dev->dqm->queue_count >= get_queues_num(dev->dqm)))) { in pqm_create_queue() 221 retval = dev->dqm->ops.create_queue(dev->dqm, q, &pdd->qpd); in pqm_create_queue() 234 retval = dev->dqm->ops.create_kernel_queue(dev->dqm, in pqm_create_queue() 275 dev->dqm->ops.unregister_process(dev->dqm, &pdd->qpd); in pqm_create_queue() [all …]
|
D | kfd_device_queue_manager_vi.c | 30 static bool set_cache_memory_policy_vi(struct device_queue_manager *dqm, 36 static bool set_cache_memory_policy_vi_tonga(struct device_queue_manager *dqm, 42 static int update_qpd_vi(struct device_queue_manager *dqm, 44 static int update_qpd_vi_tonga(struct device_queue_manager *dqm, 46 static void init_sdma_vm(struct device_queue_manager *dqm, struct queue *q, 48 static void init_sdma_vm_tonga(struct device_queue_manager *dqm, 96 static bool set_cache_memory_policy_vi(struct device_queue_manager *dqm, in set_cache_memory_policy_vi() argument 125 static bool set_cache_memory_policy_vi_tonga(struct device_queue_manager *dqm, in set_cache_memory_policy_vi_tonga() argument 152 static int update_qpd_vi(struct device_queue_manager *dqm, in update_qpd_vi() argument 193 static int update_qpd_vi_tonga(struct device_queue_manager *dqm, in update_qpd_vi_tonga() argument [all …]
|
D | kfd_device_queue_manager_cik.c | 29 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, 88 static bool set_cache_memory_policy_cik(struct device_queue_manager *dqm, in set_cache_memory_policy_cik() argument 114 static int update_qpd_cik(struct device_queue_manager *dqm, in update_qpd_cik() argument 148 static int update_qpd_cik_hawaii(struct device_queue_manager *dqm, in update_qpd_cik_hawaii() argument 178 static void init_sdma_vm(struct device_queue_manager *dqm, struct queue *q, in init_sdma_vm() argument 194 static void init_sdma_vm_hawaii(struct device_queue_manager *dqm, in init_sdma_vm_hawaii() argument
|
D | kfd_packet_manager.c | 47 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->queue_count; in pm_calc_rlib_size() 51 compute_queue_count = queue_count - pm->dqm->sdma_queue_count; in pm_calc_rlib_size() 64 compute_queue_count > get_queues_num(pm->dqm)) { in pm_calc_rlib_size() 99 retval = kfd_gtt_sa_allocate(pm->dqm->dev, *rl_buffer_size, in pm_allocate_runlist_ib() 143 pm->dqm->processes_count, pm->dqm->queue_count); in pm_create_runlist_ib() 149 if (proccesses_mapped >= pm->dqm->processes_count) { in pm_create_runlist_ib() 218 int pm_init(struct packet_manager *pm, struct device_queue_manager *dqm) in pm_init() argument 220 switch (dqm->dev->device_info->asic_family) { in pm_init() [all …]
|
D | kfd_device_queue_manager_v9.c | 30 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, 51 static int update_qpd_v9(struct device_queue_manager *dqm, in update_qpd_v9() argument 64 !dqm->dev->device_info->needs_iommu_device) in update_qpd_v9() 79 static void init_sdma_vm_v9(struct device_queue_manager *dqm, struct queue *q, in init_sdma_vm_v9() argument
|
D | kfd_device.c | 490 kfd->dqm = device_queue_manager_init(kfd); in kgd2kfd_device_init() 491 if (!kfd->dqm) { in kgd2kfd_device_init() 513 kfd->dqm->sched_policy); in kgd2kfd_device_init() 519 device_queue_manager_uninit(kfd->dqm); in kgd2kfd_device_init() 541 device_queue_manager_uninit(kfd->dqm); in kgd2kfd_device_exit() 559 dqm_lock(kfd->dqm); in kgd2kfd_pre_reset() 578 dqm_unlock(kfd->dqm); in kgd2kfd_post_reset() 602 kfd->dqm->ops.stop(kfd->dqm); in kgd2kfd_suspend() 638 err = kfd->dqm->ops.start(kfd->dqm); in kfd_resume() 956 if (dev->dqm->sched_policy != KFD_SCHED_POLICY_HWS) { in kfd_debugfs_hang_hws() [all …]
|
D | kfd_priv.h | 266 struct device_queue_manager *dqm; member 508 struct device_queue_manager *dqm; member 854 void device_queue_manager_uninit(struct device_queue_manager *dqm); 858 int kfd_process_vm_fault(struct device_queue_manager *dqm, unsigned int pasid); 894 struct device_queue_manager *dqm; member 936 int pm_init(struct packet_manager *pm, struct device_queue_manager *dqm); 1012 int dqm_debugfs_execute_queues(struct device_queue_manager *dqm);
|
D | kfd_process.c | 647 pdd->qpd.dqm = dev->dqm; in kfd_create_process_device_data() 853 r = pdd->dev->dqm->ops.evict_process_queues(pdd->dev->dqm, in kfd_process_evict_queues() 871 if (pdd->dev->dqm->ops.restore_process_queues(pdd->dev->dqm, in kfd_process_evict_queues() 888 r = pdd->dev->dqm->ops.restore_process_queues(pdd->dev->dqm, in kfd_process_restore_queues() 1063 if (dev->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS) { in kfd_flush_tlb()
|
D | kfd_int_process_v9.c | 100 kfd_process_vm_fault(dev->dqm, pasid); in event_interrupt_wq_v9()
|
D | kfd_dbgmgr.c | 87 if (pdev->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS) in kfd_dbgmgr_create()
|
D | kfd_kernel_queue_v9.c | 115 struct kfd_dev *kfd = pm->dqm->dev; in pm_runlist_v9() 126 concurrent_proc_cnt = min(pm->dqm->processes_count, in pm_runlist_v9()
|
D | cik_event_interrupt.c | 107 kfd_process_vm_fault(dev->dqm, pasid); in cik_event_interrupt_wq()
|
D | kfd_kernel_queue_vi.c | 120 struct kfd_dev *kfd = pm->dqm->dev; in pm_runlist_vi() 134 concurrent_proc_cnt = min(pm->dqm->processes_count, in pm_runlist_vi()
|
D | kfd_kernel_queue.c | 62 kq->mqd_mgr = dev->dqm->ops.get_mqd_manager(dev->dqm, in initialize()
|
D | kfd_chardev.c | 488 if (!dev->dqm->ops.set_cache_memory_policy(dev->dqm, in kfd_ioctl_set_memory_policy() 522 if (dev->dqm->ops.set_trap_handler(dev->dqm, in kfd_ioctl_set_trap_handler() 1115 if (dev->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS && in kfd_ioctl_set_scratch_backing_va()
|
D | kfd_topology.c | 1390 r = dqm_debugfs_hqds(m, dev->gpu->dqm); in kfd_debugfs_hqds_by_device() 1415 r = pm_debugfs_runlist(m, &dev->gpu->dqm->packets); in kfd_debugfs_rls_by_device()
|