summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h
diff options
context:
space:
mode:
authorSeema Khowala <seemaj@nvidia.com>2017-10-24 13:53:39 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-11-15 05:05:20 -0500
commitef6a296f5295932f02a5c500e85da7c8bd7ed84e (patch)
tree7dfeebaf42a283fdf8b7f01172e69231d6a7b1b6 /drivers/gpu/nvgpu/gk20a/fifo_gk20a.h
parent744d5a5212936fd453bacc46be52e6aeef076a69 (diff)
gpu: nvgpu: get intr mask for an active_engine_id
This is needed for t19x during eng preempt done polling. E.g. copy engine (CE) stall interrupt should not prevent GR from finishing preemption. In order to check if current stall interrupt is valid for the engine being polled for preemption completion, function to provide engine intr mask is needed. With this, polling code can make sure there are no stall interrupts pending for the engine being polled for preemption done. If stall interrupts are pending for an engine, preemption will never finish. Bug 200277163 Bug 1945121 Change-Id: Ie1ccac52c3e8d453a49084e195f2e7eaafb8f057 Signed-off-by: Seema Khowala <seemaj@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1584065 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/fifo_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/fifo_gk20a.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h
index 4c967e80..42ad288f 100644
--- a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h
@@ -276,6 +276,7 @@ void fifo_gk20a_finish_mmu_fault_handling(struct gk20a *g,
276int gk20a_fifo_wait_engine_idle(struct gk20a *g); 276int gk20a_fifo_wait_engine_idle(struct gk20a *g);
277bool gk20a_fifo_is_engine_busy(struct gk20a *g); 277bool gk20a_fifo_is_engine_busy(struct gk20a *g);
278u32 gk20a_fifo_engine_interrupt_mask(struct gk20a *g); 278u32 gk20a_fifo_engine_interrupt_mask(struct gk20a *g);
279u32 gk20a_fifo_act_eng_interrupt_mask(struct gk20a *g, u32 act_eng_id);
279u32 gk20a_fifo_get_pbdma_signature(struct gk20a *g); 280u32 gk20a_fifo_get_pbdma_signature(struct gk20a *g);
280u32 gk20a_fifo_get_failing_engine_data(struct gk20a *g, 281u32 gk20a_fifo_get_failing_engine_data(struct gk20a *g,
281 int *__id, bool *__is_tsg); 282 int *__id, bool *__is_tsg);