drm/amdkfd: Pass 'struct queue_propertices' by reference
authorEdward O'Callaghan <funfunctor@folklore1984.net>
Sat, 17 Sep 2016 05:01:45 +0000 (15:01 +1000)
committerOded Gabbay <oded.gabbay@gmail.com>
Mon, 19 Sep 2016 17:58:35 +0000 (20:58 +0300)
Allow init_queue() to take 'struct queue_properties' by reference.

Signed-off-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c
drivers/gpu/drm/amd/amdkfd/kfd_priv.h
drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
drivers/gpu/drm/amd/amdkfd/kfd_queue.c

index 291c69d6b58cac23a2c76ceae6d07329399caf37..d135cd002a951edc873cfaab44be77fa4db69aec 100644 (file)
@@ -124,7 +124,7 @@ static bool initialize(struct kernel_queue *kq, struct kfd_dev *dev,
        prop.eop_ring_buffer_address = kq->eop_gpu_addr;
        prop.eop_ring_buffer_size = PAGE_SIZE;
 
-       if (init_queue(&kq->queue, prop) != 0)
+       if (init_queue(&kq->queue, &prop) != 0)
                goto err_init_queue;
 
        kq->queue->device = dev;
index 80113c335966889afbe6c9a8c58f7e219b18e418..4750cabe42521c29338ff54f0de559c9321589d9 100644 (file)
@@ -619,7 +619,7 @@ int kfd_init_apertures(struct kfd_process *process);
 /* Queue Context Management */
 struct cik_sdma_rlc_registers *get_sdma_mqd(void *mqd);
 
-int init_queue(struct queue **q, struct queue_properties properties);
+int init_queue(struct queue **q, const struct queue_properties *properties);
 void uninit_queue(struct queue *q);
 void print_queue_properties(struct queue_properties *q);
 void print_queue(struct queue *q);
index 7b69070f7ecc5eb58833f0ff828f7a934f7bd1d6..e1fb40b84c72f84f48a13be1e2b467d6dff80bb0 100644 (file)
@@ -129,7 +129,7 @@ static int create_cp_queue(struct process_queue_manager *pqm,
        q_properties->vmid = 0;
        q_properties->queue_id = qid;
 
-       retval = init_queue(q, *q_properties);
+       retval = init_queue(q, q_properties);
        if (retval != 0)
                goto err_init_queue;
 
index 9a0c90b0702eef4ced8ff7cc9ec2ab2cb23b57c8..0ab197077f2dc03e18a6e96ea5ddc179c8d0d498 100644 (file)
@@ -63,7 +63,7 @@ void print_queue(struct queue *q)
        pr_debug("Queue Device Address: 0x%p\n", q->device);
 }
 
-int init_queue(struct queue **q, struct queue_properties properties)
+int init_queue(struct queue **q, const struct queue_properties *properties)
 {
        struct queue *tmp;
 
@@ -73,7 +73,7 @@ int init_queue(struct queue **q, struct queue_properties properties)
        if (!tmp)
                return -ENOMEM;
 
-       memcpy(&tmp->properties, &properties, sizeof(struct queue_properties));
+       memcpy(&tmp->properties, properties, sizeof(struct queue_properties));
 
        *q = tmp;
        return 0;