diff options
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/clk_gk20a.h | 3 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/tegra/linux/platform_gk20a_tegra.c | 11 |
2 files changed, 11 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/clk_gk20a.h b/drivers/gpu/nvgpu/gk20a/clk_gk20a.h index 8260fd4a..eb9ce069 100644 --- a/drivers/gpu/nvgpu/gk20a/clk_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/clk_gk20a.h | |||
@@ -24,6 +24,9 @@ | |||
24 | enum { | 24 | enum { |
25 | /* only one PLL for gk20a */ | 25 | /* only one PLL for gk20a */ |
26 | GK20A_GPC_PLL = 0, | 26 | GK20A_GPC_PLL = 0, |
27 | /* 2 PLL revisions for gm20b */ | ||
28 | GM20B_GPC_PLL_B1, | ||
29 | GM20B_GPC_PLL_C1, | ||
27 | }; | 30 | }; |
28 | 31 | ||
29 | enum gpc_pll_mode { | 32 | enum gpc_pll_mode { |
diff --git a/drivers/gpu/nvgpu/tegra/linux/platform_gk20a_tegra.c b/drivers/gpu/nvgpu/tegra/linux/platform_gk20a_tegra.c index 3e2a0adf..7ce66707 100644 --- a/drivers/gpu/nvgpu/tegra/linux/platform_gk20a_tegra.c +++ b/drivers/gpu/nvgpu/tegra/linux/platform_gk20a_tegra.c | |||
@@ -943,15 +943,20 @@ static int gk20a_tegra_probe(struct device *dev) | |||
943 | platform->can_railgate = false; | 943 | platform->can_railgate = false; |
944 | } | 944 | } |
945 | 945 | ||
946 | /* WAR for bug 1547668: Disable railgating and scaling irrespective of | 946 | platform->g->clk.gpc_pll.id = GK20A_GPC_PLL; |
947 | * platform data if the rework has not been made. */ | ||
948 | |||
949 | if (tegra_get_chip_id() == TEGRA210) { | 947 | if (tegra_get_chip_id() == TEGRA210) { |
948 | /* WAR for bug 1547668: Disable railgating and scaling | ||
949 | irrespective of platform data if the rework was not made. */ | ||
950 | np = of_find_node_by_path("/gpu-dvfs-rework"); | 950 | np = of_find_node_by_path("/gpu-dvfs-rework"); |
951 | if (!(np && of_device_is_available(np))) { | 951 | if (!(np && of_device_is_available(np))) { |
952 | platform->devfreq_governor = ""; | 952 | platform->devfreq_governor = ""; |
953 | dev_warn(dev, "board does not support scaling"); | 953 | dev_warn(dev, "board does not support scaling"); |
954 | } | 954 | } |
955 | platform->g->clk.gpc_pll.id = GM20B_GPC_PLL_B1; | ||
956 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0)) | ||
957 | if (tegra_chip_get_revision() > TEGRA210_REVISION_A04p) | ||
958 | platform->g->clk.gpc_pll.id = GM20B_GPC_PLL_C1; | ||
959 | #endif | ||
955 | } | 960 | } |
956 | 961 | ||
957 | if (tegra_get_chip_id() == TEGRA132) | 962 | if (tegra_get_chip_id() == TEGRA132) |