diff options
author | Sam Payne <spayne@nvidia.com> | 2015-02-05 13:46:35 -0500 |
---|---|---|
committer | Deepak Nibade <dnibade@nvidia.com> | 2016-12-27 04:52:04 -0500 |
commit | 20a1ab078546c7206bb65ab007882195953df1dd (patch) | |
tree | 6fd94bc155f48dae9101ac0142a6e27375d8df0d /drivers/gpu/nvgpu/gp10b/mc_gp10b.c | |
parent | 3d08b0dc35cd94612d77aab7e348ae509cc096f2 (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.c | 8 |
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]); |