summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c
index f5e35927..1c34c152 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.c
@@ -150,7 +150,7 @@ int gk20a_prepare_poweroff(struct gk20a *g)
150 150
151int gk20a_finalize_poweron(struct gk20a *g) 151int gk20a_finalize_poweron(struct gk20a *g)
152{ 152{
153 int err; 153 int err = 0;
154#if defined(CONFIG_TEGRA_GK20A_NVHOST) 154#if defined(CONFIG_TEGRA_GK20A_NVHOST)
155 u32 nr_pages; 155 u32 nr_pages;
156#endif 156#endif
@@ -182,9 +182,21 @@ int gk20a_finalize_poweron(struct gk20a *g)
182 } 182 }
183 183
184 /* init interface layer support for PMU falcon */ 184 /* init interface layer support for PMU falcon */
185 nvgpu_flcn_sw_init(g, FALCON_ID_PMU); 185 err = nvgpu_flcn_sw_init(g, FALCON_ID_PMU);
186 nvgpu_flcn_sw_init(g, FALCON_ID_SEC2); 186 if (err != 0) {
187 nvgpu_flcn_sw_init(g, FALCON_ID_NVDEC); 187 nvgpu_err(g, "failed to sw init FALCON_ID_PMU");
188 goto done;
189 }
190 err = nvgpu_flcn_sw_init(g, FALCON_ID_SEC2);
191 if (err != 0) {
192 nvgpu_err(g, "failed to sw init FALCON_ID_SEC2");
193 goto done;
194 }
195 err = nvgpu_flcn_sw_init(g, FALCON_ID_NVDEC);
196 if (err != 0) {
197 nvgpu_err(g, "failed to sw init FALCON_ID_NVDEC");
198 goto done;
199 }
188 200
189 if (g->ops.bios.init) { 201 if (g->ops.bios.init) {
190 err = g->ops.bios.init(g); 202 err = g->ops.bios.init(g);