diff options
author | Thomas Fleury <tfleury@nvidia.com> | 2016-05-10 12:05:45 -0400 |
---|---|---|
committer | Vijayakumar Subbu <vsubbu@nvidia.com> | 2016-07-19 02:12:51 -0400 |
commit | c8ffe0fdecfa110a9f9beb1b7e0298d3c3c64cc2 (patch) | |
tree | 08054741c436ab6a783e710a9efa87fc7a0b71df /drivers/gpu/nvgpu/gk20a/tsg_gk20a.h | |
parent | 90988af81237d3b56c063b750c32efcbee9ab9cc (diff) |
gpu: nvgpu: add sched control API
Added a dedicated device node to allow an
app manager to control TSG scheduling parameters:
- Get list of TSGs
- Get list of recent TSGs
- Get list of TSGs per pid
- Get TSG current scheduling parameters
- Set TSG timeslice
- Set TSG runlist interleave
Jira VFND-1586
Change-Id: I014c9d1534bce0eaea6c25ad114cf0cff317af79
Signed-off-by: Thomas Fleury <tfleury@nvidia.com>
Reviewed-on: http://git-master/r/1160384
(cherry picked from commit 75ca739517cc7f7f76714b5f6a1a57c39b8cb38e)
Reviewed-on: http://git-master/r/1167021
Reviewed-by: Richard Zhao <rizhao@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Alex Waterman <alexw@nvidia.com>
Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/tsg_gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/tsg_gk20a.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/tsg_gk20a.h b/drivers/gpu/nvgpu/gk20a/tsg_gk20a.h index 57414690..2819dd1c 100644 --- a/drivers/gpu/nvgpu/gk20a/tsg_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/tsg_gk20a.h | |||
@@ -56,6 +56,7 @@ struct tsg_gk20a { | |||
56 | struct mutex event_id_list_lock; | 56 | struct mutex event_id_list_lock; |
57 | 57 | ||
58 | u32 runlist_id; | 58 | u32 runlist_id; |
59 | pid_t tgid; | ||
59 | }; | 60 | }; |
60 | 61 | ||
61 | int gk20a_enable_tsg(struct tsg_gk20a *tsg); | 62 | int gk20a_enable_tsg(struct tsg_gk20a *tsg); |
@@ -66,5 +67,8 @@ int gk20a_tsg_unbind_channel(struct channel_gk20a *ch); | |||
66 | 67 | ||
67 | void gk20a_tsg_event_id_post_event(struct tsg_gk20a *tsg, | 68 | void gk20a_tsg_event_id_post_event(struct tsg_gk20a *tsg, |
68 | int event_id); | 69 | int event_id); |
70 | int gk20a_tsg_set_runlist_interleave(struct tsg_gk20a *tsg, u32 level); | ||
71 | int gk20a_tsg_set_timeslice(struct tsg_gk20a *tsg, u32 timeslice); | ||
72 | |||
69 | 73 | ||
70 | #endif /* __TSG_GK20A_H_ */ | 74 | #endif /* __TSG_GK20A_H_ */ |