summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2014-06-05 07:45:58 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:10:11 -0400
commit6cd26db47779441078746390f14f78848cd047ab (patch)
treed65bb35f61513bb4a7c7bf709dc5d44c7d683087 /drivers
parent3227958a5e30692c22433b3f8afe3f0254137b62 (diff)
gpu: nvgpu: remove unused vpr refetch functions
VPR resize is done by forcing GPU to idle and then updating VPR size from TLK. There is no need now to call vpr_resize funtion from kernel and hence these functions can be removed. Bug 1487804 Change-Id: I758a6e0a99a58757866f1138b0a89594e2a33908 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/421703 (cherry picked from commit 391d9bacf053fe0dacffc76c36768f82912ad1f4) Reviewed-on: http://git-master/r/419612 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.c14
-rw-r--r--drivers/gpu/nvgpu/gk20a/mm_gk20a.c45
2 files changed, 0 insertions, 59 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c
index 12c36d33..8e142e6e 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.c
@@ -1738,20 +1738,6 @@ int gk20a_init_gpu_characteristics(struct gk20a *g)
1738 return 0; 1738 return 0;
1739} 1739}
1740 1740
1741int nvhost_vpr_info_fetch(void)
1742{
1743 struct gk20a *g = get_gk20a(to_platform_device(
1744 bus_find_device_by_name(&platform_bus_type,
1745 NULL, "gk20a.0")));
1746
1747 if (!g) {
1748 pr_info("gk20a ins't ready yet\n");
1749 return 0;
1750 }
1751
1752 return gk20a_mm_mmu_vpr_info_fetch(g);
1753}
1754
1755static const struct firmware * 1741static const struct firmware *
1756do_request_firmware(struct device *dev, const char *prefix, const char *fw_name) 1742do_request_firmware(struct device *dev, const char *prefix, const char *fw_name)
1757{ 1743{
diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
index 3b0b020d..6f62e1cb 100644
--- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
@@ -3020,51 +3020,6 @@ bool gk20a_mm_mmu_debug_mode_enabled(struct gk20a *g)
3020 fb_mmu_debug_ctrl_debug_enabled_v(); 3020 fb_mmu_debug_ctrl_debug_enabled_v();
3021} 3021}
3022 3022
3023static int gk20a_mm_mmu_vpr_info_fetch_wait(struct gk20a *g,
3024 const unsigned int msec)
3025{
3026 unsigned long timeout;
3027
3028 timeout = jiffies + msecs_to_jiffies(msec);
3029 while (1) {
3030 u32 val;
3031
3032 val = gk20a_readl(g, fb_mmu_vpr_info_r());
3033 if (fb_mmu_vpr_info_fetch_v(val) ==
3034 fb_mmu_vpr_info_fetch_false_v())
3035 break;
3036
3037 if (tegra_platform_is_silicon() &&
3038 WARN_ON(time_after(jiffies, timeout)))
3039 return -ETIME;
3040 }
3041
3042 return 0;
3043}
3044
3045int gk20a_mm_mmu_vpr_info_fetch(struct gk20a *g)
3046{
3047 int ret = 0;
3048
3049 gk20a_busy_noresume(g->dev);
3050 if (!pm_runtime_active(&g->dev->dev))
3051 goto fail;
3052
3053 if (gk20a_mm_mmu_vpr_info_fetch_wait(g, 5)) {
3054 ret = -ETIME;
3055 goto fail;
3056 }
3057
3058 gk20a_writel(g, fb_mmu_vpr_info_r(),
3059 fb_mmu_vpr_info_fetch_true_v());
3060
3061 ret = gk20a_mm_mmu_vpr_info_fetch_wait(g, 5);
3062
3063 fail:
3064 gk20a_idle(g->dev);
3065 return ret;
3066}
3067
3068void gk20a_init_mm(struct gpu_ops *gops) 3023void gk20a_init_mm(struct gpu_ops *gops)
3069{ 3024{
3070 gops->mm.set_sparse = gk20a_vm_put_empty; 3025 gops->mm.set_sparse = gk20a_vm_put_empty;