Lines Matching full:queue
38 /* Initialize a kernel queue, including allocations of GART memory
39 * needed for the queue.
51 pr_debug("Initializing queue type %d size %d\n", KFD_QUEUE_TYPE_HIQ,
71 pr_err("Invalid queue type %d\n", type);
141 if (init_queue(&kq->queue, &prop) != 0)
144 kq->queue->device = dev;
145 kq->queue->process = kfd_get_process(current);
147 kq->queue->mqd_mem_obj = kq->mqd_mgr->allocate_mqd(kq->mqd_mgr->dev,
148 &kq->queue->properties);
149 if (!kq->queue->mqd_mem_obj)
151 kq->mqd_mgr->init_mqd(kq->mqd_mgr, &kq->queue->mqd,
152 kq->queue->mqd_mem_obj,
153 &kq->queue->gart_mqd_addr,
154 &kq->queue->properties);
158 kq->queue->pipe = KFD_CIK_HIQ_PIPE;
159 kq->queue->queue = KFD_CIK_HIQ_QUEUE;
160 kq->mqd_mgr->load_mqd(kq->mqd_mgr, kq->queue->mqd,
161 kq->queue->pipe, kq->queue->queue,
162 &kq->queue->properties, NULL);
176 print_queue(kq->queue);
180 kq->mqd_mgr->free_mqd(kq->mqd_mgr, kq->queue->mqd, kq->queue->mqd_mem_obj);
182 uninit_queue(kq->queue);
198 /* Uninitialize a kernel queue and free all its memory usages. */
201 if (kq->queue->properties.type == KFD_QUEUE_TYPE_HIQ && !hanging)
203 kq->queue->mqd,
206 kq->queue->pipe,
207 kq->queue->queue);
208 else if (kq->queue->properties.type == KFD_QUEUE_TYPE_DIQ)
211 kq->mqd_mgr->free_mqd(kq->mqd_mgr, kq->queue->mqd,
212 kq->queue->mqd_mem_obj);
224 kq->queue->properties.doorbell_ptr);
225 uninit_queue(kq->queue);
246 queue_size_dwords = kq->queue->properties.queue_size / 4;
303 write_kernel_doorbell64(kq->queue->properties.doorbell_ptr,
307 write_kernel_doorbell(kq->queue->properties.doorbell_ptr,
317 (kq->queue->properties.queue_size / 4);
335 pr_err("Failed to init kernel queue\n");
354 pr_err("Starting kernel queue test\n");
359 pr_err("Kernel queue test failed\n");
366 pr_err("Kernel queue test failed\n");
373 pr_err("Ending kernel queue test\n");