summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;