summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorPixel Ding <Pixel.Ding@amd.com>2017-11-08 10:20:01 +0800
committerAlex Deucher <alexander.deucher@amd.com>2017-11-08 17:55:14 -0500
commitdce1e131dd4dc68099ff1b70aa03cd2d0acf8639 (patch)
treebf4a0efb026336ea7e4fa40c96829d75839bf12b /drivers
parent78aa02c713fcf19e9bc8511ab61a5fd6c877cc01 (diff)
downloadlinux-stable-dce1e131dd4dc68099ff1b70aa03cd2d0acf8639.tar.gz
linux-stable-dce1e131dd4dc68099ff1b70aa03cd2d0acf8639.tar.bz2
linux-stable-dce1e131dd4dc68099ff1b70aa03cd2d0acf8639.zip
drm/amdgpu: bypass lru touch for KIQ ring submission
KIQ ring submission is used for register accessing on SRIOV VF that could happen both in irq enabled and irq disabled cases. Inversion lock could happen on adev->ring_lru_list_lock, while this operation is useless and just adds overhead in this use case. Signed-off-by: Pixel Ding <Pixel.Ding@amd.com> Reviewed-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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
index e5ece1fae149..a98fbbb4739f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
@@ -136,7 +136,8 @@ void amdgpu_ring_commit(struct amdgpu_ring *ring)
if (ring->funcs->end_use)
ring->funcs->end_use(ring);
- amdgpu_ring_lru_touch(ring->adev, ring);
+ if (ring->funcs->type != AMDGPU_RING_TYPE_KIQ)
+ amdgpu_ring_lru_touch(ring->adev, ring);
}
/**