From 1ffbb2996fddbb44f6aa524224d09fa415ae1f98 Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Thu, 27 Apr 2017 10:02:41 -0700 Subject: gpu: nvgpu: gp106: Disable MMU write violation reporting Disable reporting of write privilege violation on FB MMU registers. Bug 1846641 Change-Id: I011385c5b06bbb2dcc8d4521236a04a8be5dd34e Signed-off-by: Terje Bergstrom Reviewed-on: http://git-master/r/1471463 Reviewed-by: Konsta Holtta Reviewed-by: Seshendra Gadagottu --- drivers/gpu/nvgpu/gp106/fb_gp106.c | 6 ++++++ drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_fb_gp106.h | 8 ++++++++ 2 files changed, 14 insertions(+) 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 @@ static void gp106_fb_reset(struct gk20a *g) { + u32 val; + int retries = HW_SCRUB_TIMEOUT_MAX / HW_SCRUB_TIMEOUT_DEFAULT; /* wait for memory to be accessible */ do { @@ -31,6 +33,10 @@ static void gp106_fb_reset(struct gk20a *g) } nvgpu_udelay(HW_SCRUB_TIMEOUT_DEFAULT); } while (--retries); + + val = gk20a_readl(g, fb_mmu_priv_level_mask_r()); + val &= ~fb_mmu_priv_level_mask_write_violation_m(); + gk20a_writel(g, fb_mmu_priv_level_mask_r(), val); } void gp106_init_fb(struct gpu_ops *gops) diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_fb_gp106.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_fb_gp106.h index 1248e0f3..64b99cf0 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_fb_gp106.h +++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_fb_gp106.h @@ -482,6 +482,14 @@ static inline u32 fb_mmu_vpr_info_fetch_true_v(void) { return 0x00000001; } +static inline u32 fb_mmu_priv_level_mask_r(void) +{ + return 0x00100cdc; +} +static inline u32 fb_mmu_priv_level_mask_write_violation_m(void) +{ + return 0x1 << 7; +} static inline u32 fb_niso_flush_sysmem_addr_r(void) { return 0x00100c10; -- cgit v1.2.2