summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm20b/mm_gm20b.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2017-03-14 16:10:24 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-03-17 11:43:36 -0400
commit7fac794e998ddafee90e1e6ad550ac4da6c85896 (patch)
tree0ebf9dc8b1f5d1628a74e45d74484f3bb78bb025 /drivers/gpu/nvgpu/gm20b/mm_gm20b.c
parent589d6385b19a357cf566b75ded9355f9b8053ad7 (diff)
gpu: nvgpu: Remove use of PM runtime in VPR fetch
VPR fetch is called only from code which already has GPU powered on. Skip calling PM runtime. Change-Id: I8f90f1afab150e81ad16a157cfe063848a3e4fc1 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/1320732 Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Thomas Fleury <tfleury@nvidia.com> Reviewed-by: Konsta Holtta <kholtta@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gm20b/mm_gm20b.c')
-rw-r--r--drivers/gpu/nvgpu/gm20b/mm_gm20b.c18
1 files changed, 2 insertions, 16 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/mm_gm20b.c b/drivers/gpu/nvgpu/gm20b/mm_gm20b.c
index 8f5d1e10..cd1a106d 100644
--- a/drivers/gpu/nvgpu/gm20b/mm_gm20b.c
+++ b/drivers/gpu/nvgpu/gm20b/mm_gm20b.c
@@ -13,7 +13,6 @@
13 * more details. 13 * more details.
14 */ 14 */
15 15
16#include <linux/pm_runtime.h>
17#include <linux/delay.h> 16#include <linux/delay.h>
18 17
19#include "gk20a/gk20a.h" 18#include "gk20a/gk20a.h"
@@ -50,27 +49,14 @@ static int gm20b_mm_mmu_vpr_info_fetch_wait(struct gk20a *g,
50 49
51int gm20b_mm_mmu_vpr_info_fetch(struct gk20a *g) 50int gm20b_mm_mmu_vpr_info_fetch(struct gk20a *g)
52{ 51{
53 int ret = 0;
54
55 gk20a_busy_noresume(g->dev);
56#ifdef CONFIG_PM
57 if (!pm_runtime_active(g->dev))
58 goto fail;
59#endif
60
61 if (gm20b_mm_mmu_vpr_info_fetch_wait(g, VPR_INFO_FETCH_WAIT)) { 52 if (gm20b_mm_mmu_vpr_info_fetch_wait(g, VPR_INFO_FETCH_WAIT)) {
62 ret = -ETIME; 53 return -ETIME;
63 goto fail;
64 } 54 }
65 55
66 gk20a_writel(g, fb_mmu_vpr_info_r(), 56 gk20a_writel(g, fb_mmu_vpr_info_r(),
67 fb_mmu_vpr_info_fetch_true_v()); 57 fb_mmu_vpr_info_fetch_true_v());
68 58
69 ret = gm20b_mm_mmu_vpr_info_fetch_wait(g, VPR_INFO_FETCH_WAIT); 59 return gm20b_mm_mmu_vpr_info_fetch_wait(g, VPR_INFO_FETCH_WAIT);
70
71fail:
72 pm_runtime_put(g->dev);
73 return ret;
74} 60}
75 61
76static bool gm20b_mm_mmu_debug_mode_enabled(struct gk20a *g) 62static bool gm20b_mm_mmu_debug_mode_enabled(struct gk20a *g)