summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2015-10-28 06:43:14 -0400
committerTerje Bergstrom <tbergstrom@nvidia.com>2015-11-03 17:20:08 -0500
commit9592a4e6fce8204e9ada54ba00902e792199fec5 (patch)
tree37cc1bffce5ea48555a1ed88865e5f545627b546 /drivers/gpu/nvgpu/gk20a/channel_gk20a.h
parent8d279dbac10b8521aa7eaeb7640c01d21ce044f2 (diff)
gpu: nvgpu: IOCTL to set TSG timeslice
Add new IOCTL NVGPU_IOCTL_TSG_SET_PRIORITY to allow setting timeslice for entire TSG Return error from channel specific IOCTL_CHANNEL_SET_PRIORITY if the channel is part of TSG Separate out API gk20a_channel_get_timescale_from_timeslice() to get timeslice_timeout and scale from timeslice period Use this API to get timeslice_timeout and scale for TSG and store it in tsg_gk20a structure Then trigger runlist update so that new timeslice values will be re-written to runlist for TSG Bug 200146615 Change-Id: I555467d034f81b372b31372f0835d72b1c159508 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/824206 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/channel_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/channel_gk20a.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.h b/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
index 29697b9f..e7809daa 100644
--- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
@@ -253,4 +253,9 @@ int channel_gk20a_setup_ramfc(struct channel_gk20a *c,
253 u64 gpfifo_base, u32 gpfifo_entries, u32 flags); 253 u64 gpfifo_base, u32 gpfifo_entries, u32 flags);
254void channel_gk20a_enable(struct channel_gk20a *ch); 254void channel_gk20a_enable(struct channel_gk20a *ch);
255void gk20a_channel_timeout_restart_all_channels(struct gk20a *g); 255void gk20a_channel_timeout_restart_all_channels(struct gk20a *g);
256
257int gk20a_channel_get_timescale_from_timeslice(struct gk20a *g,
258 int timeslice_period,
259 int *__timeslice_timeout, int *__timeslice_scale);
260
256#endif /* CHANNEL_GK20A_H */ 261#endif /* CHANNEL_GK20A_H */