summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/tsg_gk20a.h
diff options
context:
space:
mode:
authorThomas Fleury <tfleury@nvidia.com>2016-05-10 12:05:45 -0400
committerVijayakumar Subbu <vsubbu@nvidia.com>2016-07-19 02:12:51 -0400
commitc8ffe0fdecfa110a9f9beb1b7e0298d3c3c64cc2 (patch)
tree08054741c436ab6a783e710a9efa87fc7a0b71df /drivers/gpu/nvgpu/gk20a/tsg_gk20a.h
parent90988af81237d3b56c063b750c32efcbee9ab9cc (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.h4
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
61int gk20a_enable_tsg(struct tsg_gk20a *tsg); 62int gk20a_enable_tsg(struct tsg_gk20a *tsg);
@@ -66,5 +67,8 @@ int gk20a_tsg_unbind_channel(struct channel_gk20a *ch);
66 67
67void gk20a_tsg_event_id_post_event(struct tsg_gk20a *tsg, 68void gk20a_tsg_event_id_post_event(struct tsg_gk20a *tsg,
68 int event_id); 69 int event_id);
70int gk20a_tsg_set_runlist_interleave(struct tsg_gk20a *tsg, u32 level);
71int gk20a_tsg_set_timeslice(struct tsg_gk20a *tsg, u32 timeslice);
72
69 73
70#endif /* __TSG_GK20A_H_ */ 74#endif /* __TSG_GK20A_H_ */