summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common
diff options
context:
space:
mode:
authorMahantesh Kumbar <mkumbar@nvidia.com>2018-09-24 07:39:40 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-09-27 15:35:27 -0400
commit442cb2b1db40ae23bbcfda0624c0546da186694c (patch)
tree73ad17f12236bed6987adea5405224572f645e9c /drivers/gpu/nvgpu/common
parent9f82897d026924d559ad46714add92bd78cf101d (diff)
gpu: nvgpu: Add support to load dbg/prod mem_unlock ucode
-Add support to load dbg/prod mem_unlock ucode based on debug Signal SCP_CTL_STAT_DEBUG_MODE. -Defined MEM_UNLOCK_PROD_BIN & MEM_UNLOCK_DBG_BIN to hold dbg/prod ucode names. JIRA NVGPUT-76 Change-Id: Ie282a281fe502ada31a69e3b3c734e9a3a725395 Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1842880 Reviewed-by: svc-misra-checker <svc-misra-checker@nvidia.com> Reviewed-by: Thomas Fleury <tfleury@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/common')
-rw-r--r--drivers/gpu/nvgpu/common/fb/fb_gv100.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/common/fb/fb_gv100.c b/drivers/gpu/nvgpu/common/fb/fb_gv100.c
index 967af51b..3bfac676 100644
--- a/drivers/gpu/nvgpu/common/fb/fb_gv100.c
+++ b/drivers/gpu/nvgpu/common/fb/fb_gv100.c
@@ -49,6 +49,9 @@
49#define HW_SCRUB_TIMEOUT_MAX 2000000 /* usec */ 49#define HW_SCRUB_TIMEOUT_MAX 2000000 /* usec */
50#define MEM_UNLOCK_TIMEOUT 3500 /* msec */ 50#define MEM_UNLOCK_TIMEOUT 3500 /* msec */
51 51
52#define MEM_UNLOCK_PROD_BIN "mem_unlock.bin"
53#define MEM_UNLOCK_DBG_BIN "mem_unlock_dbg.bin"
54
52void gv100_fb_reset(struct gk20a *g) 55void gv100_fb_reset(struct gk20a *g)
53{ 56{
54 u32 val; 57 u32 val;
@@ -140,11 +143,16 @@ int gv100_fb_memory_unlock(struct gk20a *g)
140 143
141 nvgpu_log_info(g, "fb_mmu_vpr_info = 0x%08x", 144 nvgpu_log_info(g, "fb_mmu_vpr_info = 0x%08x",
142 gk20a_readl(g, fb_mmu_vpr_info_r())); 145 gk20a_readl(g, fb_mmu_vpr_info_r()));
146
143 /* 147 /*
144 * mem_unlock.bin should be written to install 148 * mem_unlock.bin should be written to install
145 * traps even if VPR isn’t actually supported 149 * traps even if VPR isn’t actually supported
146 */ 150 */
147 mem_unlock_fw = nvgpu_request_firmware(g, "mem_unlock.bin", 0); 151 if (!g->ops.pmu.is_debug_mode_enabled(g)) {
152 mem_unlock_fw = nvgpu_request_firmware(g, MEM_UNLOCK_PROD_BIN, 0);
153 } else {
154 mem_unlock_fw = nvgpu_request_firmware(g, MEM_UNLOCK_DBG_BIN, 0);
155 }
148 if (!mem_unlock_fw) { 156 if (!mem_unlock_fw) {
149 nvgpu_err(g, "mem unlock ucode get fail"); 157 nvgpu_err(g, "mem unlock ucode get fail");
150 err = -ENOENT; 158 err = -ENOENT;