summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/include
diff options
context:
space:
mode:
authorDeepak Goyal <dgoyal@nvidia.com>2018-09-14 02:15:19 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-09-27 01:24:52 -0400
commit34732a14b22f09d8f9d52f756612178f0313f120 (patch)
tree94f634efcad3179ddbca82dedaf82dfe8f099030 /drivers/gpu/nvgpu/include
parent991179f29cea8ab8272465789496c2f15bad6240 (diff)
nvgpu: gpu: Support multiple tpc-pg masks.
- TPC powergating should be done before calling gk20a_enable_gr_hw. gk20a_enable_gr_hw() issues a GR engine reset. Without this fix, enabling 1 TPC from each PES causes ctxsw timeout error while running GFX Benchmark. - Adds valid tpc-pg mask for 1/2/3/4 active TPC configs. TPC Config - TPC-MASK 4 TPC configuration - 0x0 3 TPC configuration - 0x1/0x2/0x4/0x8 2 TPC configuration - 0x5/0x9/0x6/0xa - We should not write to gr_fe_tpc_pesmask_r() as part of TPC-PG sequence. This register is for debug purpose only. Bug 200442360 Change-Id: I6fbe1ad8fbc836ace8cbaf00ec3d21a12c73e0bd Signed-off-by: Deepak Goyal <dgoyal@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1809772 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/include')
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/gk20a.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/gk20a.h b/drivers/gpu/nvgpu/include/nvgpu/gk20a.h
index 2ebe0011..8d7ccfa8 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/gk20a.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/gk20a.h
@@ -138,6 +138,8 @@ enum gk20a_cbc_op {
138 138
139#define nvgpu_get_litter_value(g, v) (g)->ops.get_litter_value((g), v) 139#define nvgpu_get_litter_value(g, v) (g)->ops.get_litter_value((g), v)
140 140
141#define MAX_TPC_PG_CONFIGS 3
142
141enum nvgpu_unit; 143enum nvgpu_unit;
142 144
143enum nvgpu_flush_op; 145enum nvgpu_flush_op;
@@ -1592,7 +1594,7 @@ struct gk20a {
1592 u32 tpc_pg_mask; 1594 u32 tpc_pg_mask;
1593 bool can_tpc_powergate; 1595 bool can_tpc_powergate;
1594 1596
1595 u32 valid_tpc_mask; 1597 u32 valid_tpc_mask[MAX_TPC_PG_CONFIGS];
1596 1598
1597 struct nvgpu_bios bios; 1599 struct nvgpu_bios bios;
1598 bool bios_is_init; 1600 bool bios_is_init;