diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index 9dca86fb3..51b0ba112 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c @@ -241,6 +241,9 @@ int gk20a_finalize_poweron(struct gk20a *g) goto done; } + /* init interface layer support for PMU falcon */ + nvgpu_flcn_sw_init(g, FALCON_ID_PMU); + if (g->ops.pmu.is_pmu_supported(g)) { if (g->ops.pmu.prepare_ucode) err = g->ops.pmu.prepare_ucode(g); diff --git a/drivers/gpu/nvgpu/gm20b/hal_gm20b.c b/drivers/gpu/nvgpu/gm20b/hal_gm20b.c index c190a83cc..62cd61194 100644 --- a/drivers/gpu/nvgpu/gm20b/hal_gm20b.c +++ b/drivers/gpu/nvgpu/gm20b/hal_gm20b.c @@ -17,6 +17,7 @@ #include "gk20a/dbg_gpu_gk20a.h" #include "gk20a/css_gr_gk20a.h" #include "gk20a/bus_gk20a.h" +#include "gk20a/flcn_gk20a.h" #include "ltc_gm20b.h" #include "ce2_gm20b.h" @@ -225,6 +226,7 @@ int gm20b_init_hal(struct gk20a *g) gm20b_init_ce2(gops); gm20b_init_gr_ctx(gops); gm20b_init_mm(gops); + gk20a_falcon_init_hal(gops); gm20b_init_pmu_ops(gops); gm20b_init_clk_ops(gops); gm20b_init_regops(gops); diff --git a/drivers/gpu/nvgpu/gp106/hal_gp106.c b/drivers/gpu/nvgpu/gp106/hal_gp106.c index 8f72522f8..e39843acc 100644 --- a/drivers/gpu/nvgpu/gp106/hal_gp106.c +++ b/drivers/gpu/nvgpu/gp106/hal_gp106.c @@ -18,6 +18,7 @@ #include "gk20a/css_gr_gk20a.h" #include "gk20a/bus_gk20a.h" #include "gk20a/pramin_gk20a.h" +#include "gk20a/flcn_gk20a.h" #include "gp10b/gr_gp10b.h" #include "gp10b/fecs_trace_gp10b.h" @@ -239,6 +240,7 @@ int gp106_init_hal(struct gk20a *g) gp10b_init_ce(gops); gp106_init_gr_ctx(gops); gp106_init_mm(gops); + gk20a_falcon_init_hal(gops); gp106_init_pmu_ops(gops); gk20a_init_debug_ops(gops); gk20a_init_dbg_session_ops(gops); diff --git a/drivers/gpu/nvgpu/gp10b/hal_gp10b.c b/drivers/gpu/nvgpu/gp10b/hal_gp10b.c index 0332897e6..e8cd6a718 100644 --- a/drivers/gpu/nvgpu/gp10b/hal_gp10b.c +++ b/drivers/gpu/nvgpu/gp10b/hal_gp10b.c @@ -18,6 +18,7 @@ #include "gk20a/css_gr_gk20a.h" #include "gk20a/bus_gk20a.h" #include "gk20a/pramin_gk20a.h" +#include "gk20a/flcn_gk20a.h" #include "gp10b/gr_gp10b.h" #include "gp10b/fecs_trace_gp10b.h" @@ -240,6 +241,7 @@ int gp10b_init_hal(struct gk20a *g) gp10b_init_ce(gops); gp10b_init_gr_ctx(gops); gp10b_init_mm(gops); + gk20a_falcon_init_hal(gops); gp10b_init_pmu_ops(gops); gk20a_init_debug_ops(gops); gk20a_init_dbg_session_ops(gops);