diff options
author | seshendra Gadagottu <sgadagottu@nvidia.com> | 2017-12-26 18:05:38 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-12-27 00:31:49 -0500 |
commit | 5b59e52d6592b14f4ce2608ce294bd52343759db (patch) | |
tree | 5d6985a45816dfe09184c77f73ac0115143d864e /drivers/gpu/nvgpu/gv11b | |
parent | cb55553544dab4291d9b4c4f800580485a670c88 (diff) |
gpu: nvgpu: gv11b: scrub more fileds for sm l1 tag
SM L1 tag needs to scrub for following additional fields:
sm_l1_tag_ecc_control_scrub_pixprf
sm_l1_tag_ecc_control_scrub_miss_fifo
With this SM L1 TAG DBE errors after railgate/ungate
are fixed.
Bug 2039629
Change-Id: I10ce1d1dd28102f4c2f3fe2fe81801db67b76a21
Signed-off-by: seshendra Gadagottu <sgadagottu@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1626748
GVS: Gerrit_Virtual_Submit
Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com>
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b')
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/gr_gv11b.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c index fe0584f6..56d223dd 100644 --- a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c | |||
@@ -3811,12 +3811,16 @@ static int gr_gv11b_ecc_scrub_sm_l1_tag(struct gk20a *g) | |||
3811 | nvgpu_log_info(g, "gr_gv11b_ecc_scrub_sm_l1_tag"); | 3811 | nvgpu_log_info(g, "gr_gv11b_ecc_scrub_sm_l1_tag"); |
3812 | scrub_mask = | 3812 | scrub_mask = |
3813 | (gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_scrub_el1_0_task_f() | | 3813 | (gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_scrub_el1_0_task_f() | |
3814 | gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_scrub_el1_1_task_f()); | 3814 | gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_scrub_el1_1_task_f() | |
3815 | gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_scrub_pixprf_task_f() | | ||
3816 | gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_scrub_miss_fifo_task_f()); | ||
3815 | gk20a_writel(g, gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_r(), scrub_mask); | 3817 | gk20a_writel(g, gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_r(), scrub_mask); |
3816 | 3818 | ||
3817 | scrub_done = | 3819 | scrub_done = |
3818 | (gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_scrub_el1_0_init_f() | | 3820 | (gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_scrub_el1_0_init_f() | |
3819 | gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_scrub_el1_1_init_f()); | 3821 | gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_scrub_el1_1_init_f() | |
3822 | gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_scrub_pixprf_init_f() | | ||
3823 | gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_scrub_miss_fifo_init_f()); | ||
3820 | return gr_gv11b_ecc_scrub_is_done(g, | 3824 | return gr_gv11b_ecc_scrub_is_done(g, |
3821 | gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_r(), | 3825 | gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_r(), |
3822 | scrub_mask, scrub_done); | 3826 | scrub_mask, scrub_done); |