From 2ff22399f88c5177a0f3a8ea8344db416425c2e4 Mon Sep 17 00:00:00 2001 From: Jay Cornwall Date: Wed, 24 Aug 2016 22:03:59 -0500 Subject: [PATCH 1494/4131] drm/amdkfd: Fix context save handler on ATC platforms The upstream context save handler carried a fix which had been backported incorrectly, leading to SQ_WAVE_STATUS.INST_ATC being cleared on context restore. This would cause a VM fault and hang the SQ on the Carrizo platform. Correct the value of SQ_WAVE_STATUS_SPI_PRIO_MASK. Signed-off-by: Jay Cornwall --- .../gpu/drm/amd/amdkfd/cwsr_trap_handler_carrizo.h | 438 ++++++++++----------- 1 file changed, 218 insertions(+), 220 deletions(-) diff --git a/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_carrizo.h b/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_carrizo.h index e8a9534..4e34083 100644 --- a/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_carrizo.h +++ b/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_carrizo.h @@ -22,7 +22,7 @@ #if 0 HW (VI) source code for CWSR trap handler -#Version 8 + multiple trap handler +#Version 9 + multiple trap handler var G8SR_WDMEM_HWREG_OFFSET = 0 var G8SR_WDMEM_SGPR_OFFSET = 128 // in bytes @@ -70,7 +70,7 @@ var SWIZZLE_EN = 0 //whether we use swizzled buffer addressing /**************************************************************************/ var SQ_WAVE_STATUS_INST_ATC_SHIFT = 23 var SQ_WAVE_STATUS_INST_ATC_MASK = 0x00800000 -var SQ_WAVE_STATUS_SPI_PRIO_MASK = 0x00800006 +var SQ_WAVE_STATUS_SPI_PRIO_MASK = 0x00000006 var SQ_WAVE_LDS_ALLOC_LDS_SIZE_SHIFT = 12 var SQ_WAVE_LDS_ALLOC_LDS_SIZE_SIZE = 9 @@ -1103,256 +1103,254 @@ function get_hwreg_size_bytes #endif static const uint32_t cwsr_trap_carrizo_hex[] = { - 0xbf820001, 0xbf820125, - 0xb8f4f802, 0x8974ff74, - 0x00800006, 0xb8f5f803, - 0x8675ff75, 0x00000400, - 0xbf850013, 0xc00a1e37, - 0x00000000, 0xbf8c007f, - 0x87777978, 0xbf840004, - 0xbeee007a, 0xbeef007b, - 0xb974f802, 0xbe801d78, + 0xbf820001, 0xbf820124, + 0xb8f4f802, 0x89748674, 0xb8f5f803, 0x8675ff75, - 0x000001ff, 0xbf850002, - 0x80708470, 0x82718071, - 0x8671ff71, 0x0000ffff, - 0xb974f802, 0xbe801f70, - 0xb8f5f803, 0x8675ff75, - 0x00000100, 0xbf840006, - 0xbefa0080, 0xb97a0203, - 0x8671ff71, 0x0000ffff, - 0x80f08870, 0x82f18071, - 0xbefa0080, 0xb97a0283, - 0xbef60068, 0xbef70069, - 0xb8fa1c07, 0x8e7a9c7a, - 0x87717a71, 0xb8fa03c7, - 0x8e7a9b7a, 0x87717a71, - 0xb8faf807, 0x867aff7a, - 0x00007fff, 0xb97af807, - 0xbef2007e, 0xbef3007f, - 0xbefe0180, 0xbf900004, - 0xbf8e0002, 0xbf88fffe, - 0xbef8007e, 0x8679ff7f, - 0x0000ffff, 0x8779ff79, - 0x00040000, 0xbefa0080, - 0xbefb00ff, 0x00807fac, - 0x867aff7f, 0x08000000, - 0x8f7a837a, 0x877b7a7b, - 0x867aff7f, 0x70000000, - 0x8f7a817a, 0x877b7a7b, - 0xbeef007c, 0xbeee0080, - 0xb8ee2a05, 0x806e816e, - 0x8e6e8a6e, 0xb8fa1605, - 0x807a817a, 0x8e7a867a, - 0x806e7a6e, 0xbefa0084, - 0xbefa00ff, 0x01000000, - 0xbefe007c, 0xbefc006e, - 0xc0611bfc, 0x0000007c, - 0x806e846e, 0xbefc007e, - 0xbefe007c, 0xbefc006e, - 0xc0611c3c, 0x0000007c, - 0x806e846e, 0xbefc007e, - 0xbefe007c, 0xbefc006e, - 0xc0611c7c, 0x0000007c, - 0x806e846e, 0xbefc007e, - 0xbefe007c, 0xbefc006e, - 0xc0611cbc, 0x0000007c, - 0x806e846e, 0xbefc007e, - 0xbefe007c, 0xbefc006e, - 0xc0611cfc, 0x0000007c, - 0x806e846e, 0xbefc007e, - 0xbefe007c, 0xbefc006e, - 0xc0611d3c, 0x0000007c, - 0x806e846e, 0xbefc007e, - 0xb8f5f803, 0xbefe007c, - 0xbefc006e, 0xc0611d7c, + 0x00000400, 0xbf850013, + 0xc00a1e37, 0x00000000, + 0xbf8c007f, 0x87777978, + 0xbf840004, 0xbeee007a, + 0xbeef007b, 0xb974f802, + 0xbe801d78, 0xb8f5f803, + 0x8675ff75, 0x000001ff, + 0xbf850002, 0x80708470, + 0x82718071, 0x8671ff71, + 0x0000ffff, 0xb974f802, + 0xbe801f70, 0xb8f5f803, + 0x8675ff75, 0x00000100, + 0xbf840006, 0xbefa0080, + 0xb97a0203, 0x8671ff71, + 0x0000ffff, 0x80f08870, + 0x82f18071, 0xbefa0080, + 0xb97a0283, 0xbef60068, + 0xbef70069, 0xb8fa1c07, + 0x8e7a9c7a, 0x87717a71, + 0xb8fa03c7, 0x8e7a9b7a, + 0x87717a71, 0xb8faf807, + 0x867aff7a, 0x00007fff, + 0xb97af807, 0xbef2007e, + 0xbef3007f, 0xbefe0180, + 0xbf900004, 0xbf8e0002, + 0xbf88fffe, 0xbef8007e, + 0x8679ff7f, 0x0000ffff, + 0x8779ff79, 0x00040000, + 0xbefa0080, 0xbefb00ff, + 0x00807fac, 0x867aff7f, + 0x08000000, 0x8f7a837a, + 0x877b7a7b, 0x867aff7f, + 0x70000000, 0x8f7a817a, + 0x877b7a7b, 0xbeef007c, + 0xbeee0080, 0xb8ee2a05, + 0x806e816e, 0x8e6e8a6e, + 0xb8fa1605, 0x807a817a, + 0x8e7a867a, 0x806e7a6e, + 0xbefa0084, 0xbefa00ff, + 0x01000000, 0xbefe007c, + 0xbefc006e, 0xc0611bfc, + 0x0000007c, 0x806e846e, + 0xbefc007e, 0xbefe007c, + 0xbefc006e, 0xc0611c3c, + 0x0000007c, 0x806e846e, + 0xbefc007e, 0xbefe007c, + 0xbefc006e, 0xc0611c7c, + 0x0000007c, 0x806e846e, + 0xbefc007e, 0xbefe007c, + 0xbefc006e, 0xc0611cbc, 0x0000007c, 0x806e846e, 0xbefc007e, 0xbefe007c, - 0xbefc006e, 0xc0611dbc, + 0xbefc006e, 0xc0611cfc, 0x0000007c, 0x806e846e, 0xbefc007e, 0xbefe007c, - 0xbefc006e, 0xc0611dfc, + 0xbefc006e, 0xc0611d3c, 0x0000007c, 0x806e846e, - 0xbefc007e, 0xb8eff801, + 0xbefc007e, 0xb8f5f803, 0xbefe007c, 0xbefc006e, - 0xc0611bfc, 0x0000007c, + 0xc0611d7c, 0x0000007c, 0x806e846e, 0xbefc007e, 0xbefe007c, 0xbefc006e, - 0xc0611b3c, 0x0000007c, + 0xc0611dbc, 0x0000007c, 0x806e846e, 0xbefc007e, 0xbefe007c, 0xbefc006e, - 0xc0611b7c, 0x0000007c, + 0xc0611dfc, 0x0000007c, 0x806e846e, 0xbefc007e, - 0x867aff7f, 0x04000000, - 0xbef30080, 0x8773737a, - 0xb8ee2a05, 0x806e816e, - 0x8e6e8a6e, 0xb8f51605, - 0x80758175, 0x8e758475, - 0x8e7a8275, 0xbefa00ff, - 0x01000000, 0xbef60178, - 0x80786e78, 0xbefc0080, - 0xbe802b00, 0xbe822b02, - 0xbe842b04, 0xbe862b06, - 0xbe882b08, 0xbe8a2b0a, - 0xbe8c2b0c, 0xbe8e2b0e, - 0xc06b003c, 0x00000000, - 0xc06b013c, 0x00000010, - 0xc06b023c, 0x00000020, - 0xc06b033c, 0x00000030, - 0x8078c078, 0x82798079, - 0x807c907c, 0xbf0a757c, - 0xbf85ffeb, 0xbef80176, - 0xbeee0080, 0xbefe00c1, - 0xbeff00c1, 0xbefa00ff, - 0x01000000, 0xe0724000, - 0x6e1e0000, 0xe0724100, - 0x6e1e0100, 0xe0724200, - 0x6e1e0200, 0xe0724300, - 0x6e1e0300, 0xbefe00c1, - 0xbeff00c1, 0xb8f54306, - 0x8675c175, 0xbf84002c, - 0xbf8a0000, 0x867aff73, - 0x04000000, 0xbf840028, - 0x8e758675, 0x8e758275, - 0xbefa0075, 0xb8ee2a05, + 0xb8eff801, 0xbefe007c, + 0xbefc006e, 0xc0611bfc, + 0x0000007c, 0x806e846e, + 0xbefc007e, 0xbefe007c, + 0xbefc006e, 0xc0611b3c, + 0x0000007c, 0x806e846e, + 0xbefc007e, 0xbefe007c, + 0xbefc006e, 0xc0611b7c, + 0x0000007c, 0x806e846e, + 0xbefc007e, 0x867aff7f, + 0x04000000, 0xbef30080, + 0x8773737a, 0xb8ee2a05, 0x806e816e, 0x8e6e8a6e, - 0xb8fa1605, 0x807a817a, - 0x8e7a867a, 0x806e7a6e, - 0x806eff6e, 0x00000080, + 0xb8f51605, 0x80758175, + 0x8e758475, 0x8e7a8275, 0xbefa00ff, 0x01000000, - 0xbefc0080, 0xd28c0002, - 0x000100c1, 0xd28d0003, - 0x000204c1, 0xd1060002, - 0x00011103, 0x7e0602ff, - 0x00000200, 0xbefc00ff, - 0x00010000, 0xbe80007b, - 0x867bff7b, 0xff7fffff, - 0x877bff7b, 0x00058000, - 0xd8ec0000, 0x00000002, - 0xbf8c007f, 0xe0765000, - 0x6e1e0002, 0x32040702, - 0xd0c9006a, 0x0000eb02, - 0xbf87fff7, 0xbefb0000, - 0xbeee00ff, 0x00000400, + 0xbef60178, 0x80786e78, + 0xbefc0080, 0xbe802b00, + 0xbe822b02, 0xbe842b04, + 0xbe862b06, 0xbe882b08, + 0xbe8a2b0a, 0xbe8c2b0c, + 0xbe8e2b0e, 0xc06b003c, + 0x00000000, 0xc06b013c, + 0x00000010, 0xc06b023c, + 0x00000020, 0xc06b033c, + 0x00000030, 0x8078c078, + 0x82798079, 0x807c907c, + 0xbf0a757c, 0xbf85ffeb, + 0xbef80176, 0xbeee0080, 0xbefe00c1, 0xbeff00c1, - 0xb8f52a05, 0x80758175, - 0x8e758275, 0x8e7a8875, 0xbefa00ff, 0x01000000, - 0xbefc0084, 0xbf0a757c, - 0xbf840015, 0xbf11017c, - 0x8075ff75, 0x00001000, - 0x7e000300, 0x7e020301, - 0x7e040302, 0x7e060303, 0xe0724000, 0x6e1e0000, 0xe0724100, 0x6e1e0100, 0xe0724200, 0x6e1e0200, 0xe0724300, 0x6e1e0300, - 0x807c847c, 0x806eff6e, - 0x00000400, 0xbf0a757c, - 0xbf85ffef, 0xbf9c0000, - 0xbf8200ca, 0xbef8007e, - 0x8679ff7f, 0x0000ffff, - 0x8779ff79, 0x00040000, - 0xbefa0080, 0xbefb00ff, - 0x00807fac, 0x8676ff7f, - 0x08000000, 0x8f768376, - 0x877b767b, 0x8676ff7f, - 0x70000000, 0x8f768176, - 0x877b767b, 0x8676ff7f, - 0x04000000, 0xbf84001e, 0xbefe00c1, 0xbeff00c1, - 0xb8f34306, 0x8673c173, - 0xbf840019, 0x8e738673, - 0x8e738273, 0xbefa0073, - 0xb8f22a05, 0x80728172, - 0x8e728a72, 0xb8f61605, - 0x80768176, 0x8e768676, - 0x80727672, 0x8072ff72, + 0xb8f54306, 0x8675c175, + 0xbf84002c, 0xbf8a0000, + 0x867aff73, 0x04000000, + 0xbf840028, 0x8e758675, + 0x8e758275, 0xbefa0075, + 0xb8ee2a05, 0x806e816e, + 0x8e6e8a6e, 0xb8fa1605, + 0x807a817a, 0x8e7a867a, + 0x806e7a6e, 0x806eff6e, 0x00000080, 0xbefa00ff, 0x01000000, 0xbefc0080, - 0xe0510000, 0x721e0000, - 0xe0510100, 0x721e0000, - 0x807cff7c, 0x00000200, - 0x8072ff72, 0x00000200, - 0xbf0a737c, 0xbf85fff6, - 0xbef20080, 0xbefe00c1, - 0xbeff00c1, 0xb8f32a05, - 0x80738173, 0x8e738273, - 0x8e7a8873, 0xbefa00ff, - 0x01000000, 0xbef60072, - 0x8072ff72, 0x00000400, - 0xbefc0084, 0xbf11087c, - 0x8073ff73, 0x00008000, - 0xe0524000, 0x721e0000, - 0xe0524100, 0x721e0100, - 0xe0524200, 0x721e0200, - 0xe0524300, 0x721e0300, - 0xbf8c0f70, 0x7e000300, + 0xd28c0002, 0x000100c1, + 0xd28d0003, 0x000204c1, + 0xd1060002, 0x00011103, + 0x7e0602ff, 0x00000200, + 0xbefc00ff, 0x00010000, + 0xbe80007b, 0x867bff7b, + 0xff7fffff, 0x877bff7b, + 0x00058000, 0xd8ec0000, + 0x00000002, 0xbf8c007f, + 0xe0765000, 0x6e1e0002, + 0x32040702, 0xd0c9006a, + 0x0000eb02, 0xbf87fff7, + 0xbefb0000, 0xbeee00ff, + 0x00000400, 0xbefe00c1, + 0xbeff00c1, 0xb8f52a05, + 0x80758175, 0x8e758275, + 0x8e7a8875, 0xbefa00ff, + 0x01000000, 0xbefc0084, + 0xbf0a757c, 0xbf840015, + 0xbf11017c, 0x8075ff75, + 0x00001000, 0x7e000300, 0x7e020301, 0x7e040302, - 0x7e060303, 0x807c847c, - 0x8072ff72, 0x00000400, - 0xbf0a737c, 0xbf85ffee, - 0xbf9c0000, 0xe0524000, - 0x761e0000, 0xe0524100, - 0x761e0100, 0xe0524200, - 0x761e0200, 0xe0524300, - 0x761e0300, 0xb8f22a05, - 0x80728172, 0x8e728a72, - 0xb8f61605, 0x80768176, - 0x8e768676, 0x80727672, - 0x80f2c072, 0xb8f31605, - 0x80738173, 0x8e738473, - 0x8e7a8273, 0xbefa00ff, - 0x01000000, 0xbefc0073, - 0xc031003c, 0x00000072, - 0x80f2c072, 0xbf8c007f, - 0x80fc907c, 0xbe802d00, - 0xbe822d02, 0xbe842d04, - 0xbe862d06, 0xbe882d08, - 0xbe8a2d0a, 0xbe8c2d0c, - 0xbe8e2d0e, 0xbf06807c, - 0xbf84fff1, 0xb8f22a05, + 0x7e060303, 0xe0724000, + 0x6e1e0000, 0xe0724100, + 0x6e1e0100, 0xe0724200, + 0x6e1e0200, 0xe0724300, + 0x6e1e0300, 0x807c847c, + 0x806eff6e, 0x00000400, + 0xbf0a757c, 0xbf85ffef, + 0xbf9c0000, 0xbf8200ca, + 0xbef8007e, 0x8679ff7f, + 0x0000ffff, 0x8779ff79, + 0x00040000, 0xbefa0080, + 0xbefb00ff, 0x00807fac, + 0x8676ff7f, 0x08000000, + 0x8f768376, 0x877b767b, + 0x8676ff7f, 0x70000000, + 0x8f768176, 0x877b767b, + 0x8676ff7f, 0x04000000, + 0xbf84001e, 0xbefe00c1, + 0xbeff00c1, 0xb8f34306, + 0x8673c173, 0xbf840019, + 0x8e738673, 0x8e738273, + 0xbefa0073, 0xb8f22a05, 0x80728172, 0x8e728a72, 0xb8f61605, 0x80768176, 0x8e768676, 0x80727672, - 0xbefa0084, 0xbefa00ff, - 0x01000000, 0xc0211cfc, + 0x8072ff72, 0x00000080, + 0xbefa00ff, 0x01000000, + 0xbefc0080, 0xe0510000, + 0x721e0000, 0xe0510100, + 0x721e0000, 0x807cff7c, + 0x00000200, 0x8072ff72, + 0x00000200, 0xbf0a737c, + 0xbf85fff6, 0xbef20080, + 0xbefe00c1, 0xbeff00c1, + 0xb8f32a05, 0x80738173, + 0x8e738273, 0x8e7a8873, + 0xbefa00ff, 0x01000000, + 0xbef60072, 0x8072ff72, + 0x00000400, 0xbefc0084, + 0xbf11087c, 0x8073ff73, + 0x00008000, 0xe0524000, + 0x721e0000, 0xe0524100, + 0x721e0100, 0xe0524200, + 0x721e0200, 0xe0524300, + 0x721e0300, 0xbf8c0f70, + 0x7e000300, 0x7e020301, + 0x7e040302, 0x7e060303, + 0x807c847c, 0x8072ff72, + 0x00000400, 0xbf0a737c, + 0xbf85ffee, 0xbf9c0000, + 0xe0524000, 0x761e0000, + 0xe0524100, 0x761e0100, + 0xe0524200, 0x761e0200, + 0xe0524300, 0x761e0300, + 0xb8f22a05, 0x80728172, + 0x8e728a72, 0xb8f61605, + 0x80768176, 0x8e768676, + 0x80727672, 0x80f2c072, + 0xb8f31605, 0x80738173, + 0x8e738473, 0x8e7a8273, + 0xbefa00ff, 0x01000000, + 0xbefc0073, 0xc031003c, + 0x00000072, 0x80f2c072, + 0xbf8c007f, 0x80fc907c, + 0xbe802d00, 0xbe822d02, + 0xbe842d04, 0xbe862d06, + 0xbe882d08, 0xbe8a2d0a, + 0xbe8c2d0c, 0xbe8e2d0e, + 0xbf06807c, 0xbf84fff1, + 0xb8f22a05, 0x80728172, + 0x8e728a72, 0xb8f61605, + 0x80768176, 0x8e768676, + 0x80727672, 0xbefa0084, + 0xbefa00ff, 0x01000000, + 0xc0211cfc, 0x00000072, + 0x80728472, 0xc0211c3c, 0x00000072, 0x80728472, - 0xc0211c3c, 0x00000072, - 0x80728472, 0xc0211c7c, + 0xc0211c7c, 0x00000072, + 0x80728472, 0xc0211bbc, 0x00000072, 0x80728472, - 0xc0211bbc, 0x00000072, - 0x80728472, 0xc0211bfc, + 0xc0211bfc, 0x00000072, + 0x80728472, 0xc0211d3c, 0x00000072, 0x80728472, - 0xc0211d3c, 0x00000072, - 0x80728472, 0xc0211d7c, + 0xc0211d7c, 0x00000072, + 0x80728472, 0xc0211a3c, 0x00000072, 0x80728472, - 0xc0211a3c, 0x00000072, - 0x80728472, 0xc0211a7c, + 0xc0211a7c, 0x00000072, + 0x80728472, 0xc0211dfc, 0x00000072, 0x80728472, - 0xc0211dfc, 0x00000072, - 0x80728472, 0xc0211b3c, + 0xc0211b3c, 0x00000072, + 0x80728472, 0xc0211b7c, 0x00000072, 0x80728472, - 0xc0211b7c, 0x00000072, - 0x80728472, 0xbf8c007f, - 0x8671ff71, 0x0000ffff, - 0xbefc0073, 0xbefe006e, - 0xbeff006f, 0x867375ff, - 0x000003ff, 0xb9734803, - 0x867375ff, 0xfffff800, - 0x8f738b73, 0xb973a2c3, - 0xb977f801, 0x8673ff71, - 0xf0000000, 0x8f739c73, - 0x8e739073, 0xbef60080, - 0x87767376, 0x8673ff71, - 0x08000000, 0x8f739b73, - 0x8e738f73, 0x87767376, - 0x8673ff74, 0x00800000, - 0x8f739773, 0xb976f807, - 0x86fe7e7e, 0x86ea6a6a, - 0xb974f802, 0xbf8a0000, - 0x95807370, 0xbf810000, - 0x00000000, 0x00000000, - + 0xbf8c007f, 0x8671ff71, + 0x0000ffff, 0xbefc0073, + 0xbefe006e, 0xbeff006f, + 0x867375ff, 0x000003ff, + 0xb9734803, 0x867375ff, + 0xfffff800, 0x8f738b73, + 0xb973a2c3, 0xb977f801, + 0x8673ff71, 0xf0000000, + 0x8f739c73, 0x8e739073, + 0xbef60080, 0x87767376, + 0x8673ff71, 0x08000000, + 0x8f739b73, 0x8e738f73, + 0x87767376, 0x8673ff74, + 0x00800000, 0x8f739773, + 0xb976f807, 0x86fe7e7e, + 0x86ea6a6a, 0xb974f802, + 0xbf8a0000, 0x95807370, + 0xbf810000, 0x00000000, }; -- 2.7.4