diff options
author | Richard Zhao <rizhao@nvidia.com> | 2016-03-31 14:16:23 -0400 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-05-31 13:47:22 -0400 |
commit | d707c5a444e024e1184213a75f44a73dbb1707d2 (patch) | |
tree | 09711370df9d9078e4f604e60983877bbf30b9de /drivers/gpu/nvgpu/gk20a/gk20a.h | |
parent | a71ce831fbbca3ba8602e0b07ecd630c4a39f376 (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.h | 4 |
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*/ |