summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2015-11-06 12:46:57 -0500
committerDeepak Nibade <dnibade@nvidia.com>2016-12-27 04:52:09 -0500
commite390f6e95aaf88063d7356454cff4bf2b8bf286b (patch)
treef440bf0ef768b64eb122d2f4067ae0cc020e7812 /drivers/gpu/nvgpu/gp10b/gr_gp10b.c
parent1dde902b50dbc90fc77a58c536be175e6837995f (diff)
gpu: nvgpu: ZBC update without idle
Do ZBC updates without forcing engine idle first. Bug 1698013 Change-Id: I188563dd60ba511b087e9b9bdacd7f9445efd7a4 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/829146
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b/gr_gp10b.c')
-rw-r--r--drivers/gpu/nvgpu/gp10b/gr_gp10b.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
index c801a2b8..defda1c3 100644
--- a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
+++ b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
@@ -210,14 +210,18 @@ static int gr_gp10b_add_zbc_color(struct gk20a *g, struct gr_gk20a *gr,
210 gr->zbc_col_tbl[index].format = color_val->format; 210 gr->zbc_col_tbl[index].format = color_val->format;
211 gr->zbc_col_tbl[index].ref_cnt++; 211 gr->zbc_col_tbl[index].ref_cnt++;
212 212
213 gk20a_writel(g, gr_gpcs_swdx_dss_zbc_color_r_r(index), color_val->color_ds[0]); 213 gk20a_writel_check(g, gr_gpcs_swdx_dss_zbc_color_r_r(index),
214 gk20a_writel(g, gr_gpcs_swdx_dss_zbc_color_g_r(index), color_val->color_ds[1]); 214 color_val->color_ds[0]);
215 gk20a_writel(g, gr_gpcs_swdx_dss_zbc_color_b_r(index), color_val->color_ds[2]); 215 gk20a_writel_check(g, gr_gpcs_swdx_dss_zbc_color_g_r(index),
216 gk20a_writel(g, gr_gpcs_swdx_dss_zbc_color_a_r(index), color_val->color_ds[3]); 216 color_val->color_ds[1]);
217 gk20a_writel_check(g, gr_gpcs_swdx_dss_zbc_color_b_r(index),
218 color_val->color_ds[2]);
219 gk20a_writel_check(g, gr_gpcs_swdx_dss_zbc_color_a_r(index),
220 color_val->color_ds[3]);
217 zbc_c = gk20a_readl(g, gr_gpcs_swdx_dss_zbc_c_01_to_04_format_r() + (index & ~3)); 221 zbc_c = gk20a_readl(g, gr_gpcs_swdx_dss_zbc_c_01_to_04_format_r() + (index & ~3));
218 zbc_c &= ~(0x7f << ((index % 4) * 7)); 222 zbc_c &= ~(0x7f << ((index % 4) * 7));
219 zbc_c |= color_val->format << ((index % 4) * 7); 223 zbc_c |= color_val->format << ((index % 4) * 7);
220 gk20a_writel(g, gr_gpcs_swdx_dss_zbc_c_01_to_04_format_r() + (index & ~3), zbc_c); 224 gk20a_writel_check(g, gr_gpcs_swdx_dss_zbc_c_01_to_04_format_r() + (index & ~3), zbc_c);
221 225
222 return 0; 226 return 0;
223} 227}