diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.c | 12 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 1 |
2 files changed, 9 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index c48d7cf8..9ce2ef53 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c | |||
@@ -281,10 +281,14 @@ int gk20a_finalize_poweron(struct gk20a *g) | |||
281 | } | 281 | } |
282 | } | 282 | } |
283 | 283 | ||
284 | err = nvgpu_clk_arb_init_arbiter(g); | 284 | if (g->ops.pmu_ver.clk.clk_set_boot_clk && nvgpu_is_enabled(g, NVGPU_PMU_PSTATE)) |
285 | if (err) { | 285 | g->ops.pmu_ver.clk.clk_set_boot_clk(g); |
286 | nvgpu_err(g, "failed to init clk arb"); | 286 | else { |
287 | goto done; | 287 | err = nvgpu_clk_arb_init_arbiter(g); |
288 | if (err) { | ||
289 | nvgpu_err(g, "failed to init clk arb"); | ||
290 | goto done; | ||
291 | } | ||
288 | } | 292 | } |
289 | 293 | ||
290 | err = gk20a_init_therm_support(g); | 294 | err = gk20a_init_therm_support(g); |
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index 8f35e2c9..07ff28f6 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -820,6 +820,7 @@ struct gpu_ops { | |||
820 | struct nv_pmu_clk_rpc *rpccall, | 820 | struct nv_pmu_clk_rpc *rpccall, |
821 | struct set_fll_clk *setfllclk); | 821 | struct set_fll_clk *setfllclk); |
822 | u32 (*perf_pmu_vfe_load)(struct gk20a *g); | 822 | u32 (*perf_pmu_vfe_load)(struct gk20a *g); |
823 | u32 (*clk_set_boot_clk)(struct gk20a *g); | ||
823 | }clk; | 824 | }clk; |
824 | } pmu_ver; | 825 | } pmu_ver; |
825 | struct { | 826 | struct { |