summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
diff options
context:
space:
mode:
authorVijayakumar <vsubbu@nvidia.com>2015-06-24 03:26:50 -0400
committerTerje Bergstrom <tbergstrom@nvidia.com>2015-06-26 16:14:53 -0400
commit30d399de307befc4edc2b8ca66c36ad2440d34f1 (patch)
tree6e94200cc3f0c8d320de3c413ec471939990355c /drivers/gpu/nvgpu/gk20a/gr_gk20a.c
parent25b540e5c9b4febaa0aedc8cfe3b3fcf6cfd56b8 (diff)
gpu: nvgpu: load secure gpccs using dma
bug 200080684 use new cmd defined in ucode for loading GR falcons. flip PRIV load flag in lsb header to indicate using dma. use pmu msg as cmd completion for new cmd instead of polling fecs mailbox. also move check for using dma in non secure boot path to hal. Change-Id: I22582a705bd1ae0603f858e1fe200d72e6794a81 Signed-off-by: Vijayakumar <vsubbu@nvidia.com> Reviewed-on: http://git-master/r/761625 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gr_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
index edd4c6c8..e232bf17 100644
--- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
@@ -2128,7 +2128,7 @@ int gr_gk20a_load_ctxsw_ucode(struct gk20a *g)
2128 * In case bootloader is not supported, revert to the old way of 2128 * In case bootloader is not supported, revert to the old way of
2129 * loading gr ucode, without the faster bootstrap routine. 2129 * loading gr ucode, without the faster bootstrap routine.
2130 */ 2130 */
2131 if (g->gpu_characteristics.arch > NVGPU_GPU_ARCH_GM200) { 2131 if (!g->ops.gr_ctx.use_dma_for_fw_bootstrap) {
2132 gr_gk20a_load_falcon_dmem(g); 2132 gr_gk20a_load_falcon_dmem(g);
2133 gr_gk20a_load_falcon_imem(g); 2133 gr_gk20a_load_falcon_imem(g);
2134 gr_gk20a_start_falcon_ucode(g); 2134 gr_gk20a_start_falcon_ucode(g);
@@ -2161,7 +2161,7 @@ static int gr_gk20a_wait_ctxsw_ready(struct gk20a *g)
2161 return ret; 2161 return ret;
2162 } 2162 }
2163 2163
2164 if (!(g->gpu_characteristics.arch > NVGPU_GPU_ARCH_GM200)) 2164 if (g->ops.gr_ctx.use_dma_for_fw_bootstrap || g->ops.securegpccs)
2165 gk20a_writel(g, gr_fecs_current_ctx_r(), 2165 gk20a_writel(g, gr_fecs_current_ctx_r(),
2166 gr_fecs_current_ctx_valid_false_f()); 2166 gr_fecs_current_ctx_valid_false_f());
2167 2167