Lines Matching full:properties

35 	pr_debug("Printing queue properties:\n");
53 pr_debug("Queue Type: %u\n", q->properties.type);
54 pr_debug("Queue Size: %llu\n", q->properties.queue_size);
55 pr_debug("Queue percent: %u\n", q->properties.queue_percent);
56 pr_debug("Queue Address: 0x%llX\n", q->properties.queue_address);
57 pr_debug("Queue Id: %u\n", q->properties.queue_id);
58 pr_debug("Queue Process Vmid: %u\n", q->properties.vmid);
59 pr_debug("Queue Read Pointer: 0x%px\n", q->properties.read_ptr);
60 pr_debug("Queue Write Pointer: 0x%px\n", q->properties.write_ptr);
61 pr_debug("Queue Doorbell Pointer: 0x%p\n", q->properties.doorbell_ptr);
62 pr_debug("Queue Doorbell Offset: %u\n", q->properties.doorbell_off);
69 int init_queue(struct queue **q, const struct queue_properties *properties)
77 memcpy(&tmp_q->properties, properties, sizeof(*properties));
233 int kfd_queue_acquire_buffers(struct kfd_process_device *pdd, struct queue_properties *properties)
246 if (properties->type == KFD_QUEUE_TYPE_COMPUTE &&
247 properties->format == KFD_QUEUE_FORMAT_AQL &&
250 expected_queue_size = properties->queue_size / 2;
252 expected_queue_size = properties->queue_size;
259 err = kfd_queue_buffer_get(vm, properties->write_ptr, &properties->wptr_bo, PAGE_SIZE);
263 err = kfd_queue_buffer_get(vm, properties->read_ptr, &properties->rptr_bo, PAGE_SIZE);
267 err = kfd_queue_buffer_get(vm, (void *)properties->queue_address,
268 &properties->ring_bo, expected_queue_size);
273 if (properties->type != KFD_QUEUE_TYPE_COMPUTE)
277 if (properties->eop_ring_buffer_address) {
278 if (properties->eop_ring_buffer_size != topo_dev->node_props.eop_buffer_size) {
280 properties->eop_ring_buffer_size,
285 err = kfd_queue_buffer_get(vm, (void *)properties->eop_ring_buffer_address,
286 &properties->eop_buf_bo,
287 properties->eop_ring_buffer_size);
292 if (properties->ctl_stack_size != topo_dev->node_props.ctl_stack_size) {
294 properties->ctl_stack_size,
300 if (properties->ctx_save_restore_area_size != topo_dev->node_props.cwsr_size) {
302 properties->ctx_save_restore_area_size,
312 err = kfd_queue_buffer_get(vm, (void *)properties->ctx_save_restore_area_address,
313 &properties->cwsr_bo, total_cwsr_size);
319 err = kfd_queue_buffer_svm_get(pdd, properties->ctx_save_restore_area_address,
336 kfd_queue_unref_bo_vas(pdd, properties);
337 kfd_queue_release_buffers(pdd, properties);
341 int kfd_queue_release_buffers(struct kfd_process_device *pdd, struct queue_properties *properties)
346 kfd_queue_buffer_put(&properties->wptr_bo);
347 kfd_queue_buffer_put(&properties->rptr_bo);
348 kfd_queue_buffer_put(&properties->ring_bo);
349 kfd_queue_buffer_put(&properties->eop_buf_bo);
350 kfd_queue_buffer_put(&properties->cwsr_bo);
359 kfd_queue_buffer_svm_put(pdd, properties->ctx_save_restore_area_address, total_cwsr_size);
375 struct queue_properties *properties)
385 kfd_queue_unref_bo_va(vm, &properties->wptr_bo);
386 kfd_queue_unref_bo_va(vm, &properties->rptr_bo);
387 kfd_queue_unref_bo_va(vm, &properties->ring_bo);
388 kfd_queue_unref_bo_va(vm, &properties->eop_buf_bo);
389 kfd_queue_unref_bo_va(vm, &properties->cwsr_bo);