aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0258-drm-amdgpu-remove-the-VI-hardware-semaphore-in-ring-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0258-drm-amdgpu-remove-the-VI-hardware-semaphore-in-ring-.patch')
-rw-r--r--meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0258-drm-amdgpu-remove-the-VI-hardware-semaphore-in-ring-.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0258-drm-amdgpu-remove-the-VI-hardware-semaphore-in-ring-.patch b/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0258-drm-amdgpu-remove-the-VI-hardware-semaphore-in-ring-.patch
new file mode 100644
index 00000000..5d14513e
--- /dev/null
+++ b/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0258-drm-amdgpu-remove-the-VI-hardware-semaphore-in-ring-.patch
@@ -0,0 +1,39 @@
+From 147dbfbc54e460682eba3494370ea33e9fd5e9b0 Mon Sep 17 00:00:00 2001
+From: David Zhang <david1.zhang@amd.com>
+Date: Thu, 11 Jun 2015 02:28:56 +0800
+Subject: [PATCH 0258/1050] drm/amdgpu: remove the VI hardware semaphore in
+ ring sync
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: David Zhang <david1.zhang@amd.com>
+
+Reviewed-by: Christian König <christian.koenig@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
+index 698ea6c..70cc6bd 100644
+--- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
+@@ -3783,11 +3783,10 @@ static bool gfx_v8_0_ring_emit_semaphore(struct amdgpu_ring *ring,
+ unsigned sel = emit_wait ? PACKET3_SEM_SEL_WAIT : PACKET3_SEM_SEL_SIGNAL;
+
+ if (ring->adev->asic_type == CHIP_TOPAZ ||
+- ring->adev->asic_type == CHIP_TONGA) {
+- amdgpu_ring_write(ring, PACKET3(PACKET3_MEM_SEMAPHORE, 1));
+- amdgpu_ring_write(ring, lower_32_bits(addr));
+- amdgpu_ring_write(ring, (upper_32_bits(addr) & 0xffff) | sel);
+- } else {
++ ring->adev->asic_type == CHIP_TONGA)
++ /* we got a hw semaphore bug in VI TONGA, return false to switch back to sw fence wait */
++ return false;
++ else {
+ amdgpu_ring_write(ring, PACKET3(PACKET3_MEM_SEMAPHORE, 2));
+ amdgpu_ring_write(ring, lower_32_bits(addr));
+ amdgpu_ring_write(ring, upper_32_bits(addr));
+--
+1.9.1
+