diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/clk_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/clk_gk20a.c | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/clk_gk20a.c b/drivers/gpu/nvgpu/gk20a/clk_gk20a.c index 26fd1eaf..e3a486b6 100644 --- a/drivers/gpu/nvgpu/gk20a/clk_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/clk_gk20a.c | |||
@@ -412,27 +412,6 @@ static int gk20a_init_clk_reset_enable_hw(struct gk20a *g) | |||
412 | return 0; | 412 | return 0; |
413 | } | 413 | } |
414 | 414 | ||
415 | struct clk *gk20a_clk_get(struct gk20a *g) | ||
416 | { | ||
417 | if (!g->clk.tegra_clk) { | ||
418 | struct clk *clk; | ||
419 | char clk_dev_id[32]; | ||
420 | struct device *dev = dev_from_gk20a(g); | ||
421 | |||
422 | snprintf(clk_dev_id, 32, "tegra_%s", dev_name(dev)); | ||
423 | |||
424 | clk = clk_get_sys(clk_dev_id, "gpu"); | ||
425 | if (IS_ERR(clk)) { | ||
426 | gk20a_err(dev, "fail to get tegra gpu clk %s/gpu\n", | ||
427 | clk_dev_id); | ||
428 | return NULL; | ||
429 | } | ||
430 | g->clk.tegra_clk = clk; | ||
431 | } | ||
432 | |||
433 | return g->clk.tegra_clk; | ||
434 | } | ||
435 | |||
436 | static int gk20a_init_clk_setup_sw(struct gk20a *g) | 415 | static int gk20a_init_clk_setup_sw(struct gk20a *g) |
437 | { | 416 | { |
438 | struct clk_gk20a *clk = &g->clk; | 417 | struct clk_gk20a *clk = &g->clk; |
@@ -709,26 +688,6 @@ void gk20a_init_clk_ops(struct gpu_ops *gops) | |||
709 | gops->clk.suspend_clk_support = gk20a_suspend_clk_support; | 688 | gops->clk.suspend_clk_support = gk20a_suspend_clk_support; |
710 | } | 689 | } |
711 | 690 | ||
712 | unsigned long gk20a_clk_get_rate(struct gk20a *g) | ||
713 | { | ||
714 | struct clk_gk20a *clk = &g->clk; | ||
715 | return rate_gpc2clk_to_gpu(clk->gpc_pll.freq); | ||
716 | } | ||
717 | |||
718 | long gk20a_clk_round_rate(struct gk20a *g, unsigned long rate) | ||
719 | { | ||
720 | /* make sure the clock is available */ | ||
721 | if (!gk20a_clk_get(g)) | ||
722 | return rate; | ||
723 | |||
724 | return clk_round_rate(clk_get_parent(g->clk.tegra_clk), rate); | ||
725 | } | ||
726 | |||
727 | int gk20a_clk_set_rate(struct gk20a *g, unsigned long rate) | ||
728 | { | ||
729 | return clk_set_rate(g->clk.tegra_clk, rate); | ||
730 | } | ||
731 | |||
732 | #ifdef CONFIG_DEBUG_FS | 691 | #ifdef CONFIG_DEBUG_FS |
733 | 692 | ||
734 | static int rate_get(void *data, u64 *val) | 693 | static int rate_get(void *data, u64 *val) |