summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/vgpu/vgpu.c
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/vgpu/vgpu.c
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/vgpu/vgpu.c')
-rw-r--r--drivers/gpu/nvgpu/vgpu/vgpu.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/vgpu/vgpu.c b/drivers/gpu/nvgpu/vgpu/vgpu.c
index dc7c4320..a00d52de 100644
--- a/drivers/gpu/nvgpu/vgpu/vgpu.c
+++ b/drivers/gpu/nvgpu/vgpu/vgpu.c
@@ -427,6 +427,7 @@ int vgpu_pm_finalize_poweron(struct device *dev)
427 } 427 }
428 428
429 gk20a_ctxsw_trace_init(g); 429 gk20a_ctxsw_trace_init(g);
430 gk20a_sched_ctrl_init(g);
430 gk20a_channel_resume(g); 431 gk20a_channel_resume(g);
431 432
432done: 433done:
@@ -600,6 +601,7 @@ int vgpu_remove(struct platform_device *pdev)
600 g->remove_support(dev); 601 g->remove_support(dev);
601 602
602 vgpu_comm_deinit(); 603 vgpu_comm_deinit();
604 gk20a_sched_ctrl_cleanup(g);
603 gk20a_user_deinit(dev, &nvgpu_class); 605 gk20a_user_deinit(dev, &nvgpu_class);
604 gk20a_get_platform(dev)->g = NULL; 606 gk20a_get_platform(dev)->g = NULL;
605 kfree(g); 607 kfree(g);