summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2016-12-02 01:16:17 -0500
committerDeepak Nibade <dnibade@nvidia.com>2016-12-27 04:56:51 -0500
commitc320ccfa952a2796db27d97111791bcbeff9f5c7 (patch)
treeb3488f076f802b080f059f86d50e78be0973b5cd /drivers/gpu/nvgpu/gp10b/gr_gp10b.c
parentd8dc7b130e4b93a1c29c26b852af686eb67444de (diff)
gpu: nvgpu: remove debugger check for cilp completion event
We can trigger CILP only if SM debug mode is on. So in fecs interrupt handler, we could have graphics context running for which SM debug mode is disabled. And in that case we skip posting of cilp completion events to UMD. But since CILP event was anyways triggered, we need to post events to UMD irrespective of SM debug mode is enabled at that point or not Hence remove check gk20a_gr_sm_debugger_attached() for posting events to UMD Bug 200243092 Change-Id: I54ad205be11ec6d5034d524bfbb28f8a1fa72993 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Signed-off-by: Thomas Fleury <tfleury@nvidia.com> Reviewed-on: http://git-master/r/1263591 (cherry picked from commit e6259e2d0d5a4bb5929e70e03e154f8b82ae3600) Reviewed-on: http://git-master/r/1264780 GVS: Gerrit_Virtual_Submit Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b/gr_gp10b.c')
-rw-r--r--drivers/gpu/nvgpu/gp10b/gr_gp10b.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
index 09c2558c..051e16a3 100644
--- a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
+++ b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
@@ -1896,18 +1896,17 @@ static int gr_gp10b_handle_fecs_error(struct gk20a *g,
1896 goto clean_up; 1896 goto clean_up;
1897 } 1897 }
1898 1898
1899 if (gk20a_gr_sm_debugger_attached(g)) { 1899 /* Post events to UMD */
1900 gk20a_dbg_gpu_post_events(ch); 1900 gk20a_dbg_gpu_post_events(ch);
1901 1901
1902 if (gk20a_is_channel_marked_as_tsg(ch)) { 1902 if (gk20a_is_channel_marked_as_tsg(ch)) {
1903 struct tsg_gk20a *tsg = &g->fifo.tsg[ch->tsgid]; 1903 struct tsg_gk20a *tsg = &g->fifo.tsg[ch->tsgid];
1904 1904
1905 gk20a_tsg_event_id_post_event(tsg, 1905 gk20a_tsg_event_id_post_event(tsg,
1906 NVGPU_IOCTL_CHANNEL_EVENT_ID_CILP_PREEMPTION_COMPLETE); 1906 NVGPU_IOCTL_CHANNEL_EVENT_ID_CILP_PREEMPTION_COMPLETE);
1907 } else { 1907 } else {
1908 gk20a_channel_event_id_post_event(ch, 1908 gk20a_channel_event_id_post_event(ch,
1909 NVGPU_IOCTL_CHANNEL_EVENT_ID_CILP_PREEMPTION_COMPLETE); 1909 NVGPU_IOCTL_CHANNEL_EVENT_ID_CILP_PREEMPTION_COMPLETE);
1910 }
1911 } 1910 }
1912 1911
1913 gk20a_channel_put(ch); 1912 gk20a_channel_put(ch);