diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2017-04-14 19:15:50 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-04-24 03:13:39 -0400 |
commit | e1c27d4e84d518bef88305d1ca848deb07433677 (patch) | |
tree | 1a81b03c60f914020dead7fe5e7ffb4325c233af /drivers/gpu/nvgpu/gv11b | |
parent | 7872900486bd31cf186930848adec46d0a13b68a (diff) |
gpu: nvgpu: gv11b: Use new clk HAL
Use the new clk HAL to request clock rate instead of direct calls
to Clock Framework. This cuts one direct dependency to Linux APIs.
Also change the HAL to not clear clk ops after they've been
initialized.
JIRA NVGPU-16
Change-Id: I1ab3eac8268f1f3f3305d49782c6a0eb57c6d617
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/1463536
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Alex Waterman <alexw@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b')
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/hal_gv11b.c | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/pmu_gv11b.c | 3 |
3 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c index 220d646b..7e2c35dc 100644 --- a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c | |||
@@ -182,7 +182,7 @@ int gv11b_init_hal(struct gk20a *g) | |||
182 | struct gpu_ops *gops = &g->ops; | 182 | struct gpu_ops *gops = &g->ops; |
183 | struct nvgpu_gpu_characteristics *c = &g->gpu_characteristics; | 183 | struct nvgpu_gpu_characteristics *c = &g->gpu_characteristics; |
184 | 184 | ||
185 | *gops = gv11b_ops; | 185 | gops->clock_gating = gv11b_ops.clock_gating; |
186 | 186 | ||
187 | /* boot in non-secure modes for time beeing */ | 187 | /* boot in non-secure modes for time beeing */ |
188 | gops->privsecurity = 0; | 188 | gops->privsecurity = 0; |
diff --git a/drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c b/drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c index 892fa442..a2a6cfd3 100644 --- a/drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c +++ b/drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c | |||
@@ -24,6 +24,7 @@ | |||
24 | 24 | ||
25 | #include "gk20a/platform_gk20a.h" | 25 | #include "gk20a/platform_gk20a.h" |
26 | #include "gk20a/gk20a.h" | 26 | #include "gk20a/gk20a.h" |
27 | #include "tegra/linux/clk.h" | ||
27 | 28 | ||
28 | #include "gp10b/platform_gp10b.h" | 29 | #include "gp10b/platform_gp10b.h" |
29 | 30 | ||
@@ -50,6 +51,7 @@ static int gv11b_tegra_probe(struct device *dev) | |||
50 | platform->g->mm.vidmem_is_vidmem = platform->vidmem_is_vidmem; | 51 | platform->g->mm.vidmem_is_vidmem = platform->vidmem_is_vidmem; |
51 | 52 | ||
52 | gp10b_tegra_get_clocks(dev); | 53 | gp10b_tegra_get_clocks(dev); |
54 | nvgpu_linux_init_clk_support(platform->g); | ||
53 | 55 | ||
54 | return 0; | 56 | return 0; |
55 | } | 57 | } |
diff --git a/drivers/gpu/nvgpu/gv11b/pmu_gv11b.c b/drivers/gpu/nvgpu/gv11b/pmu_gv11b.c index 4cc45197..4784ee4a 100644 --- a/drivers/gpu/nvgpu/gv11b/pmu_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/pmu_gv11b.c | |||
@@ -37,7 +37,6 @@ static bool gv11b_is_pmu_supported(struct gk20a *g) | |||
37 | static int gv11b_pmu_bootstrap(struct pmu_gk20a *pmu) | 37 | static int gv11b_pmu_bootstrap(struct pmu_gk20a *pmu) |
38 | { | 38 | { |
39 | struct gk20a *g = gk20a_from_pmu(pmu); | 39 | struct gk20a *g = gk20a_from_pmu(pmu); |
40 | struct gk20a_platform *platform = dev_get_drvdata(g->dev); | ||
41 | struct mm_gk20a *mm = &g->mm; | 40 | struct mm_gk20a *mm = &g->mm; |
42 | struct pmu_ucode_desc *desc = pmu->desc; | 41 | struct pmu_ucode_desc *desc = pmu->desc; |
43 | u64 addr_code_lo, addr_data_lo, addr_load_lo; | 42 | u64 addr_code_lo, addr_data_lo, addr_load_lo; |
@@ -64,7 +63,7 @@ static int gv11b_pmu_bootstrap(struct pmu_gk20a *pmu) | |||
64 | pmu, GK20A_PMU_DMAIDX_VIRT); | 63 | pmu, GK20A_PMU_DMAIDX_VIRT); |
65 | 64 | ||
66 | g->ops.pmu_ver.set_pmu_cmdline_args_cpu_freq(pmu, | 65 | g->ops.pmu_ver.set_pmu_cmdline_args_cpu_freq(pmu, |
67 | clk_get_rate(platform->clk[1])); | 66 | g->ops.clk.get_rate(g, CTRL_CLK_DOMAIN_PWRCLK)); |
68 | 67 | ||
69 | addr_args = (pwr_falcon_hwcfg_dmem_size_v( | 68 | addr_args = (pwr_falcon_hwcfg_dmem_size_v( |
70 | gk20a_readl(g, pwr_falcon_hwcfg_r())) | 69 | gk20a_readl(g, pwr_falcon_hwcfg_r())) |