summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/priv_ring
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/common/priv_ring')
-rw-r--r--drivers/gpu/nvgpu/common/priv_ring/priv_ring_gm20b.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/common/priv_ring/priv_ring_gm20b.c b/drivers/gpu/nvgpu/common/priv_ring/priv_ring_gm20b.c
index 1445473a..c169115e 100644
--- a/drivers/gpu/nvgpu/common/priv_ring/priv_ring_gm20b.c
+++ b/drivers/gpu/nvgpu/common/priv_ring/priv_ring_gm20b.c
@@ -36,14 +36,16 @@
36 36
37void gm20b_priv_ring_enable(struct gk20a *g) 37void gm20b_priv_ring_enable(struct gk20a *g)
38{ 38{
39 if (nvgpu_is_enabled(g, NVGPU_IS_FMODEL)) 39 if (nvgpu_is_enabled(g, NVGPU_IS_FMODEL)) {
40 return; 40 return;
41 }
41 42
42 nvgpu_log(g, gpu_dbg_info, "enabling priv ring"); 43 nvgpu_log(g, gpu_dbg_info, "enabling priv ring");
43 44
44 if (g->ops.clock_gating.slcg_priring_load_gating_prod) 45 if (g->ops.clock_gating.slcg_priring_load_gating_prod) {
45 g->ops.clock_gating.slcg_priring_load_gating_prod(g, 46 g->ops.clock_gating.slcg_priring_load_gating_prod(g,
46 g->slcg_enabled); 47 g->slcg_enabled);
48 }
47 49
48 gk20a_writel(g,pri_ringmaster_command_r(), 50 gk20a_writel(g,pri_ringmaster_command_r(),
49 0x4); 51 0x4);
@@ -61,8 +63,9 @@ void gm20b_priv_ring_isr(struct gk20a *g)
61 u32 gpc; 63 u32 gpc;
62 u32 gpc_priv_stride = nvgpu_get_litter_value(g, GPU_LIT_GPC_PRIV_STRIDE); 64 u32 gpc_priv_stride = nvgpu_get_litter_value(g, GPU_LIT_GPC_PRIV_STRIDE);
63 65
64 if (nvgpu_is_enabled(g, NVGPU_IS_FMODEL)) 66 if (nvgpu_is_enabled(g, NVGPU_IS_FMODEL)) {
65 return; 67 return;
68 }
66 69
67 status0 = gk20a_readl(g, pri_ringmaster_intr_status0_r()); 70 status0 = gk20a_readl(g, pri_ringmaster_intr_status0_r());
68 status1 = gk20a_readl(g, pri_ringmaster_intr_status1_r()); 71 status1 = gk20a_readl(g, pri_ringmaster_intr_status1_r());
@@ -101,8 +104,9 @@ void gm20b_priv_ring_isr(struct gk20a *g)
101 cmd = pri_ringmaster_command_cmd_v( 104 cmd = pri_ringmaster_command_cmd_v(
102 gk20a_readl(g, pri_ringmaster_command_r())); 105 gk20a_readl(g, pri_ringmaster_command_r()));
103 } 106 }
104 if (retry == 0 && cmd != pri_ringmaster_command_cmd_no_cmd_v()) 107 if (retry == 0 && cmd != pri_ringmaster_command_cmd_no_cmd_v()) {
105 nvgpu_warn(g, "priv ringmaster intr ack too many retries"); 108 nvgpu_warn(g, "priv ringmaster intr ack too many retries");
109 }
106} 110}
107 111
108void gm20b_priv_set_timeout_settings(struct gk20a *g) 112void gm20b_priv_set_timeout_settings(struct gk20a *g)