diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2018-08-30 18:00:18 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-09-13 22:18:28 -0400 |
commit | 3b09c9d16a778babe9fa1df273c84c106baa48c7 (patch) | |
tree | 2bfbb4c687c2306f2d95f885df90930213d25693 /drivers/gpu/nvgpu | |
parent | 7ac0b046a538daa1a3532d3d5ae7cba1ef3295ba (diff) |
gpu: nvgpu: Move FBPA interrupt HAL to MC
FBPA interrupt is reported via a register in MC. Move the HAL
dealing with that interrupt to MC.
JIRA NVGPU-954
Change-Id: Ic2b8439e82788f851536bcbb5cba6580f4d5ee7e
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1813520
Reviewed-by: svc-misra-checker <svc-misra-checker@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Konsta Holtta <kholtta@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/common/mc/mc_gp10b.c | 4 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/include/nvgpu/gk20a.h | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/common/mc/mc_gp10b.c b/drivers/gpu/nvgpu/common/mc/mc_gp10b.c index a0f26dd3..3dce9a09 100644 --- a/drivers/gpu/nvgpu/common/mc/mc_gp10b.c +++ b/drivers/gpu/nvgpu/common/mc/mc_gp10b.c | |||
@@ -144,8 +144,8 @@ void mc_gp10b_isr_stall(struct gk20a *g) | |||
144 | g->ops.mc.is_intr_nvlink_pending(g, mc_intr_0)) { | 144 | g->ops.mc.is_intr_nvlink_pending(g, mc_intr_0)) { |
145 | g->ops.nvlink.isr(g); | 145 | g->ops.nvlink.isr(g); |
146 | } | 146 | } |
147 | if (mc_intr_0 & mc_intr_pfb_pending_f() && g->ops.fb.fbpa_isr) { | 147 | if (mc_intr_0 & mc_intr_pfb_pending_f() && g->ops.mc.fbpa_isr) { |
148 | g->ops.fb.fbpa_isr(g); | 148 | g->ops.mc.fbpa_isr(g); |
149 | } | 149 | } |
150 | 150 | ||
151 | nvgpu_log(g, gpu_dbg_intr, "stall intr done 0x%08x\n", mc_intr_0); | 151 | nvgpu_log(g, gpu_dbg_intr, "stall intr done 0x%08x\n", mc_intr_0); |
diff --git a/drivers/gpu/nvgpu/include/nvgpu/gk20a.h b/drivers/gpu/nvgpu/include/nvgpu/gk20a.h index 56b14245..0230709c 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/gk20a.h +++ b/drivers/gpu/nvgpu/include/nvgpu/gk20a.h | |||
@@ -560,7 +560,7 @@ struct gpu_ops { | |||
560 | void (*enable_hub_intr)(struct gk20a *g); | 560 | void (*enable_hub_intr)(struct gk20a *g); |
561 | void (*disable_hub_intr)(struct gk20a *g); | 561 | void (*disable_hub_intr)(struct gk20a *g); |
562 | int (*init_fbpa)(struct gk20a *g); | 562 | int (*init_fbpa)(struct gk20a *g); |
563 | void (*fbpa_isr)(struct gk20a *g); | 563 | void (*handle_fbpa_intr)(struct gk20a *g, u32 fbpa_id); |
564 | void (*write_mmu_fault_buffer_lo_hi)(struct gk20a *g, u32 index, | 564 | void (*write_mmu_fault_buffer_lo_hi)(struct gk20a *g, u32 index, |
565 | u32 addr_lo, u32 addr_hi); | 565 | u32 addr_lo, u32 addr_hi); |
566 | void (*write_mmu_fault_buffer_get)(struct gk20a *g, u32 index, | 566 | void (*write_mmu_fault_buffer_get)(struct gk20a *g, u32 index, |
@@ -1168,6 +1168,7 @@ struct gpu_ops { | |||
1168 | void (*reset)(struct gk20a *g, u32 units); | 1168 | void (*reset)(struct gk20a *g, u32 units); |
1169 | bool (*is_intr1_pending)(struct gk20a *g, enum nvgpu_unit unit, u32 mc_intr_1); | 1169 | bool (*is_intr1_pending)(struct gk20a *g, enum nvgpu_unit unit, u32 mc_intr_1); |
1170 | void (*log_pending_intrs)(struct gk20a *g); | 1170 | void (*log_pending_intrs)(struct gk20a *g); |
1171 | void (*fbpa_isr)(struct gk20a *g); | ||
1171 | } mc; | 1172 | } mc; |
1172 | struct { | 1173 | struct { |
1173 | void (*show_dump)(struct gk20a *g, | 1174 | void (*show_dump)(struct gk20a *g, |