summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
index 86b93245bf9d..1035e443700f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
@@ -642,8 +642,10 @@ static int amdgpu_cs_ib_fill(struct amdgpu_device *adev,
ib->is_const_ib = true;
if (chunk_ib->flags & AMDGPU_IB_FLAG_GDS)
ib->gds_needed = true;
- if (ib->ring->current_filp != parser->filp) {
+ if ((ib->ring->current_filp != parser->filp) ||
+ (ib->ring->current_ctx != parser->ctx_id)) {
ib->ring->need_ctx_switch = true;
+ ib->ring->current_ctx = parser->ctx_id;
ib->ring->current_filp = parser->filp;
}