Home
last modified time | relevance | path

Searched refs:mqd (Results 1 – 25 of 29) sorted by relevance

12

/linux/drivers/gpu/drm/amd/amdkfd/
H A Dkfd_mqd_manager_cik.c35 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 Dkfd_mqd_manager_vi.c38 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 Dkfd_mqd_manager_v10.c35 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 Dkfd_mqd_manager_v12.c34 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 Dkfd_mqd_manager_v11.c34 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 Dkfd_mqd_manager_v9.c37 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 Dkfd_mqd_manager.h74 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 Dkfd_mqd_manager.c91 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 Dkfd_process_queue_manager.c805 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 Dkfd_device_queue_manager.c685 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 Dkfd_queue.c63 pr_debug("Queue MQD Address: 0x%p\n", q->mqd); in print_queue()
/linux/drivers/misc/sgi-gru/
H A Dgrukservices.c543 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 Dgrukservices.h61 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 Dmes_v11_0.c1115 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 Dmes_v12_0.c1274 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 Damdgpu_amdkfd_gfx_v8.c144 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 Damdgpu_amdkfd_gfx_v7.c149 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 Dmes_userqueue.c141 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 Damdgpu_amdkfd_arcturus.h23 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 Dgfx_v12_0.c2967 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 Dgfx_v11_0.c4069 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 Dgfx_v7_0.c2824 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 Dgfx_v8_0.h33 int gfx_v8_0_mqd_commit(struct amdgpu_device *adev, struct vi_mqd *mqd);
H A Dgfx_v7_0.h34 int gfx_v7_0_mqd_commit(struct amdgpu_device *adev, struct cik_mqd *mqd);
/linux/drivers/gpu/drm/amd/include/
H A Dvi_structs.h420 struct vi_mqd mqd; member

12