drm/amdkfd: Initialize sdma vm when creating sdma queue
authorXihan Zhang <xihan.zhang@amd.com>
Tue, 28 Apr 2015 15:48:40 +0000 (23:48 +0800)
committerOded Gabbay <oded.gabbay@gmail.com>
Thu, 7 May 2015 14:38:06 +0000 (17:38 +0300)
This patch fixes a bug where sdma vm wasn't initialized when
an sdma queue was created in HWS mode.

This caused GPUVM faults to appear on dmesg and it is one of the
causes that SDMA queues are not working.

Signed-off-by: Xihan Zhang <xihan.zhang@amd.com>
Reviewed-by: Ben Goz <ben.goz@amd.comt>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
Cc: stable@vger.kernel.org
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c

index 7b1d5109e9f2311a61a78255ca6a89ebca0a7c1d..596ee5cd3b842df597c57ee890d16a97ec8cc9ae 100644 (file)
@@ -883,6 +883,8 @@ static int create_queue_cpsch(struct device_queue_manager *dqm, struct queue *q,
                return -ENOMEM;
        }
 
+       init_sdma_vm(dqm, q, qpd);
+
        retval = mqd->init_mqd(mqd, &q->mqd, &q->mqd_mem_obj,
                                &q->gart_mqd_addr, &q->properties);
        if (retval != 0)