From 49be5d49292c9c853f5b6ad53c32d59f866322ec Mon Sep 17 00:00:00 2001 From: Deepak Goyal Date: Wed, 15 Nov 2017 11:40:54 +0530 Subject: gpu: nvgpu: gv11b: implement ecc scrubber Check the availability of ecc units by checking relevant ecc fuse and fuse overrides. During gpu boot, initialize ecc units by scrubbing individual ecc units available. ECC initialization should be done before gr initialization. Following ecc units are scrubbed: SM LRF SM L1 DATA SM L1 TAG SM CBU SM ICACHE Bug 200339497 Change-Id: I54bf8cc1fce639a9993bf80984dafc28dca0dba3 Signed-off-by: Deepak Goyal Signed-off-by: seshendra Gadagottu Reviewed-on: https://git-master.nvidia.com/r/1612734 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'drivers/gpu/nvgpu/gk20a/gr_gk20a.c') diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index 99f85b57..ea4d1d24 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c @@ -4478,7 +4478,10 @@ static int gk20a_init_gr_setup_hw(struct gk20a *g) if (g->ops.gr.enable_gpc_exceptions) g->ops.gr.enable_gpc_exceptions(g); - /* TBD: ECC for L1/SM */ + /* enable ECC for L1/SM */ + if (g->ops.gr.ecc_init_scrub_reg) + g->ops.gr.ecc_init_scrub_reg(g); + /* TBD: enable per BE exceptions */ /* reset and enable exceptions */ -- cgit v1.2.2