summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/tegra/linux/platform_gk20a_tegra.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/tegra/linux/platform_gk20a_tegra.c')
-rw-r--r--drivers/gpu/nvgpu/tegra/linux/platform_gk20a_tegra.c24
1 files changed, 3 insertions, 21 deletions
diff --git a/drivers/gpu/nvgpu/tegra/linux/platform_gk20a_tegra.c b/drivers/gpu/nvgpu/tegra/linux/platform_gk20a_tegra.c
index 56ba1ecd..1b40702a 100644
--- a/drivers/gpu/nvgpu/tegra/linux/platform_gk20a_tegra.c
+++ b/drivers/gpu/nvgpu/tegra/linux/platform_gk20a_tegra.c
@@ -49,6 +49,8 @@
49#include "gk20a/gk20a_scale.h" 49#include "gk20a/gk20a_scale.h"
50#include "gm20b/clk_gm20b.h" 50#include "gm20b/clk_gm20b.h"
51 51
52#include "clk.h"
53
52#define TEGRA_GK20A_BW_PER_FREQ 32 54#define TEGRA_GK20A_BW_PER_FREQ 32
53#define TEGRA_GM20B_BW_PER_FREQ 64 55#define TEGRA_GM20B_BW_PER_FREQ 64
54#define TEGRA_DDR3_BW_PER_FREQ 16 56#define TEGRA_DDR3_BW_PER_FREQ 16
@@ -938,6 +940,7 @@ static int gk20a_tegra_probe(struct device *dev)
938 platform->g->mm.vidmem_is_vidmem = platform->vidmem_is_vidmem; 940 platform->g->mm.vidmem_is_vidmem = platform->vidmem_is_vidmem;
939 941
940 gk20a_tegra_get_clocks(dev); 942 gk20a_tegra_get_clocks(dev);
943 nvgpu_linux_init_clk_support(platform->g);
941 944
942 if (platform->clk_register) { 945 if (platform->clk_register) {
943 ret = platform->clk_register(platform->g); 946 ret = platform->clk_register(platform->g);
@@ -975,15 +978,6 @@ static int gk20a_tegra_suspend(struct device *dev)
975} 978}
976 979
977#if defined(CONFIG_TEGRA_CLK_FRAMEWORK) || defined(CONFIG_COMMON_CLK) 980#if defined(CONFIG_TEGRA_CLK_FRAMEWORK) || defined(CONFIG_COMMON_CLK)
978static unsigned long gk20a_get_clk_rate(struct device *dev)
979{
980 struct gk20a_platform *platform = gk20a_get_platform(dev);
981 struct gk20a *g = platform->g;
982
983 return gk20a_clk_get_rate(g);
984
985}
986
987static long gk20a_round_clk_rate(struct device *dev, unsigned long rate) 981static long gk20a_round_clk_rate(struct device *dev, unsigned long rate)
988{ 982{
989 struct gk20a_platform *platform = gk20a_get_platform(dev); 983 struct gk20a_platform *platform = gk20a_get_platform(dev);
@@ -992,14 +986,6 @@ static long gk20a_round_clk_rate(struct device *dev, unsigned long rate)
992 return gk20a_clk_round_rate(g, rate); 986 return gk20a_clk_round_rate(g, rate);
993} 987}
994 988
995static int gk20a_set_clk_rate(struct device *dev, unsigned long rate)
996{
997 struct gk20a_platform *platform = gk20a_get_platform(dev);
998 struct gk20a *g = platform->g;
999
1000 return gk20a_clk_set_rate(g, rate);
1001}
1002
1003static int gk20a_clk_get_freqs(struct device *dev, 989static int gk20a_clk_get_freqs(struct device *dev,
1004 unsigned long **freqs, int *num_freqs) 990 unsigned long **freqs, int *num_freqs)
1005{ 991{
@@ -1056,9 +1042,7 @@ struct gk20a_platform gk20a_tegra_platform = {
1056 .reset_deassert = gk20a_tegra_reset_deassert, 1042 .reset_deassert = gk20a_tegra_reset_deassert,
1057 1043
1058#ifdef CONFIG_TEGRA_CLK_FRAMEWORK 1044#ifdef CONFIG_TEGRA_CLK_FRAMEWORK
1059 .clk_get_rate = gk20a_get_clk_rate,
1060 .clk_round_rate = gk20a_round_clk_rate, 1045 .clk_round_rate = gk20a_round_clk_rate,
1061 .clk_set_rate = gk20a_set_clk_rate,
1062 .get_clk_freqs = gk20a_clk_get_freqs, 1046 .get_clk_freqs = gk20a_clk_get_freqs,
1063#endif 1047#endif
1064 1048
@@ -1124,9 +1108,7 @@ struct gk20a_platform gm20b_tegra_platform = {
1124#endif 1108#endif
1125 1109
1126#if defined(CONFIG_TEGRA_CLK_FRAMEWORK) || defined(CONFIG_COMMON_CLK) 1110#if defined(CONFIG_TEGRA_CLK_FRAMEWORK) || defined(CONFIG_COMMON_CLK)
1127 .clk_get_rate = gk20a_get_clk_rate,
1128 .clk_round_rate = gk20a_round_clk_rate, 1111 .clk_round_rate = gk20a_round_clk_rate,
1129 .clk_set_rate = gk20a_set_clk_rate,
1130 .get_clk_freqs = gk20a_clk_get_freqs, 1112 .get_clk_freqs = gk20a_clk_get_freqs,
1131#endif 1113#endif
1132 1114