diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-04-19 13:27:11 -0400 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-04-26 12:46:04 -0400 |
commit | ec62c649b5338e7608ea82546135e88f443b90a8 (patch) | |
tree | f7190b7d86fafd9764a13a50689ef70bdff66300 /drivers/gpu/nvgpu/gk20a/gk20a.h | |
parent | b10e02f53769c6b8dcc58db09ae1cec0cdca4417 (diff) |
gpu: nvgpu: Idle GR before calling PMU ZBC save
On gk20a when PMU is updating ZBC colors it is reading them from L2.
But L2 has one port, and ZBC reads can race with other transactions.
Idle graphics before sending PMU the ZBC_UPDATE request.
Also makes pmu_save_zbc a HAL, because PMU ucode has changes to bypass
this problem on some chips.
Bug 1746047
Change-Id: Id8fcd6850af7ef1d8f0a6aafa0fe6b4f88b5f2d9
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/1129017
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index 5c397ad8..47adcc14 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -188,6 +188,9 @@ struct gpu_ops { | |||
188 | struct zbc_entry *zbc_val); | 188 | struct zbc_entry *zbc_val); |
189 | int (*zbc_query_table)(struct gk20a *g, struct gr_gk20a *gr, | 189 | int (*zbc_query_table)(struct gk20a *g, struct gr_gk20a *gr, |
190 | struct zbc_query_params *query_params); | 190 | struct zbc_query_params *query_params); |
191 | void (*pmu_save_zbc)(struct gk20a *g, u32 entries); | ||
192 | int (*add_zbc)(struct gk20a *g, struct gr_gk20a *gr, | ||
193 | struct zbc_entry *zbc_val); | ||
191 | u32 (*pagepool_default_size)(struct gk20a *g); | 194 | u32 (*pagepool_default_size)(struct gk20a *g); |
192 | int (*init_ctx_state)(struct gk20a *g); | 195 | int (*init_ctx_state)(struct gk20a *g); |
193 | int (*alloc_gr_ctx)(struct gk20a *g, | 196 | int (*alloc_gr_ctx)(struct gk20a *g, |