diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2016-07-20 03:09:12 -0400 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-08-10 14:17:58 -0400 |
commit | 59a115f3fe6076de4c9af69de836cc82d6430544 (patch) | |
tree | 18af9e6080ee1306b1737ac74f392d88150e7a3c /drivers/gpu/nvgpu/gk20a/gr_gk20a.h | |
parent | 118809f4bd07af20df2b6c012828834695a5fccf (diff) |
gpu: nvgpu: post bpt events after processing
We currently post bpt events (bpt.int and bpt.pause) even
before we process and clear the interrupts and this
could cause races with UMD
Fix this by posting bpt events only after we are done
processing the interrupts
Bug 200209410
Change-Id: Ic3ff7148189fccb796cb6175d6d22ac25a4097fb
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/1184109
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gr_gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h index e1335b89..2a351bc3 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h | |||
@@ -584,7 +584,8 @@ void gr_gk20a_pmu_save_zbc(struct gk20a *g, u32 entries); | |||
584 | int gr_gk20a_wait_idle(struct gk20a *g, unsigned long end_jiffies, | 584 | int gr_gk20a_wait_idle(struct gk20a *g, unsigned long end_jiffies, |
585 | u32 expect_delay); | 585 | u32 expect_delay); |
586 | int gr_gk20a_handle_sm_exception(struct gk20a *g, u32 gpc, u32 tpc, | 586 | int gr_gk20a_handle_sm_exception(struct gk20a *g, u32 gpc, u32 tpc, |
587 | bool *post_event, struct channel_gk20a *fault_ch); | 587 | bool *post_event, struct channel_gk20a *fault_ch, |
588 | u32 *hww_global_esr); | ||
588 | int gr_gk20a_handle_tex_exception(struct gk20a *g, u32 gpc, u32 tpc, | 589 | int gr_gk20a_handle_tex_exception(struct gk20a *g, u32 gpc, u32 tpc, |
589 | bool *post_event); | 590 | bool *post_event); |
590 | int gr_gk20a_init_ctx_state(struct gk20a *g); | 591 | int gr_gk20a_init_ctx_state(struct gk20a *g); |