summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm206/bios_gm206.c
diff options
context:
space:
mode:
authorMahantesh Kumbar <mkumbar@nvidia.com>2017-07-05 06:42:29 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-07-06 02:25:27 -0400
commit79a79b8ae6987e5620c9bc7ee080fe637a6ca57b (patch)
tree5e482d8d1a584e9496b2daa880adfd00b5f65ecb /drivers/gpu/nvgpu/gm206/bios_gm206.c
parent3afac13d66ee7026555c0b0558d898a4f189b051 (diff)
gpu: nvgpu: falcon bootstrap support
- Added falcon interface/HAL to bootstrap falcon by taking boot vector as parameter - Replaced falcon bootstrap code in multiple files with nvgpu_flcn_bootstrap() method JIRA NVGPU-102 Change-Id: I4324824c50c6196d8b7ecf981f815ec778da2fd9 Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com> Reviewed-on: https://git-master/r/1513643 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gm206/bios_gm206.c')
-rw-r--r--drivers/gpu/nvgpu/gm206/bios_gm206.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/drivers/gpu/nvgpu/gm206/bios_gm206.c b/drivers/gpu/nvgpu/gm206/bios_gm206.c
index 14610120..13f5023a 100644
--- a/drivers/gpu/nvgpu/gm206/bios_gm206.c
+++ b/drivers/gpu/nvgpu/gm206/bios_gm206.c
@@ -101,12 +101,7 @@ static int gm206_bios_devinit(struct gk20a *g)
101 g->bios.bootscripts_size, 101 g->bios.bootscripts_size,
102 0); 102 0);
103 103
104 gk20a_writel(g, pwr_falcon_bootvec_r(), 104 nvgpu_flcn_bootstrap(g->pmu.flcn, g->bios.devinit.code_entry_point);
105 pwr_falcon_bootvec_vec_f(g->bios.devinit.code_entry_point));
106 gk20a_writel(g, pwr_falcon_dmactl_r(),
107 pwr_falcon_dmactl_require_ctx_f(0));
108 gk20a_writel(g, pwr_falcon_cpuctl_r(),
109 pwr_falcon_cpuctl_startcpu_f(1));
110 105
111 nvgpu_timeout_init(g, &timeout, 106 nvgpu_timeout_init(g, &timeout,
112 PMU_BOOT_TIMEOUT_MAX / 107 PMU_BOOT_TIMEOUT_MAX /
@@ -155,12 +150,7 @@ static int gm206_bios_preos(struct gk20a *g)
155 g->bios.preos.dmem_size, 150 g->bios.preos.dmem_size,
156 0); 151 0);
157 152
158 gk20a_writel(g, pwr_falcon_bootvec_r(), 153 nvgpu_flcn_bootstrap(g->pmu.flcn, g->bios.preos.code_entry_point);
159 pwr_falcon_bootvec_vec_f(g->bios.preos.code_entry_point));
160 gk20a_writel(g, pwr_falcon_dmactl_r(),
161 pwr_falcon_dmactl_require_ctx_f(0));
162 gk20a_writel(g, pwr_falcon_cpuctl_r(),
163 pwr_falcon_cpuctl_startcpu_f(1));
164 154
165 if (nvgpu_flcn_wait_for_halt(g->pmu.flcn, 155 if (nvgpu_flcn_wait_for_halt(g->pmu.flcn,
166 PMU_BOOT_TIMEOUT_MAX / PMU_BOOT_TIMEOUT_DEFAULT)) { 156 PMU_BOOT_TIMEOUT_MAX / PMU_BOOT_TIMEOUT_DEFAULT)) {