OSDN Git Service

drm/amdkfd: Use volatile MTYPE in default/alternate apertures
authorJay Cornwall <Jay.Cornwall@amd.com>
Tue, 1 May 2018 21:56:03 +0000 (17:56 -0400)
committerOded Gabbay <oded.gabbay@gmail.com>
Tue, 1 May 2018 21:56:03 +0000 (17:56 -0400)
MTYPE_NC_NV (0) marks scalar/vector L1 cache lines as non-volatile.
Cache lines loaded through these apertures are intended to be
invalidated before (and sometimes during) a dispatch. The non-volatile
qualifier prevents these cache lines from being distinguished from
those loaded through the private aperture.

Use MTYPE_NC (1) instead on both Gfx7 and Gfx8. This allows the
compiler to use the BUFFER_WBINVL1_VOL instruction and is a precursor
to automatic per-dispatch scalar/vector L1 volatile invalidation.

Signed-off-by: Jay Cornwall <Jay.Cornwall@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
drivers/gpu/drm/amd/amdkfd/cik_regs.h

index 48769d1..37ce6dd 100644 (file)
@@ -33,7 +33,8 @@
 #define        APE1_MTYPE(x)                                   ((x) << 7)
 
 /* valid for both DEFAULT_MTYPE and APE1_MTYPE */
-#define        MTYPE_CACHED                                    0
+#define        MTYPE_CACHED_NV                                 0
+#define        MTYPE_CACHED                                    1
 #define        MTYPE_NONCACHED                                 3
 
 #define        DEFAULT_CP_HQD_PERSISTENT_STATE                 (0x33U << 8)