summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c
diff options
context:
space:
mode:
authorMahantesh Kumbar <mkumbar@nvidia.com>2014-12-09 01:15:51 -0500
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:12:31 -0400
commitd37aa77ab5f0edd3225af31fef389bc066f20fda (patch)
tree8e56d9e8a9cafe8c6f912878a1466ba303561112 /drivers/gpu/nvgpu/gk20a/pmu_gk20a.c
parent31f47b8306232565b60d43d7d974699faa997cf3 (diff)
gpu: nvgpu: Allow enabling/disabling MC interrupt
Added method to enable/disable MC interrupt by unit Bug 200064127 Change-Id: I89e794d5b69a2a93642e2df437d6744bf595f021 Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com> Reviewed-on: http://git-master/r/661211 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/pmu_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/pmu_gk20a.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c
index 4471b0f1..27478750 100644
--- a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c
@@ -1178,12 +1178,10 @@ void pmu_enable_irq(struct pmu_gk20a *pmu, bool enable)
1178 1178
1179 gk20a_dbg_fn(""); 1179 gk20a_dbg_fn("");
1180 1180
1181 gk20a_writel(g, mc_intr_mask_0_r(), 1181 g->ops.mc.intr_unit_config(g, MC_INTR_UNIT_DISABLE, true,
1182 gk20a_readl(g, mc_intr_mask_0_r()) & 1182 mc_intr_mask_0_pmu_enabled_f());
1183 ~mc_intr_mask_0_pmu_enabled_f()); 1183 g->ops.mc.intr_unit_config(g, MC_INTR_UNIT_DISABLE, false,
1184 gk20a_writel(g, mc_intr_mask_1_r(), 1184 mc_intr_mask_1_pmu_enabled_f());
1185 gk20a_readl(g, mc_intr_mask_1_r()) &
1186 ~mc_intr_mask_1_pmu_enabled_f());
1187 1185
1188 gk20a_writel(g, pwr_falcon_irqmclr_r(), 1186 gk20a_writel(g, pwr_falcon_irqmclr_r(),
1189 pwr_falcon_irqmclr_gptmr_f(1) | 1187 pwr_falcon_irqmclr_gptmr_f(1) |
@@ -1229,9 +1227,8 @@ void pmu_enable_irq(struct pmu_gk20a *pmu, bool enable)
1229 pwr_falcon_irqmset_swgen0_f(1) | 1227 pwr_falcon_irqmset_swgen0_f(1) |
1230 pwr_falcon_irqmset_swgen1_f(1)); 1228 pwr_falcon_irqmset_swgen1_f(1));
1231 1229
1232 gk20a_writel(g, mc_intr_mask_0_r(), 1230 g->ops.mc.intr_unit_config(g, MC_INTR_UNIT_ENABLE, true,
1233 gk20a_readl(g, mc_intr_mask_0_r()) | 1231 mc_intr_mask_0_pmu_enabled_f());
1234 mc_intr_mask_0_pmu_enabled_f());
1235 } 1232 }
1236 1233
1237 gk20a_dbg_fn("done"); 1234 gk20a_dbg_fn("done");