diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2017-09-13 08:02:21 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-09-15 15:48:20 -0400 |
commit | 7d6d0405311337456f50d6fa032963c18d2c9f9f (patch) | |
tree | f49b3eaca16726ef471a37b92130c54f04625d03 /drivers/gpu/nvgpu/gk20a | |
parent | ef6ea3475cac013c174905ab4f7f187700ae2a33 (diff) |
gpu: nvgpu: support platform specific TSG enable/disable
Add platform specific operations to enable/disable a TSG and use them instead
of directly calling enable/disable APIs
For gm20b/gp106/gp10b we continue to use gk20a_enable_tsg() and
gk20a_disable_tsg() as platform specific operations
Bug 1739362
Change-Id: I2dd0f38c8303757e8c7a47d8da0e30a790e514f0
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1560635
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Seshendra Gadagottu <sgadagottu@nvidia.com>
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/channel_gk20a.c | 4 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/fifo_gk20a.c | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c index 89862e63..d0d5c41f 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c | |||
@@ -200,7 +200,7 @@ int gk20a_enable_channel_tsg(struct gk20a *g, struct channel_gk20a *ch) | |||
200 | 200 | ||
201 | if (gk20a_is_channel_marked_as_tsg(ch)) { | 201 | if (gk20a_is_channel_marked_as_tsg(ch)) { |
202 | tsg = &g->fifo.tsg[ch->tsgid]; | 202 | tsg = &g->fifo.tsg[ch->tsgid]; |
203 | gk20a_enable_tsg(tsg); | 203 | g->ops.fifo.enable_tsg(tsg); |
204 | } else { | 204 | } else { |
205 | g->ops.fifo.enable_channel(ch); | 205 | g->ops.fifo.enable_channel(ch); |
206 | } | 206 | } |
@@ -214,7 +214,7 @@ int gk20a_disable_channel_tsg(struct gk20a *g, struct channel_gk20a *ch) | |||
214 | 214 | ||
215 | if (gk20a_is_channel_marked_as_tsg(ch)) { | 215 | if (gk20a_is_channel_marked_as_tsg(ch)) { |
216 | tsg = &g->fifo.tsg[ch->tsgid]; | 216 | tsg = &g->fifo.tsg[ch->tsgid]; |
217 | gk20a_disable_tsg(tsg); | 217 | g->ops.fifo.disable_tsg(tsg); |
218 | } else { | 218 | } else { |
219 | g->ops.fifo.disable_channel(ch); | 219 | g->ops.fifo.disable_channel(ch); |
220 | } | 220 | } |
diff --git a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c index 7062a8a0..88ce6a83 100644 --- a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c | |||
@@ -1383,7 +1383,7 @@ void gk20a_fifo_abort_tsg(struct gk20a *g, u32 tsgid, bool preempt) | |||
1383 | 1383 | ||
1384 | gk20a_dbg_fn(""); | 1384 | gk20a_dbg_fn(""); |
1385 | 1385 | ||
1386 | gk20a_disable_tsg(tsg); | 1386 | g->ops.fifo.disable_tsg(tsg); |
1387 | 1387 | ||
1388 | if (preempt) | 1388 | if (preempt) |
1389 | g->ops.fifo.preempt_tsg(g, tsgid); | 1389 | g->ops.fifo.preempt_tsg(g, tsgid); |
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index d2a752d7..4564b6e9 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -475,6 +475,8 @@ struct gpu_ops { | |||
475 | int (*resetup_ramfc)(struct channel_gk20a *c); | 475 | int (*resetup_ramfc)(struct channel_gk20a *c); |
476 | int (*preempt_channel)(struct gk20a *g, u32 chid); | 476 | int (*preempt_channel)(struct gk20a *g, u32 chid); |
477 | int (*preempt_tsg)(struct gk20a *g, u32 tsgid); | 477 | int (*preempt_tsg)(struct gk20a *g, u32 tsgid); |
478 | int (*enable_tsg)(struct tsg_gk20a *tsg); | ||
479 | int (*disable_tsg)(struct tsg_gk20a *tsg); | ||
478 | int (*reschedule_runlist)(struct gk20a *g, u32 runlist_id); | 480 | int (*reschedule_runlist)(struct gk20a *g, u32 runlist_id); |
479 | int (*update_runlist)(struct gk20a *g, u32 runlist_id, | 481 | int (*update_runlist)(struct gk20a *g, u32 runlist_id, |
480 | u32 chid, bool add, | 482 | u32 chid, bool add, |