summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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)