diff options
author | Sam Payne <spayne@nvidia.com> | 2015-01-26 17:02:25 -0500 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-04-04 21:08:17 -0400 |
commit | ce3afaaaf6092f46b2db0f8835e4d4b9b46ef1a4 (patch) | |
tree | bd06822411f5601c5ea5c7a9059c1d2c7710c64e /drivers/gpu/nvgpu/gk20a/mc_gk20a.c | |
parent | f3a920cb01d1517db5432c8062b660d6b60eb4de (diff) |
gpu: nvgpu: disable ce2 interrupts when unhandled
ce2 interrupts enabled only on gk20a and gm20b when
interrupts are handled through hal
Change-Id: Ib570db8f5f41e71e768b95e781153ec8a5d20015
Signed-off-by: Sam Payne <spayne@nvidia.com>
Reviewed-on: http://git-master/r/677447
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/mc_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/mc_gk20a.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/mc_gk20a.c b/drivers/gpu/nvgpu/gk20a/mc_gk20a.c index 86fea3a1..4aca3424 100644 --- a/drivers/gpu/nvgpu/gk20a/mc_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/mc_gk20a.c | |||
@@ -80,8 +80,9 @@ irqreturn_t mc_gk20a_intr_thread_stall(struct gk20a *g) | |||
80 | 80 | ||
81 | if (mc_intr_0 & BIT(g->fifo.engine_info[ENGINE_GR_GK20A].intr_id)) | 81 | if (mc_intr_0 & BIT(g->fifo.engine_info[ENGINE_GR_GK20A].intr_id)) |
82 | gr_gk20a_elpg_protected_call(g, gk20a_gr_isr(g)); | 82 | gr_gk20a_elpg_protected_call(g, gk20a_gr_isr(g)); |
83 | if (mc_intr_0 & BIT(g->fifo.engine_info[ENGINE_CE2_GK20A].intr_id)) | 83 | if (mc_intr_0 & BIT(g->fifo.engine_info[ENGINE_CE2_GK20A].intr_id) |
84 | gk20a_ce2_isr(g); | 84 | && g->ops.ce2.isr_stall) |
85 | g->ops.ce2.isr_stall(g); | ||
85 | if (mc_intr_0 & mc_intr_0_pfifo_pending_f()) | 86 | if (mc_intr_0 & mc_intr_0_pfifo_pending_f()) |
86 | gk20a_fifo_isr(g); | 87 | gk20a_fifo_isr(g); |
87 | if (mc_intr_0 & mc_intr_0_pmu_pending_f()) | 88 | if (mc_intr_0 & mc_intr_0_pmu_pending_f()) |
@@ -118,8 +119,9 @@ irqreturn_t mc_gk20a_intr_thread_nonstall(struct gk20a *g) | |||
118 | gk20a_fifo_nonstall_isr(g); | 119 | gk20a_fifo_nonstall_isr(g); |
119 | if (mc_intr_1 & BIT(g->fifo.engine_info[ENGINE_GR_GK20A].intr_id)) | 120 | if (mc_intr_1 & BIT(g->fifo.engine_info[ENGINE_GR_GK20A].intr_id)) |
120 | gk20a_gr_nonstall_isr(g); | 121 | gk20a_gr_nonstall_isr(g); |
121 | if (mc_intr_1 & BIT(g->fifo.engine_info[ENGINE_CE2_GK20A].intr_id)) | 122 | if (mc_intr_1 & BIT(g->fifo.engine_info[ENGINE_CE2_GK20A].intr_id) |
122 | gk20a_ce2_nonstall_isr(g); | 123 | && g->ops.ce2.isr_nonstall) |
124 | g->ops.ce2.isr_nonstall(g); | ||
123 | 125 | ||
124 | gk20a_writel(g, mc_intr_en_1_r(), | 126 | gk20a_writel(g, mc_intr_en_1_r(), |
125 | mc_intr_en_1_inta_hardware_f()); | 127 | mc_intr_en_1_inta_hardware_f()); |