diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gm20b/gr_gm20b.c')
-rw-r--r-- | drivers/gpu/nvgpu/gm20b/gr_gm20b.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/gr_gm20b.c b/drivers/gpu/nvgpu/gm20b/gr_gm20b.c index 7ed36144..101f4211 100644 --- a/drivers/gpu/nvgpu/gm20b/gr_gm20b.c +++ b/drivers/gpu/nvgpu/gm20b/gr_gm20b.c | |||
@@ -1516,3 +1516,19 @@ u32 gr_gm20b_get_pmm_per_chiplet_offset(void) | |||
1516 | { | 1516 | { |
1517 | return (perf_pmmsys_extent_v() - perf_pmmsys_base_v() + 1); | 1517 | return (perf_pmmsys_extent_v() - perf_pmmsys_base_v() + 1); |
1518 | } | 1518 | } |
1519 | |||
1520 | void gm20b_gr_set_debug_mode(struct gk20a *g, bool enable) | ||
1521 | { | ||
1522 | u32 reg_val, gpc_debug_ctrl; | ||
1523 | |||
1524 | if (enable) { | ||
1525 | gpc_debug_ctrl = gr_gpcs_pri_mmu_debug_ctrl_debug_enabled_f(); | ||
1526 | } else { | ||
1527 | gpc_debug_ctrl = gr_gpcs_pri_mmu_debug_ctrl_debug_disabled_f(); | ||
1528 | } | ||
1529 | |||
1530 | reg_val = gk20a_readl(g, gr_gpcs_pri_mmu_debug_ctrl_r()); | ||
1531 | reg_val = set_field(reg_val, | ||
1532 | gr_gpcs_pri_mmu_debug_ctrl_debug_m(), gpc_debug_ctrl); | ||
1533 | gk20a_writel(g, gr_gpcs_pri_mmu_debug_ctrl_r(), reg_val); | ||
1534 | } | ||