diff options
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/nvgpu/gm20b/mm_gm20b.c | 18 |
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 | ||
51 | int gm20b_mm_mmu_vpr_info_fetch(struct gk20a *g) | 50 | int 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 | |||
71 | fail: | ||
72 | pm_runtime_put(g->dev); | ||
73 | return ret; | ||
74 | } | 60 | } |
75 | 61 | ||
76 | static bool gm20b_mm_mmu_debug_mode_enabled(struct gk20a *g) | 62 | static bool gm20b_mm_mmu_debug_mode_enabled(struct gk20a *g) |