summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.h
diff options
context:
space:
mode:
authorRichard Zhao <rizhao@nvidia.com>2016-03-31 14:16:23 -0400
committerTerje Bergstrom <tbergstrom@nvidia.com>2016-05-31 13:47:22 -0400
commitd707c5a444e024e1184213a75f44a73dbb1707d2 (patch)
tree09711370df9d9078e4f604e60983877bbf30b9de /drivers/gpu/nvgpu/gk20a/gk20a.h
parenta71ce831fbbca3ba8602e0b07ecd630c4a39f376 (diff)
gpu: nvgpu: add tsg support for vgpu
- make tsg_gk20a.c call HAL for enable/disable channels - add preempt_tsg HAL callbacks - add tsg bind/unbind channel HAL callbacks - add according tsg callbacks for vgpu Bug 1702773 JIRA VFND-1003 Change-Id: I2cba74b3ebd3920ef09219a168e6433d9574dbe8 Signed-off-by: Richard Zhao <rizhao@nvidia.com> Reviewed-on: http://git-master/r/1144932 (cherry picked from commit c3787de7d38651d46969348f5acae2ba86b31ec7) Reviewed-on: http://git-master/r/1126942 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index 0e13fba3..6f47f228 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -324,6 +324,7 @@ struct gpu_ops {
324 u32 gpfifo_entries, u32 flags); 324 u32 gpfifo_entries, u32 flags);
325 int (*resetup_ramfc)(struct channel_gk20a *c); 325 int (*resetup_ramfc)(struct channel_gk20a *c);
326 int (*preempt_channel)(struct gk20a *g, u32 hw_chid); 326 int (*preempt_channel)(struct gk20a *g, u32 hw_chid);
327 int (*preempt_tsg)(struct gk20a *g, u32 tsgid);
327 int (*update_runlist)(struct gk20a *g, u32 runlist_id, 328 int (*update_runlist)(struct gk20a *g, u32 runlist_id,
328 u32 hw_chid, bool add, 329 u32 hw_chid, bool add,
329 bool wait_for_finish); 330 bool wait_for_finish);
@@ -345,6 +346,9 @@ struct gpu_ops {
345 void (*device_info_data_parse)(struct gk20a *g, 346 void (*device_info_data_parse)(struct gk20a *g,
346 u32 table_entry, u32 *inst_id, 347 u32 table_entry, u32 *inst_id,
347 u32 *pri_base, u32 *fault_id); 348 u32 *pri_base, u32 *fault_id);
349 int (*tsg_bind_channel)(struct tsg_gk20a *tsg,
350 struct channel_gk20a *ch);
351 int (*tsg_unbind_channel)(struct channel_gk20a *ch);
348 } fifo; 352 } fifo;
349 struct pmu_v { 353 struct pmu_v {
350 /*used for change of enum zbc update cmd id from ver 0 to ver1*/ 354 /*used for change of enum zbc update cmd id from ver 0 to ver1*/