diff options
author | Mahantesh Kumbar <mkumbar@nvidia.com> | 2018-09-24 07:39:40 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-09-27 15:35:27 -0400 |
commit | 442cb2b1db40ae23bbcfda0624c0546da186694c (patch) | |
tree | 73ad17f12236bed6987adea5405224572f645e9c /drivers/gpu/nvgpu/common/fb | |
parent | 9f82897d026924d559ad46714add92bd78cf101d (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/fb')
-rw-r--r-- | drivers/gpu/nvgpu/common/fb/fb_gv100.c | 10 |
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 | |||
52 | void gv100_fb_reset(struct gk20a *g) | 55 | void 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; |