amdgpu: add ctx_id for wait_cs
authorJammy Zhou <Jammy.Zhou@amd.com>
Fri, 8 May 2015 10:34:20 +0000 (18:34 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 5 Aug 2015 17:47:49 +0000 (13:47 -0400)
Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: David Zhou <david1.zhou@amd.com>
amdgpu/amdgpu_cs.c
include/drm/amdgpu_drm.h

index b3defb8..b536497 100644 (file)
@@ -790,7 +790,7 @@ uint64_t amdgpu_cs_calculate_timeout(uint64_t timeout)
        return timeout;
 }
 
-static int amdgpu_ioctl_wait_cs(amdgpu_device_handle dev,
+static int amdgpu_ioctl_wait_cs(amdgpu_context_handle context,
                                unsigned ip,
                                unsigned ip_instance,
                                uint32_t ring,
@@ -798,6 +798,7 @@ static int amdgpu_ioctl_wait_cs(amdgpu_device_handle dev,
                                uint64_t timeout_ns,
                                bool *busy)
 {
+       amdgpu_device_handle dev = context->dev;
        union drm_amdgpu_wait_cs args;
        int r;
 
@@ -807,6 +808,7 @@ static int amdgpu_ioctl_wait_cs(amdgpu_device_handle dev,
        args.in.ip_instance = ip_instance;
        args.in.ring = ring;
        args.in.timeout = amdgpu_cs_calculate_timeout(timeout_ns);
+       args.in.ctx_id = context->id;
 
        /* Handle errors manually here because of timeout */
        r = ioctl(dev->fd, DRM_IOCTL_AMDGPU_WAIT_CS, &args);
@@ -871,7 +873,7 @@ int amdgpu_cs_query_fence_status(struct amdgpu_cs_query_fence *fence,
 
        pthread_mutex_unlock(&context->sequence_mutex);
 
-       r = amdgpu_ioctl_wait_cs(context->dev, ip_type, ip_instance, ring,
+       r = amdgpu_ioctl_wait_cs(context, ip_type, ip_instance, ring,
                                 fence->fence, fence->timeout_ns, &busy);
        if (!r && !busy) {
                *expired = true;
index 415a861..0acaccc 100644 (file)
@@ -260,7 +260,7 @@ struct drm_amdgpu_wait_cs_in {
        uint32_t ip_type;
        uint32_t ip_instance;
        uint32_t ring;
-       uint32_t _pad;
+       uint32_t ctx_id;
 };
 
 struct drm_amdgpu_wait_cs_out {