diff options
author | Mahantesh Kumbar <mkumbar@nvidia.com> | 2014-12-09 01:15:51 -0500 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-03-18 15:12:31 -0400 |
commit | d37aa77ab5f0edd3225af31fef389bc066f20fda (patch) | |
tree | 8e56d9e8a9cafe8c6f912878a1466ba303561112 /drivers/gpu/nvgpu/gk20a/pmu_gk20a.c | |
parent | 31f47b8306232565b60d43d7d974699faa997cf3 (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.c | 15 |
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"); |