diff options
author | Alex Frid <afrid@nvidia.com> | 2018-05-10 22:44:22 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-05-22 18:08:01 -0400 |
commit | 0c80e197ea81043214b533c9c06c794da5aad877 (patch) | |
tree | 9352ea3609d07428bfa4b6c2655785b4232d83f7 /drivers/gpu/nvgpu/common/linux/platform_gp10b_tegra.c | |
parent | e1cc49420aa478ac103bb8179ca1eca02caeb770 (diff) |
gpu: nvgpu: Add GPU Fmax@Vmin access through BPMP
On Tegra platforms that have clock management under BPMP, and do not
support Tegra DVFS, GPU driver cannot access Fmax@Vmin (get interface
always returns "0"). Added such access through BPMP DVFS shim driver.
Bug 2045903
Change-Id: I0222f2e2917cda15d18ea3296dd1fe53b2ea6b45
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1722431
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux/platform_gp10b_tegra.c')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/platform_gp10b_tegra.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/platform_gp10b_tegra.c b/drivers/gpu/nvgpu/common/linux/platform_gp10b_tegra.c index 08c5df0f..df10e36c 100644 --- a/drivers/gpu/nvgpu/common/linux/platform_gp10b_tegra.c +++ b/drivers/gpu/nvgpu/common/linux/platform_gp10b_tegra.c | |||
@@ -24,6 +24,7 @@ | |||
24 | 24 | ||
25 | #include <soc/tegra/tegra_bpmp.h> | 25 | #include <soc/tegra/tegra_bpmp.h> |
26 | #include <soc/tegra/tegra_powergate.h> | 26 | #include <soc/tegra/tegra_powergate.h> |
27 | #include <soc/tegra/tegra-bpmp-dvfs.h> | ||
27 | 28 | ||
28 | #include <dt-bindings/memory/tegra-swgroup.h> | 29 | #include <dt-bindings/memory/tegra-swgroup.h> |
29 | 30 | ||
@@ -98,6 +99,13 @@ int gp10b_tegra_get_clocks(struct device *dev) | |||
98 | } | 99 | } |
99 | platform->num_clks = i; | 100 | platform->num_clks = i; |
100 | 101 | ||
102 | if (platform->clk[0]) { | ||
103 | i = tegra_bpmp_dvfs_get_clk_id(dev->of_node, | ||
104 | tegra_gp10b_clocks[0].name); | ||
105 | if (i > 0) | ||
106 | platform->maxmin_clk_id = i; | ||
107 | } | ||
108 | |||
101 | return 0; | 109 | return 0; |
102 | } | 110 | } |
103 | 111 | ||