diff options
author | Thomas Fleury <tfleury@nvidia.com> | 2017-04-19 19:47:13 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-05-24 07:55:36 -0400 |
commit | b03afb6d5c4bbca5a26cc95027491c816e5e1f6d (patch) | |
tree | b59ae1b881877cf52ca921a5bf9d884f78fac648 /drivers/gpu/nvgpu/gk20a/tsg_gk20a.c | |
parent | a823c72219d3bb96bc9489e84b64e0038e7119d7 (diff) |
gpu: nvgpu: add ioctls to get current timeslice
Add the following ioctls
- NVGPU_CHANNEL_IOCTL_GET_TIMESLICE for channel timeslice in us
- NVGPU_TSG_IOCTL_GET_TIMESLICE for TSG timeslice in us
If timeslice has not been set explicitly, ioctl returns the
default timeslice that will be used when programming the runlist
entry.
Bug 1883271
Change-Id: Ib18fdd836323b1a2d4efceb1e27d07713bd6fca5
Signed-off-by: Thomas Fleury <tfleury@nvidia.com>
Reviewed-on: http://git-master/r/1469040
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/tsg_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/tsg_gk20a.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/tsg_gk20a.c b/drivers/gpu/nvgpu/gk20a/tsg_gk20a.c index f9884cfb..9cb5b262 100644 --- a/drivers/gpu/nvgpu/gk20a/tsg_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/tsg_gk20a.c | |||
@@ -211,6 +211,16 @@ int gk20a_tsg_set_timeslice(struct tsg_gk20a *tsg, u32 timeslice) | |||
211 | return g->ops.fifo.tsg_set_timeslice(tsg, timeslice); | 211 | return g->ops.fifo.tsg_set_timeslice(tsg, timeslice); |
212 | } | 212 | } |
213 | 213 | ||
214 | u32 gk20a_tsg_get_timeslice(struct tsg_gk20a *tsg) | ||
215 | { | ||
216 | struct gk20a *g = tsg->g; | ||
217 | |||
218 | if (!tsg->timeslice_us) | ||
219 | return g->ops.fifo.default_timeslice_us(g); | ||
220 | |||
221 | return tsg->timeslice_us; | ||
222 | } | ||
223 | |||
214 | static void release_used_tsg(struct fifo_gk20a *f, struct tsg_gk20a *tsg) | 224 | static void release_used_tsg(struct fifo_gk20a *f, struct tsg_gk20a *tsg) |
215 | { | 225 | { |
216 | nvgpu_mutex_acquire(&f->tsg_inuse_mutex); | 226 | nvgpu_mutex_acquire(&f->tsg_inuse_mutex); |