diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/clk_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/clk_gk20a.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/clk_gk20a.c b/drivers/gpu/nvgpu/gk20a/clk_gk20a.c index 08e10901..517e8e49 100644 --- a/drivers/gpu/nvgpu/gk20a/clk_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/clk_gk20a.c | |||
@@ -624,7 +624,7 @@ static int gk20a_clk_register_export_ops(struct gk20a *g) | |||
624 | return ret; | 624 | return ret; |
625 | } | 625 | } |
626 | 626 | ||
627 | int gk20a_init_clk_support(struct gk20a *g) | 627 | static int gk20a_init_clk_support(struct gk20a *g) |
628 | { | 628 | { |
629 | struct clk_gk20a *clk = &g->clk; | 629 | struct clk_gk20a *clk = &g->clk; |
630 | u32 err; | 630 | u32 err; |
@@ -674,6 +674,20 @@ int gk20a_init_clk_support(struct gk20a *g) | |||
674 | return err; | 674 | return err; |
675 | } | 675 | } |
676 | 676 | ||
677 | static int gk20a_suspend_clk_support(struct gk20a *g) | ||
678 | { | ||
679 | int ret; | ||
680 | |||
681 | clk_disable(g->clk.tegra_clk); | ||
682 | |||
683 | /* The prev call may not disable PLL if gbus is unbalanced - force it */ | ||
684 | mutex_lock(&g->clk.clk_mutex); | ||
685 | ret = clk_disable_gpcpll(g, 1); | ||
686 | g->clk.clk_hw_on = false; | ||
687 | mutex_unlock(&g->clk.clk_mutex); | ||
688 | return ret; | ||
689 | } | ||
690 | |||
677 | void gk20a_init_clk_ops(struct gpu_ops *gops) | 691 | void gk20a_init_clk_ops(struct gpu_ops *gops) |
678 | { | 692 | { |
679 | gops->clk.init_clk_support = gk20a_init_clk_support; | 693 | gops->clk.init_clk_support = gk20a_init_clk_support; |
@@ -700,20 +714,6 @@ int gk20a_clk_set_rate(struct gk20a *g, unsigned long rate) | |||
700 | return clk_set_rate(g->clk.tegra_clk, rate); | 714 | return clk_set_rate(g->clk.tegra_clk, rate); |
701 | } | 715 | } |
702 | 716 | ||
703 | int gk20a_suspend_clk_support(struct gk20a *g) | ||
704 | { | ||
705 | int ret; | ||
706 | |||
707 | clk_disable(g->clk.tegra_clk); | ||
708 | |||
709 | /* The prev call may not disable PLL if gbus is unbalanced - force it */ | ||
710 | mutex_lock(&g->clk.clk_mutex); | ||
711 | ret = clk_disable_gpcpll(g, 1); | ||
712 | g->clk.clk_hw_on = false; | ||
713 | mutex_unlock(&g->clk.clk_mutex); | ||
714 | return ret; | ||
715 | } | ||
716 | |||
717 | #ifdef CONFIG_DEBUG_FS | 717 | #ifdef CONFIG_DEBUG_FS |
718 | 718 | ||
719 | static int rate_get(void *data, u64 *val) | 719 | static int rate_get(void *data, u64 *val) |