summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/pramin.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/common/pramin.c')
-rw-r--r--drivers/gpu/nvgpu/common/pramin.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/common/pramin.c b/drivers/gpu/nvgpu/common/pramin.c
index ae9c9b1f..7955e6c2 100644
--- a/drivers/gpu/nvgpu/common/pramin.c
+++ b/drivers/gpu/nvgpu/common/pramin.c
@@ -16,6 +16,7 @@
16 16
17#include <nvgpu/pramin.h> 17#include <nvgpu/pramin.h>
18#include <nvgpu/page_allocator.h> 18#include <nvgpu/page_allocator.h>
19#include <nvgpu/enabled.h>
19 20
20#include "gk20a/gk20a.h" 21#include "gk20a/gk20a.h"
21 22
@@ -88,6 +89,14 @@ void nvgpu_pramin_access_batched(struct gk20a *g, struct nvgpu_mem *mem,
88 void *sgl; 89 void *sgl;
89 u32 byteoff, start_reg, until_end, n; 90 u32 byteoff, start_reg, until_end, n;
90 91
92 /*
93 * TODO: Vidmem is not accesible through pramin on shutdown path.
94 * driver should be refactored to prevent this from happening, but for
95 * now it is ok just to ignore the writes
96 */
97 if (!g->regs && nvgpu_is_enabled(g, NVGPU_DRIVER_IS_DYING))
98 return;
99
91 alloc = get_vidmem_page_alloc(mem->priv.sgt->sgl); 100 alloc = get_vidmem_page_alloc(mem->priv.sgt->sgl);
92 sgt = &alloc->sgt; 101 sgt = &alloc->sgt;
93 for (sgl = sgt->sgl; sgl; sgl = nvgpu_sgt_get_next(sgt, sgl)) { 102 for (sgl = sgt->sgl; sgl; sgl = nvgpu_sgt_get_next(sgt, sgl)) {