diff options
author | Richard Zhao <rizhao@nvidia.com> | 2018-03-16 14:11:27 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-03-29 21:54:02 -0400 |
commit | c5f03db98a20eb4e8b83fd350d293aab6986beff (patch) | |
tree | 2f6d53b0bfac835f8fc24ebf3181cf709f394829 /drivers/gpu/nvgpu/gk20a/fifo_gk20a.c | |
parent | 5c27ac91fdde693c6f57100dc7fc6be75cc6982a (diff) |
gpu: nvgpu: add gops.fifo.ch_abort_clean_up
Channel abort clean up is only needed by native and vgpu driver but not
RM server. RM server expects guest will clean up itself. RM server
should not set the callback.
Jira VQRM-3058
Change-Id: I11b49b6f2d51c871e31de16955d487dca82609cb
Signed-off-by: Richard Zhao <rizhao@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1679705
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.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/fifo_gk20a.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c index 6a7afad7..f069b193 100644 --- a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c | |||
@@ -1432,7 +1432,8 @@ void gk20a_fifo_abort_tsg(struct gk20a *g, u32 tsgid, bool preempt) | |||
1432 | nvgpu_list_for_each_entry(ch, &tsg->ch_list, channel_gk20a, ch_entry) { | 1432 | nvgpu_list_for_each_entry(ch, &tsg->ch_list, channel_gk20a, ch_entry) { |
1433 | if (gk20a_channel_get(ch)) { | 1433 | if (gk20a_channel_get(ch)) { |
1434 | ch->has_timedout = true; | 1434 | ch->has_timedout = true; |
1435 | gk20a_channel_abort_clean_up(ch); | 1435 | if (ch->g->ops.fifo.ch_abort_clean_up) |
1436 | ch->g->ops.fifo.ch_abort_clean_up(ch); | ||
1436 | gk20a_channel_put(ch); | 1437 | gk20a_channel_put(ch); |
1437 | } | 1438 | } |
1438 | } | 1439 | } |
@@ -2016,7 +2017,8 @@ int gk20a_fifo_tsg_unbind_channel(struct channel_gk20a *ch) | |||
2016 | if (!tsg_timedout) | 2017 | if (!tsg_timedout) |
2017 | g->ops.fifo.enable_tsg(tsg); | 2018 | g->ops.fifo.enable_tsg(tsg); |
2018 | 2019 | ||
2019 | gk20a_channel_abort_clean_up(ch); | 2020 | if (ch->g->ops.fifo.ch_abort_clean_up) |
2021 | ch->g->ops.fifo.ch_abort_clean_up(ch); | ||
2020 | 2022 | ||
2021 | return 0; | 2023 | return 0; |
2022 | 2024 | ||