From 442cb2b1db40ae23bbcfda0624c0546da186694c Mon Sep 17 00:00:00 2001 From: Mahantesh Kumbar Date: Mon, 24 Sep 2018 17:09:40 +0530 Subject: 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 Reviewed-on: https://git-master.nvidia.com/r/1842880 Reviewed-by: svc-misra-checker Reviewed-by: Thomas Fleury GVS: Gerrit_Virtual_Submit Reviewed-by: Vijayakumar Subbu Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/common/fb/fb_gv100.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'drivers') 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 @@ #define HW_SCRUB_TIMEOUT_MAX 2000000 /* usec */ #define MEM_UNLOCK_TIMEOUT 3500 /* msec */ +#define MEM_UNLOCK_PROD_BIN "mem_unlock.bin" +#define MEM_UNLOCK_DBG_BIN "mem_unlock_dbg.bin" + void gv100_fb_reset(struct gk20a *g) { u32 val; @@ -140,11 +143,16 @@ int gv100_fb_memory_unlock(struct gk20a *g) nvgpu_log_info(g, "fb_mmu_vpr_info = 0x%08x", gk20a_readl(g, fb_mmu_vpr_info_r())); + /* * mem_unlock.bin should be written to install * traps even if VPR isn’t actually supported */ - mem_unlock_fw = nvgpu_request_firmware(g, "mem_unlock.bin", 0); + if (!g->ops.pmu.is_debug_mode_enabled(g)) { + mem_unlock_fw = nvgpu_request_firmware(g, MEM_UNLOCK_PROD_BIN, 0); + } else { + mem_unlock_fw = nvgpu_request_firmware(g, MEM_UNLOCK_DBG_BIN, 0); + } if (!mem_unlock_fw) { nvgpu_err(g, "mem unlock ucode get fail"); err = -ENOENT; -- cgit v1.2.2