| /linux/drivers/gpu/drm/amd/amdkfd/ |
| H A D | kfd_mqd_manager_cik.c | 35 static inline struct cik_mqd *get_mqd(void *mqd) in get_mqd() argument 37 return (struct cik_mqd *)mqd; in get_mqd() 40 static inline struct cik_sdma_rlc_registers *get_sdma_mqd(void *mqd) in get_sdma_mqd() argument 42 return (struct cik_sdma_rlc_registers *)mqd; in get_sdma_mqd() 45 static void update_cu_mask(struct mqd_manager *mm, void *mqd, in update_cu_mask() argument 57 m = get_mqd(mqd); in update_cu_mask() 88 static void init_mqd(struct mqd_manager *mm, void **mqd, in init_mqd() argument 136 *mqd = m; in init_mqd() 142 static void init_mqd_sdma(struct mqd_manager *mm, void **mqd, in init_mqd_sdma() argument 152 *mqd = m; in init_mqd_sdma() [all …]
|
| H A D | kfd_mqd_manager_vi.c | 38 static inline struct vi_mqd *get_mqd(void *mqd) in get_mqd() argument 40 return (struct vi_mqd *)mqd; in get_mqd() 43 static inline struct vi_sdma_mqd *get_sdma_mqd(void *mqd) in get_sdma_mqd() argument 45 return (struct vi_sdma_mqd *)mqd; in get_sdma_mqd() 48 static void update_cu_mask(struct mqd_manager *mm, void *mqd, in update_cu_mask() argument 60 m = get_mqd(mqd); in update_cu_mask() 91 static void init_mqd(struct mqd_manager *mm, void **mqd, in init_mqd() argument 151 *mqd = m; in init_mqd() 157 static int load_mqd(struct mqd_manager *mm, void *mqd, in load_mqd() argument 165 return mm->dev->kfd2kgd->hqd_load(mm->dev->adev, mqd, pipe_id, queue_id, in load_mqd() [all …]
|
| H A D | kfd_mqd_manager_v10.c | 35 static inline struct v10_compute_mqd *get_mqd(void *mqd) in get_mqd() argument 37 return (struct v10_compute_mqd *)mqd; in get_mqd() 40 static inline struct v10_sdma_mqd *get_sdma_mqd(void *mqd) in get_sdma_mqd() argument 42 return (struct v10_sdma_mqd *)mqd; in get_sdma_mqd() 45 static void update_cu_mask(struct mqd_manager *mm, void *mqd, in update_cu_mask() argument 57 m = get_mqd(mqd); in update_cu_mask() 88 static void init_mqd(struct mqd_manager *mm, void **mqd, in init_mqd() argument 144 *mqd = m; in init_mqd() 150 static int load_mqd(struct mqd_manager *mm, void *mqd, in load_mqd() argument 158 r = mm->dev->kfd2kgd->hqd_load(mm->dev->adev, mqd, pipe_id, queue_id, in load_mqd() [all …]
|
| H A D | kfd_mqd_manager_v12.c | 34 static inline struct v12_compute_mqd *get_mqd(void *mqd) in get_mqd() argument 36 return (struct v12_compute_mqd *)mqd; in get_mqd() 39 static inline struct v12_sdma_mqd *get_sdma_mqd(void *mqd) in get_sdma_mqd() argument 41 return (struct v12_sdma_mqd *)mqd; in get_sdma_mqd() 44 static void update_cu_mask(struct mqd_manager *mm, void *mqd, in update_cu_mask() argument 56 m = get_mqd(mqd); in update_cu_mask() 98 static void init_mqd(struct mqd_manager *mm, void **mqd, in init_mqd() argument 161 *mqd = m; in init_mqd() 167 static int load_mqd(struct mqd_manager *mm, void *mqd, in load_mqd() argument 175 r = mm->dev->kfd2kgd->hqd_load(mm->dev->adev, mqd, pipe_id, queue_id, in load_mqd() [all …]
|
| H A D | kfd_mqd_manager_v11.c | 34 static inline struct v11_compute_mqd *get_mqd(void *mqd) in get_mqd() argument 36 return (struct v11_compute_mqd *)mqd; in get_mqd() 39 static inline struct v11_sdma_mqd *get_sdma_mqd(void *mqd) in get_sdma_mqd() argument 41 return (struct v11_sdma_mqd *)mqd; in get_sdma_mqd() 44 static void update_cu_mask(struct mqd_manager *mm, void *mqd, in update_cu_mask() argument 55 m = get_mqd(mqd); in update_cu_mask() 123 static void init_mqd(struct mqd_manager *mm, void **mqd, in init_mqd() argument 198 *mqd = m; in init_mqd() 204 static int load_mqd(struct mqd_manager *mm, void *mqd, in load_mqd() argument 212 r = mm->dev->kfd2kgd->hqd_load(mm->dev->adev, mqd, pipe_id, queue_id, in load_mqd() [all …]
|
| H A D | kfd_mqd_manager_v9.c | 37 static void update_mqd(struct mqd_manager *mm, void *mqd, 52 static inline struct v9_mqd *get_mqd(void *mqd) in get_mqd() argument 54 return (struct v9_mqd *)mqd; in get_mqd() 57 static inline struct v9_sdma_mqd *get_sdma_mqd(void *mqd) in get_sdma_mqd() argument 59 return (struct v9_sdma_mqd *)mqd; in get_sdma_mqd() 62 static void update_cu_mask(struct mqd_manager *mm, void *mqd, in update_cu_mask() argument 74 m = get_mqd(mqd); in update_cu_mask() 160 static void init_mqd(struct mqd_manager *mm, void **mqd, in init_mqd() argument 225 *mqd = m; in init_mqd() 231 static int load_mqd(struct mqd_manager *mm, void *mqd, in load_mqd() argument [all …]
|
| H A D | kfd_mqd_manager.h | 74 void (*init_mqd)(struct mqd_manager *mm, void **mqd, 78 int (*load_mqd)(struct mqd_manager *mm, void *mqd, 83 void (*update_mqd)(struct mqd_manager *mm, void *mqd, 87 int (*destroy_mqd)(struct mqd_manager *mm, void *mqd, 92 void (*free_mqd)(struct mqd_manager *mm, void *mqd, 95 bool (*is_occupied)(struct mqd_manager *mm, void *mqd, 99 int (*get_wave_state)(struct mqd_manager *mm, void *mqd, 105 void (*get_checkpoint_info)(struct mqd_manager *mm, void *mqd, uint32_t *ctl_stack_size); 108 void *mqd, 112 void (*restore_mqd)(struct mqd_manager *mm, void **mqd, [all …]
|
| H A D | kfd_mqd_manager.c | 91 void free_mqd_hiq_sdma(struct mqd_manager *mm, void *mqd, in free_mqd_hiq_sdma() argument 208 int kfd_hiq_load_mqd_kiq(struct mqd_manager *mm, void *mqd, in kfd_hiq_load_mqd_kiq() argument 212 return mm->dev->kfd2kgd->hiq_mqd_load(mm->dev->adev, mqd, pipe_id, in kfd_hiq_load_mqd_kiq() 216 int kfd_destroy_mqd_cp(struct mqd_manager *mm, void *mqd, in kfd_destroy_mqd_cp() argument 220 return mm->dev->kfd2kgd->hqd_destroy(mm->dev->adev, mqd, type, timeout, in kfd_destroy_mqd_cp() 224 void kfd_free_mqd_cp(struct mqd_manager *mm, void *mqd, in kfd_free_mqd_cp() argument 235 bool kfd_is_occupied_cp(struct mqd_manager *mm, void *mqd, in kfd_is_occupied_cp() argument 243 int kfd_load_mqd_sdma(struct mqd_manager *mm, void *mqd, in kfd_load_mqd_sdma() argument 247 return mm->dev->kfd2kgd->hqd_sdma_load(mm->dev->adev, mqd, in kfd_load_mqd_sdma() 256 int kfd_destroy_mqd_sdma(struct mqd_manager *mm, void *mqd, in kfd_destroy_mqd_sdma() argument [all …]
|
| H A D | kfd_process_queue_manager.c | 805 void *mqd, in pqm_checkpoint_mqd() argument 822 pqn->q, mqd, ctl_stack); in pqm_checkpoint_mqd() 829 uint8_t *mqd, *ctl_stack; in criu_checkpoint_queue() local 832 mqd = (void *)(q_data + 1); in criu_checkpoint_queue() 833 ctl_stack = mqd + q_data->mqd_size; in criu_checkpoint_queue() 862 ret = pqm_checkpoint_mqd(&pdd->process->pqm, q->properties.queue_id, mqd, ctl_stack); in criu_checkpoint_queue() 996 uint8_t *mqd, *ctl_stack, *q_extra_data = NULL; in kfd_criu_restore_queue() local 1050 mqd = q_extra_data; in kfd_criu_restore_queue() 1051 ctl_stack = mqd + q_data->mqd_size; in kfd_criu_restore_queue() 1058 ret = pqm_create_queue(&p->pqm, pdd->dev, &qp, &queue_id, q_data, mqd, ctl_stack, NULL); in kfd_criu_restore_queue() [all …]
|
| H A D | kfd_device_queue_manager.c | 685 mqd_mgr->restore_mqd(mqd_mgr, &q->mqd, q->mqd_mem_obj, &q->gart_mqd_addr, in create_queue_nocpsch() 689 mqd_mgr->init_mqd(mqd_mgr, &q->mqd, q->mqd_mem_obj, in create_queue_nocpsch() 702 retval = mqd_mgr->load_mqd(mqd_mgr, q->mqd, q->pipe, in create_queue_nocpsch() 724 mqd_mgr->free_mqd(mqd_mgr, q->mqd, q->mqd_mem_obj); in create_queue_nocpsch() 882 retval = mqd_mgr->destroy_mqd(mqd_mgr, q->mqd, in destroy_queue_nocpsch_locked() 938 mqd_mgr->free_mqd(mqd_mgr, q->mqd, q->mqd_mem_obj); in destroy_queue_nocpsch() 992 retval = mqd_mgr->destroy_mqd(mqd_mgr, q->mqd, in update_queue() 1003 mqd_mgr->update_mqd(mqd_mgr, q->mqd, &q->properties, minfo); in update_queue() 1042 retval = mqd_mgr->load_mqd(mqd_mgr, q->mqd, in update_queue() 1171 retval = mqd_mgr->destroy_mqd(mqd_mgr, q->mqd, in evict_process_queues_nocpsch() [all …]
|
| H A D | kfd_queue.c | 63 pr_debug("Queue MQD Address: 0x%p\n", q->mqd); in print_queue()
|
| /linux/drivers/misc/sgi-gru/ |
| H A D | grukservices.c | 543 int gru_create_message_queue(struct gru_message_queue_desc *mqd, in gru_create_message_queue() argument 559 mqd->mq = mq; in gru_create_message_queue() 560 mqd->mq_gpa = uv_gpa(mq); in gru_create_message_queue() 561 mqd->qlines = qlines; in gru_create_message_queue() 562 mqd->interrupt_pnode = nasid >> 1; in gru_create_message_queue() 563 mqd->interrupt_vector = vector; in gru_create_message_queue() 564 mqd->interrupt_apicid = apicid; in gru_create_message_queue() 577 static int send_noop_message(void *cb, struct gru_message_queue_desc *mqd, in send_noop_message() argument 589 gru_mesq(cb, mqd->mq_gpa, gru_get_tri(mhdr), 1, IMA); in send_noop_message() 613 m = mqd->mq_gpa + (gru_get_amo_value_head(cb) << 6); in send_noop_message() [all …]
|
| H A D | grukservices.h | 61 extern int gru_create_message_queue(struct gru_message_queue_desc *mqd, 81 extern int gru_send_message_gpa(struct gru_message_queue_desc *mqd, 101 extern void gru_free_message(struct gru_message_queue_desc *mqd, 117 extern void *gru_get_next_message(struct gru_message_queue_desc *mqd);
|
| /linux/drivers/gpu/drm/amd/amdgpu/ |
| H A D | mes_v11_0.c | 1115 struct v11_compute_mqd *mqd = ring->mqd_ptr; in mes_v11_0_mqd_init() local 1119 memset(mqd, 0, sizeof(*mqd)); in mes_v11_0_mqd_init() 1121 mqd->header = 0xC0310800; in mes_v11_0_mqd_init() 1122 mqd->compute_pipelinestat_enable = 0x00000001; in mes_v11_0_mqd_init() 1123 mqd->compute_static_thread_mgmt_se0 = 0xffffffff; in mes_v11_0_mqd_init() 1124 mqd->compute_static_thread_mgmt_se1 = 0xffffffff; in mes_v11_0_mqd_init() 1125 mqd->compute_static_thread_mgmt_se2 = 0xffffffff; in mes_v11_0_mqd_init() 1126 mqd->compute_static_thread_mgmt_se3 = 0xffffffff; in mes_v11_0_mqd_init() 1127 mqd->compute_misc_reserved = 0x00000007; in mes_v11_0_mqd_init() 1136 mqd->cp_hqd_eop_base_addr_lo = lower_32_bits(eop_base_addr); in mes_v11_0_mqd_init() [all …]
|
| H A D | mes_v12_0.c | 1274 struct v12_compute_mqd *mqd = ring->mqd_ptr; in mes_v12_0_mqd_init() local 1278 mqd->header = 0xC0310800; in mes_v12_0_mqd_init() 1279 mqd->compute_pipelinestat_enable = 0x00000001; in mes_v12_0_mqd_init() 1280 mqd->compute_static_thread_mgmt_se0 = 0xffffffff; in mes_v12_0_mqd_init() 1281 mqd->compute_static_thread_mgmt_se1 = 0xffffffff; in mes_v12_0_mqd_init() 1282 mqd->compute_static_thread_mgmt_se2 = 0xffffffff; in mes_v12_0_mqd_init() 1283 mqd->compute_static_thread_mgmt_se3 = 0xffffffff; in mes_v12_0_mqd_init() 1284 mqd->compute_misc_reserved = 0x00000007; in mes_v12_0_mqd_init() 1293 mqd->cp_hqd_eop_base_addr_lo = lower_32_bits(eop_base_addr); in mes_v12_0_mqd_init() 1294 mqd->cp_hqd_eop_base_addr_hi = upper_32_bits(eop_base_addr); in mes_v12_0_mqd_init() [all …]
|
| H A D | amdgpu_amdkfd_gfx_v8.c | 144 static inline struct vi_mqd *get_mqd(void *mqd) in get_mqd() argument 146 return (struct vi_mqd *)mqd; in get_mqd() 149 static inline struct vi_sdma_mqd *get_sdma_mqd(void *mqd) in get_sdma_mqd() argument 151 return (struct vi_sdma_mqd *)mqd; in get_sdma_mqd() 154 static int kgd_hqd_load(struct amdgpu_device *adev, void *mqd, in kgd_hqd_load() argument 164 m = get_mqd(mqd); in kgd_hqd_load() 263 static int kgd_hqd_sdma_load(struct amdgpu_device *adev, void *mqd, in kgd_hqd_sdma_load() argument 271 m = get_sdma_mqd(mqd); in kgd_hqd_sdma_load() 374 static bool kgd_hqd_sdma_is_occupied(struct amdgpu_device *adev, void *mqd) in kgd_hqd_sdma_is_occupied() argument 380 m = get_sdma_mqd(mqd); in kgd_hqd_sdma_is_occupied() [all …]
|
| H A D | amdgpu_amdkfd_gfx_v7.c | 149 static inline struct cik_mqd *get_mqd(void *mqd) in get_mqd() argument 151 return (struct cik_mqd *)mqd; in get_mqd() 154 static inline struct cik_sdma_rlc_registers *get_sdma_mqd(void *mqd) in get_sdma_mqd() argument 156 return (struct cik_sdma_rlc_registers *)mqd; in get_sdma_mqd() 159 static int kgd_hqd_load(struct amdgpu_device *adev, void *mqd, in kgd_hqd_load() argument 169 m = get_mqd(mqd); in kgd_hqd_load() 239 static int kgd_hqd_sdma_load(struct amdgpu_device *adev, void *mqd, in kgd_hqd_sdma_load() argument 247 m = get_sdma_mqd(mqd); in kgd_hqd_sdma_load() 342 static bool kgd_hqd_sdma_is_occupied(struct amdgpu_device *adev, void *mqd) in kgd_hqd_sdma_is_occupied() argument 348 m = get_sdma_mqd(mqd); in kgd_hqd_sdma_is_occupied() [all …]
|
| H A D | mes_userqueue.c | 141 queue_input.mqd_addr = queue->mqd.gpu_addr; in mes_userq_map() 271 r = amdgpu_userq_create_object(uq_mgr, &queue->mqd, mqd_hw_default->mqd_size); in mes_userq_mqd_create() 282 userq_props->mqd_gpu_addr = queue->mqd.gpu_addr; in mes_userq_mqd_create() 296 compute_mqd = memdup_user(u64_to_user_ptr(mqd_user->mqd), mqd_user->mqd_size); in mes_userq_mqd_create() 326 if (mqd_user->mqd_size != sizeof(*mqd_gfx_v11) || !mqd_user->mqd) { in mes_userq_mqd_create() 332 mqd_gfx_v11 = memdup_user(u64_to_user_ptr(mqd_user->mqd), mqd_user->mqd_size); in mes_userq_mqd_create() 357 if (mqd_user->mqd_size != sizeof(*mqd_sdma_v11) || !mqd_user->mqd) { in mes_userq_mqd_create() 363 mqd_sdma_v11 = memdup_user(u64_to_user_ptr(mqd_user->mqd), mqd_user->mqd_size); in mes_userq_mqd_create() 380 r = mqd_hw_default->init_mqd(adev, (void *)queue->mqd.cpu_ptr, userq_props); in mes_userq_mqd_create() 406 amdgpu_userq_destroy_object(uq_mgr, &queue->mqd); in mes_userq_mqd_create() [all …]
|
| H A D | amdgpu_amdkfd_arcturus.h | 23 int kgd_arcturus_hqd_sdma_load(struct amdgpu_device *adev, void *mqd, 29 void *mqd); 30 int kgd_arcturus_hqd_sdma_destroy(struct amdgpu_device *adev, void *mqd,
|
| H A D | gfx_v12_0.c | 2967 struct v12_gfx_mqd *mqd = m; in gfx_v12_0_gfx_mqd_init() local 2973 mqd->cp_gfx_hqd_wptr = 0; in gfx_v12_0_gfx_mqd_init() 2974 mqd->cp_gfx_hqd_wptr_hi = 0; in gfx_v12_0_gfx_mqd_init() 2977 mqd->cp_mqd_base_addr = prop->mqd_gpu_addr & 0xfffffffc; in gfx_v12_0_gfx_mqd_init() 2978 mqd->cp_mqd_base_addr_hi = upper_32_bits(prop->mqd_gpu_addr); in gfx_v12_0_gfx_mqd_init() 2985 mqd->cp_gfx_mqd_control = tmp; in gfx_v12_0_gfx_mqd_init() 2990 mqd->cp_gfx_hqd_vmid = 0; in gfx_v12_0_gfx_mqd_init() 2996 mqd->cp_gfx_hqd_queue_priority = tmp; in gfx_v12_0_gfx_mqd_init() 3001 mqd->cp_gfx_hqd_quantum = tmp; in gfx_v12_0_gfx_mqd_init() 3005 mqd->cp_gfx_hqd_base = hqd_gpu_addr; in gfx_v12_0_gfx_mqd_init() [all …]
|
| H A D | gfx_v11_0.c | 4069 struct v11_gfx_mqd *mqd, in gfx_v11_0_gfx_mqd_set_priority() argument 4083 mqd->cp_gfx_hqd_queue_priority = tmp; in gfx_v11_0_gfx_mqd_set_priority() 4089 struct v11_gfx_mqd *mqd = m; in gfx_v11_0_gfx_mqd_init() local 4095 mqd->cp_gfx_hqd_wptr = 0; in gfx_v11_0_gfx_mqd_init() 4096 mqd->cp_gfx_hqd_wptr_hi = 0; in gfx_v11_0_gfx_mqd_init() 4099 mqd->cp_mqd_base_addr = prop->mqd_gpu_addr & 0xfffffffc; in gfx_v11_0_gfx_mqd_init() 4100 mqd->cp_mqd_base_addr_hi = upper_32_bits(prop->mqd_gpu_addr); in gfx_v11_0_gfx_mqd_init() 4107 mqd->cp_gfx_mqd_control = tmp; in gfx_v11_0_gfx_mqd_init() 4112 mqd->cp_gfx_hqd_vmid = 0; in gfx_v11_0_gfx_mqd_init() 4115 gfx_v11_0_gfx_mqd_set_priority(adev, mqd, prop); in gfx_v11_0_gfx_mqd_init() [all …]
|
| H A D | gfx_v7_0.c | 2824 struct cik_mqd *mqd, in gfx_v7_0_mqd_init() argument 2832 memset(mqd, 0, sizeof(struct cik_mqd)); in gfx_v7_0_mqd_init() 2834 mqd->header = 0xC0310800; in gfx_v7_0_mqd_init() 2835 mqd->compute_static_thread_mgmt_se0 = 0xffffffff; in gfx_v7_0_mqd_init() 2836 mqd->compute_static_thread_mgmt_se1 = 0xffffffff; in gfx_v7_0_mqd_init() 2837 mqd->compute_static_thread_mgmt_se2 = 0xffffffff; in gfx_v7_0_mqd_init() 2838 mqd->compute_static_thread_mgmt_se3 = 0xffffffff; in gfx_v7_0_mqd_init() 2841 mqd->cp_hqd_pq_doorbell_control = in gfx_v7_0_mqd_init() 2844 mqd->cp_hqd_pq_doorbell_control |= CP_HQD_PQ_DOORBELL_CONTROL__DOORBELL_EN_MASK; in gfx_v7_0_mqd_init() 2846 mqd->cp_hqd_pq_doorbell_control &= ~CP_HQD_PQ_DOORBELL_CONTROL__DOORBELL_EN_MASK; in gfx_v7_0_mqd_init() [all …]
|
| H A D | gfx_v8_0.h | 33 int gfx_v8_0_mqd_commit(struct amdgpu_device *adev, struct vi_mqd *mqd);
|
| H A D | gfx_v7_0.h | 34 int gfx_v7_0_mqd_commit(struct amdgpu_device *adev, struct cik_mqd *mqd);
|
| /linux/drivers/gpu/drm/amd/include/ |
| H A D | vi_structs.h | 420 struct vi_mqd mqd; member
|