summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm20b/hal_gm20b.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gm20b/hal_gm20b.c')
-rw-r--r--drivers/gpu/nvgpu/gm20b/hal_gm20b.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/hal_gm20b.c b/drivers/gpu/nvgpu/gm20b/hal_gm20b.c
index c2bccbee..c16cd3e5 100644
--- a/drivers/gpu/nvgpu/gm20b/hal_gm20b.c
+++ b/drivers/gpu/nvgpu/gm20b/hal_gm20b.c
@@ -277,6 +277,17 @@ static const struct gpu_ops gm20b_ops = {
277 .init_therm_setup_hw = gm20b_init_therm_setup_hw, 277 .init_therm_setup_hw = gm20b_init_therm_setup_hw,
278 .elcg_init_idle_filters = gk20a_elcg_init_idle_filters, 278 .elcg_init_idle_filters = gk20a_elcg_init_idle_filters,
279 }, 279 },
280 .clk = {
281 .init_clk_support = gm20b_init_clk_support,
282 .suspend_clk_support = gm20b_suspend_clk_support,
283#ifdef CONFIG_DEBUG_FS
284 .init_debugfs = gm20b_clk_init_debugfs,
285#endif
286 .get_voltage = gm20b_clk_get_voltage,
287 .get_gpcclk_clock_counter = gm20b_clk_get_gpcclk_clock_counter,
288 .pll_reg_write = gm20b_clk_pll_reg_write,
289 .get_pll_debug_data = gm20b_clk_get_pll_debug_data,
290 },
280 .regops = { 291 .regops = {
281 .get_global_whitelist_ranges = 292 .get_global_whitelist_ranges =
282 gm20b_get_global_whitelist_ranges, 293 gm20b_get_global_whitelist_ranges,
@@ -373,6 +384,18 @@ int gm20b_init_hal(struct gk20a *g)
373 gops->fifo = gm20b_ops.fifo; 384 gops->fifo = gm20b_ops.fifo;
374 gops->gr_ctx = gm20b_ops.gr_ctx; 385 gops->gr_ctx = gm20b_ops.gr_ctx;
375 gops->therm = gm20b_ops.therm; 386 gops->therm = gm20b_ops.therm;
387 /*
388 * clk must be assigned member by member
389 * since some clk ops are assigned during probe prior to HAL init
390 */
391 gops->clk.init_clk_support = gm20b_ops.clk.init_clk_support;
392 gops->clk.suspend_clk_support = gm20b_ops.clk.suspend_clk_support;
393 gops->clk.get_voltage = gm20b_ops.clk.get_voltage;
394 gops->clk.get_gpcclk_clock_counter =
395 gm20b_ops.clk.get_gpcclk_clock_counter;
396 gops->clk.pll_reg_write = gm20b_ops.clk.pll_reg_write;
397 gops->clk.get_pll_debug_data = gm20b_ops.clk.get_pll_debug_data;
398
376 gops->regops = gm20b_ops.regops; 399 gops->regops = gm20b_ops.regops;
377 gops->mc = gm20b_ops.mc; 400 gops->mc = gm20b_ops.mc;
378 gops->dbg_session_ops = gm20b_ops.dbg_session_ops; 401 gops->dbg_session_ops = gm20b_ops.dbg_session_ops;
@@ -427,7 +450,6 @@ int gm20b_init_hal(struct gk20a *g)
427 gm20b_init_fb(gops); 450 gm20b_init_fb(gops);
428 gm20b_init_mm(gops); 451 gm20b_init_mm(gops);
429 gm20b_init_pmu_ops(g); 452 gm20b_init_pmu_ops(g);
430 gm20b_init_clk_ops(gops);
431 453
432 g->name = "gm20b"; 454 g->name = "gm20b";
433 455