diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2015-11-06 12:46:57 -0500 |
---|---|---|
committer | Deepak Nibade <dnibade@nvidia.com> | 2016-12-27 04:52:09 -0500 |
commit | e390f6e95aaf88063d7356454cff4bf2b8bf286b (patch) | |
tree | f440bf0ef768b64eb122d2f4067ae0cc020e7812 /drivers | |
parent | 1dde902b50dbc90fc77a58c536be175e6837995f (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')
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/gr_gp10b.c | 14 |
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 | } |