diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.c | 20 |
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 | ||
151 | int gk20a_finalize_poweron(struct gk20a *g) | 151 | int 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); |