summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp106/fb_gp106.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gp106/fb_gp106.c')
-rw-r--r--drivers/gpu/nvgpu/gp106/fb_gp106.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gp106/fb_gp106.c b/drivers/gpu/nvgpu/gp106/fb_gp106.c
index 53f9af56..dcb7e545 100644
--- a/drivers/gpu/nvgpu/gp106/fb_gp106.c
+++ b/drivers/gpu/nvgpu/gp106/fb_gp106.c
@@ -21,6 +21,8 @@
21 21
22static void gp106_fb_reset(struct gk20a *g) 22static void gp106_fb_reset(struct gk20a *g)
23{ 23{
24 u32 val;
25
24 int retries = HW_SCRUB_TIMEOUT_MAX / HW_SCRUB_TIMEOUT_DEFAULT; 26 int retries = HW_SCRUB_TIMEOUT_MAX / HW_SCRUB_TIMEOUT_DEFAULT;
25 /* wait for memory to be accessible */ 27 /* wait for memory to be accessible */
26 do { 28 do {
@@ -31,6 +33,10 @@ static void gp106_fb_reset(struct gk20a *g)
31 } 33 }
32 nvgpu_udelay(HW_SCRUB_TIMEOUT_DEFAULT); 34 nvgpu_udelay(HW_SCRUB_TIMEOUT_DEFAULT);
33 } while (--retries); 35 } while (--retries);
36
37 val = gk20a_readl(g, fb_mmu_priv_level_mask_r());
38 val &= ~fb_mmu_priv_level_mask_write_violation_m();
39 gk20a_writel(g, fb_mmu_priv_level_mask_r(), val);
34} 40}
35 41
36void gp106_init_fb(struct gpu_ops *gops) 42void gp106_init_fb(struct gpu_ops *gops)