drm/amdgpu: fix TC cache flushing
authorMarek Olšák <marek.olsak@amd.com>
Thu, 28 Apr 2016 12:32:44 +0000 (14:32 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 11 May 2016 17:51:15 +0000 (13:51 -0400)
TC_WB_ACTION must be set according to the docs

Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c

index 1dab5f2b725bb42d5792869239774ffef1f48427..0dee008bcc57c3d8de6e8305640ab1f4329dd618 100644 (file)
  * KMS wrapper.
  * - 3.0.0 - initial driver
  * - 3.1.0 - allow reading more status registers (GRBM, SRBM, SDMA, CP)
+ * - 3.2.0 - GFX8: Uses EOP_TC_WB_ACTION_EN, so UMDs don't have to do the same
+ *           at the end of IBs.
  */
 #define KMS_DRIVER_MAJOR       3
-#define KMS_DRIVER_MINOR       1
+#define KMS_DRIVER_MINOR       2
 #define KMS_DRIVER_PATCHLEVEL  0
 
 int amdgpu_vram_limit = 0;
index 92647fbf5b8b44700f4cd5aa4d27b4d0a9c5b428..ef192aad7d2fe3f664bd86a5f85d4d25fb31749c 100644 (file)
@@ -5725,6 +5725,7 @@ static void gfx_v8_0_ring_emit_fence_gfx(struct amdgpu_ring *ring, u64 addr,
        amdgpu_ring_write(ring, PACKET3(PACKET3_EVENT_WRITE_EOP, 4));
        amdgpu_ring_write(ring, (EOP_TCL1_ACTION_EN |
                                 EOP_TC_ACTION_EN |
+                                EOP_TC_WB_ACTION_EN |
                                 EVENT_TYPE(CACHE_FLUSH_AND_INV_TS_EVENT) |
                                 EVENT_INDEX(5)));
        amdgpu_ring_write(ring, addr & 0xfffffffc);