diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2016-12-02 01:16:17 -0500 |
---|---|---|
committer | Deepak Nibade <dnibade@nvidia.com> | 2016-12-27 04:56:51 -0500 |
commit | c320ccfa952a2796db27d97111791bcbeff9f5c7 (patch) | |
tree | b3488f076f802b080f059f86d50e78be0973b5cd /drivers/gpu/nvgpu | |
parent | d8dc7b130e4b93a1c29c26b852af686eb67444de (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')
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/gr_gp10b.c | 19 |
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); |