summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/clk/clk_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/clk/clk_common.c')
-rw-r--r--drivers/gpu/nvgpu/clk/clk_common.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/clk/clk_common.c b/drivers/gpu/nvgpu/clk/clk_common.c
index 346ad12b..529efa15 100644
--- a/drivers/gpu/nvgpu/clk/clk_common.c
+++ b/drivers/gpu/nvgpu/clk/clk_common.c
@@ -45,6 +45,7 @@ unsigned long gk20a_clk_get_rate(struct gk20a *g)
45 return rate_gpc2clk_to_gpu(clk->gpc_pll.freq); 45 return rate_gpc2clk_to_gpu(clk->gpc_pll.freq);
46} 46}
47 47
48#ifdef CONFIG_TEGRA_CLK_FRAMEWORK
48long gk20a_clk_round_rate(struct gk20a *g, unsigned long rate) 49long gk20a_clk_round_rate(struct gk20a *g, unsigned long rate)
49{ 50{
50 /* make sure the clock is available */ 51 /* make sure the clock is available */
@@ -54,6 +55,17 @@ long gk20a_clk_round_rate(struct gk20a *g, unsigned long rate)
54 return clk_round_rate(clk_get_parent(g->clk.tegra_clk), rate); 55 return clk_round_rate(clk_get_parent(g->clk.tegra_clk), rate);
55} 56}
56 57
58#else
59long gk20a_clk_round_rate(struct gk20a *g, unsigned long rate)
60{
61 /* make sure the clock is available */
62 if (!gk20a_clk_get(g))
63 return rate;
64
65 return clk_round_rate(g->clk.tegra_clk, rate);
66}
67#endif
68
57int gk20a_clk_set_rate(struct gk20a *g, unsigned long rate) 69int gk20a_clk_set_rate(struct gk20a *g, unsigned long rate)
58{ 70{
59 return clk_set_rate(g->clk.tegra_clk, rate); 71 return clk_set_rate(g->clk.tegra_clk, rate);