summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp10b/gp10b_gating_reglist.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b/gp10b_gating_reglist.c')
-rw-r--r--drivers/gpu/nvgpu/gp10b/gp10b_gating_reglist.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/gp10b_gating_reglist.c b/drivers/gpu/nvgpu/gp10b/gp10b_gating_reglist.c
index 6bcd9f35..4719b13e 100644
--- a/drivers/gpu/nvgpu/gp10b/gp10b_gating_reglist.c
+++ b/drivers/gpu/nvgpu/gp10b/gp10b_gating_reglist.c
@@ -163,6 +163,11 @@ static const struct gating_desc gp10b_blcg_bus[] = {
163 {.addr = 0x00001c00, .prod = 0x00000042, .disable = 0x00000000}, 163 {.addr = 0x00001c00, .prod = 0x00000042, .disable = 0x00000000},
164}; 164};
165 165
166/* blcg ce */
167static const struct gating_desc gp10b_blcg_ce[] = {
168 {.addr = 0x00104200, .prod = 0x00008242, .disable = 0x00000000},
169};
170
166/* blcg ctxsw prog */ 171/* blcg ctxsw prog */
167static const struct gating_desc gp10b_blcg_ctxsw_prog[] = { 172static const struct gating_desc gp10b_blcg_ctxsw_prog[] = {
168}; 173};
@@ -483,6 +488,21 @@ void gp10b_blcg_bus_load_gating_prod(struct gk20a *g,
483 } 488 }
484} 489}
485 490
491void gp10b_blcg_ce_load_gating_prod(struct gk20a *g,
492 bool prod)
493{
494 u32 i;
495 u32 size = sizeof(gp10b_blcg_ce) / sizeof(struct gating_desc);
496 for (i = 0; i < size; i++) {
497 if (prod)
498 gk20a_writel(g, gp10b_blcg_ce[i].addr,
499 gp10b_blcg_ce[i].prod);
500 else
501 gk20a_writel(g, gp10b_blcg_ce[i].addr,
502 gp10b_blcg_ce[i].disable);
503 }
504}
505
486void gp10b_blcg_ctxsw_firmware_load_gating_prod(struct gk20a *g, 506void gp10b_blcg_ctxsw_firmware_load_gating_prod(struct gk20a *g,
487 bool prod) 507 bool prod)
488{ 508{