summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp10b/mc_gp10b.c
diff options
context:
space:
mode:
authorSam Payne <spayne@nvidia.com>2015-02-05 13:46:35 -0500
committerDeepak Nibade <dnibade@nvidia.com>2016-12-27 04:52:04 -0500
commit20a1ab078546c7206bb65ab007882195953df1dd (patch)
tree6fd94bc155f48dae9101ac0142a6e27375d8df0d /drivers/gpu/nvgpu/gp10b/mc_gp10b.c
parent3d08b0dc35cd94612d77aab7e348ae509cc096f2 (diff)
gpu: nvgpu: gp10b: add ce interrupt support
ce interrupts use different register mapping and format from gk20a and gm20b. Change-Id: Icfe33bad940b2b829b6f57d07a3300adaf53d43c Signed-off-by: Sam Payne <spayne@nvidia.com> Reviewed-on: http://git-master/r/681646 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b/mc_gp10b.c')
-rw-r--r--drivers/gpu/nvgpu/gp10b/mc_gp10b.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/mc_gp10b.c b/drivers/gpu/nvgpu/gp10b/mc_gp10b.c
index 1760b6ad..47c8fcc6 100644
--- a/drivers/gpu/nvgpu/gp10b/mc_gp10b.c
+++ b/drivers/gpu/nvgpu/gp10b/mc_gp10b.c
@@ -110,6 +110,9 @@ irqreturn_t mc_gp10b_intr_thread_stall(struct gk20a *g)
110 110
111 if (mc_intr_0 & BIT(g->fifo.engine_info[ENGINE_GR_GK20A].intr_id)) 111 if (mc_intr_0 & BIT(g->fifo.engine_info[ENGINE_GR_GK20A].intr_id))
112 gr_gk20a_elpg_protected_call(g, gk20a_gr_isr(g)); 112 gr_gk20a_elpg_protected_call(g, gk20a_gr_isr(g));
113 if (mc_intr_0 & BIT(g->fifo.engine_info[ENGINE_CE2_GK20A].intr_id)
114 && g->ops.ce2.isr_stall)
115 g->ops.ce2.isr_stall(g);
113 if (mc_intr_0 & mc_intr_pfifo_pending_f()) 116 if (mc_intr_0 & mc_intr_pfifo_pending_f())
114 gk20a_fifo_isr(g); 117 gk20a_fifo_isr(g);
115 if (mc_intr_0 & mc_intr_pmu_pending_f()) 118 if (mc_intr_0 & mc_intr_pmu_pending_f())
@@ -141,6 +144,11 @@ irqreturn_t mc_gp10b_intr_thread_nonstall(struct gk20a *g)
141 gk20a_fifo_nonstall_isr(g); 144 gk20a_fifo_nonstall_isr(g);
142 if (mc_intr_1 & BIT(g->fifo.engine_info[ENGINE_GR_GK20A].intr_id)) 145 if (mc_intr_1 & BIT(g->fifo.engine_info[ENGINE_GR_GK20A].intr_id))
143 gk20a_gr_nonstall_isr(g); 146 gk20a_gr_nonstall_isr(g);
147 if (mc_intr_1 & BIT(g->fifo.engine_info[ENGINE_CE2_GK20A].intr_id)
148 && g->ops.ce2.isr_nonstall)
149 g->ops.ce2.isr_nonstall(g);
150
151
144 152
145 gk20a_writel(g, mc_intr_en_set_r(NVGPU_MC_INTR_NONSTALLING), 153 gk20a_writel(g, mc_intr_en_set_r(NVGPU_MC_INTR_NONSTALLING),
146 g->ops.mc.intr_mask_restore[NVGPU_MC_INTR_NONSTALLING]); 154 g->ops.mc.intr_mask_restore[NVGPU_MC_INTR_NONSTALLING]);