diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2033-drm-amdkfd-Fix-to-use-kiq.ring_lock-instead-of-kiq.r.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2033-drm-amdkfd-Fix-to-use-kiq.ring_lock-instead-of-kiq.r.patch | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2033-drm-amdkfd-Fix-to-use-kiq.ring_lock-instead-of-kiq.r.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2033-drm-amdkfd-Fix-to-use-kiq.ring_lock-instead-of-kiq.r.patch new file mode 100644 index 00000000..f0a5749b --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2033-drm-amdkfd-Fix-to-use-kiq.ring_lock-instead-of-kiq.r.patch @@ -0,0 +1,61 @@ +From b52bea1730954ff91580ffbac54ae44533eca548 Mon Sep 17 00:00:00 2001 +From: "Le.Ma" <Le.Ma@amd.com> +Date: Fri, 20 Oct 2017 10:06:06 +0800 +Subject: [PATCH 2033/4131] drm/amdkfd: Fix to use kiq.ring_lock instead of + kiq.ring_mutex + +Change-Id: I2cecaf30c15112e1bc2cc08a388a848279350920 +Signed-off-by: Le.Ma <Le.Ma@amd.com> +Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c | 4 ++-- + drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c +index 4c5d39a..3cf283f 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c +@@ -798,7 +798,7 @@ static int invalidate_tlbs_with_kiq(struct amdgpu_device *adev, uint16_t pasid) + struct dma_fence *f; + struct amdgpu_ring *ring = &adev->gfx.kiq.ring; + +- mutex_lock(&adev->gfx.kiq.ring_mutex); ++ spin_lock(&adev->gfx.kiq.ring_lock); + amdgpu_ring_alloc(ring, 12); /* fence + invalidate_tlbs package*/ + amdgpu_ring_write(ring, PACKET3(PACKET3_INVALIDATE_TLBS, 0)); + amdgpu_ring_write(ring, +@@ -806,7 +806,7 @@ static int invalidate_tlbs_with_kiq(struct amdgpu_device *adev, uint16_t pasid) + PACKET3_INVALIDATE_TLBS_PASID(pasid)); + amdgpu_fence_emit(ring, &f); + amdgpu_ring_commit(ring); +- mutex_unlock(&adev->gfx.kiq.ring_mutex); ++ spin_unlock(&adev->gfx.kiq.ring_lock); + + r = dma_fence_wait(f, false); + if (r) +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c +index 25c3454..b7d3485 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c +@@ -972,7 +972,7 @@ static int invalidate_tlbs_with_kiq(struct amdgpu_device *adev, uint16_t pasid) + struct dma_fence *f; + struct amdgpu_ring *ring = &adev->gfx.kiq.ring; + +- mutex_lock(&adev->gfx.kiq.ring_mutex); ++ spin_lock(&adev->gfx.kiq.ring_lock); + amdgpu_ring_alloc(ring, 12); /* fence + invalidate_tlbs package*/ + amdgpu_ring_write(ring, PACKET3(PACKET3_INVALIDATE_TLBS, 0)); + amdgpu_ring_write(ring, +@@ -982,7 +982,7 @@ static int invalidate_tlbs_with_kiq(struct amdgpu_device *adev, uint16_t pasid) + PACKET3_INVALIDATE_TLBS_FLUSH_TYPE(2)); + amdgpu_fence_emit(ring, &f); + amdgpu_ring_commit(ring); +- mutex_unlock(&adev->gfx.kiq.ring_mutex); ++ spin_unlock(&adev->gfx.kiq.ring_lock); + + r = dma_fence_wait(f, false); + if (r) +-- +2.7.4 + |