diff options
Diffstat (limited to 'drivers/gpu/nvgpu/clk/clk_common.c')
-rw-r--r-- | drivers/gpu/nvgpu/clk/clk_common.c | 12 |
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 | ||
48 | long gk20a_clk_round_rate(struct gk20a *g, unsigned long rate) | 49 | long 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 | ||
59 | long 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 | |||
57 | int gk20a_clk_set_rate(struct gk20a *g, unsigned long rate) | 69 | int 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); |