aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
diff options
context:
space:
mode:
authorMonk Liu <Monk.Liu@amd.com>2016-08-26 01:28:28 -0400
committerAlex Deucher <alexander.deucher@amd.com>2016-09-14 15:10:29 -0400
commit753ad49c9fdfc732972b0d03f2889f473ed35e59 (patch)
tree5b56188b3eb258fdcb167503979d657a0e9699be /drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
parent1db422de72c31fcf81f31311468a747aad389fa5 (diff)
drm/amdgpu:implement CONTEXT_CONTROL (v5)
v1: for gfx8, use CONTEXT_CONTROL package to dynamically skip preamble CEIB and other load_xxx command in sequence. v2: support GFX7 as well. remove cntxcntl in compute ring funcs because CPC doesn't support this packet. v3: fix reduntant judgement in cntxcntl. v4: some cleanups, don't change cs_submit() v5: keep old MESA supported & bump up KMS version. Signed-off-by: Monk Liu <Monk.Liu@amd.com> Ack-by: Chunming Zhou <David1.Zhou@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
index 56bde6436a1f..61b7e25535bf 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
@@ -850,6 +850,14 @@ static int amdgpu_cs_ib_fill(struct amdgpu_device *adev,
850 if (r) 850 if (r)
851 return r; 851 return r;
852 852
853 if (ib->flags & AMDGPU_IB_FLAG_PREAMBLE) {
854 parser->job->preamble_status |= AMDGPU_PREAMBLE_IB_PRESENT;
855 if (!parser->ctx->preamble_presented) {
856 parser->job->preamble_status |= AMDGPU_PREAMBLE_IB_PRESENT_FIRST;
857 parser->ctx->preamble_presented = true;
858 }
859 }
860
853 if (parser->job->ring && parser->job->ring != ring) 861 if (parser->job->ring && parser->job->ring != ring)
854 return -EINVAL; 862 return -EINVAL;
855 863