drm/amdgpu:introduce new flag to identify VM domain for cntx_ctrl
authorMonk Liu <Monk.Liu@amd.com>
Tue, 17 Jan 2017 02:55:42 +0000 (10:55 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 27 Jan 2017 16:13:35 +0000 (11:13 -0500)
To determine whether the context uses GPUVM or not.

Signed-off-by: Monk Liu <Monk.Liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu.h
drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c

index b0d9ae3b9893a8cde7f55e94087085e6b3aa9546..a0728ff8c80f95852bd2676900295044faedadd8 100644 (file)
@@ -950,6 +950,7 @@ struct amdgpu_cs_parser {
 #define AMDGPU_PREAMBLE_IB_PRESENT          (1 << 0) /* bit set means command submit involves a preamble IB */
 #define AMDGPU_PREAMBLE_IB_PRESENT_FIRST    (1 << 1) /* bit set means preamble IB is first presented in belonging context */
 #define AMDGPU_HAVE_CTX_SWITCH              (1 << 2) /* bit set means context switch occured */
+#define AMDGPU_VM_DOMAIN                    (1 << 3) /* bit set means in virtual memory context */
 
 struct amdgpu_job {
        struct amd_sched_job    base;
index 216a9572d946113301c867ebb44b1511368c21df..972e84e4344ea85eebebcfa7b67792767ee08ecb 100644 (file)
@@ -184,6 +184,9 @@ int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned num_ibs,
                if (need_ctx_switch)
                        status |= AMDGPU_HAVE_CTX_SWITCH;
                status |= job->preamble_status;
+
+               if (vm)
+                       status |= AMDGPU_VM_DOMAIN;
                amdgpu_ring_emit_cntxcntl(ring, status);
        }