summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/ce2_gk20a.h
diff options
context:
space:
mode:
authorDavid Nieto <dmartineznie@nvidia.com>2017-10-04 13:44:40 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-10-13 16:42:30 -0400
commite02d14e7542aed80c8f37c12a1d5df127146fbd3 (patch)
tree2d5ee7974648921491a782bf8fde0d0fd3624348 /drivers/gpu/nvgpu/gk20a/ce2_gk20a.h
parent036e4ea2442d27cdbce6d67683ea629ed82ed208 (diff)
gpu: nvgpu: ce: tsg and large vidmem support
Some GPUs require all channels to be on TSG and also have larger than 4GB vidmem sizes which were not supported on the previous CE2 code. This change creates a new property to track if the copy engine needs to encapsulate its kernel context on tsg and also modifies the copy engine code to support much larger copies without dramatically increasing the PB size. JIRA: EVLR-1990 Change-Id: Ieb4acba0c787eb96cb9c7cd97f884d2119d445aa Signed-off-by: David Nieto <dmartineznie@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1573216 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-by: Alex Waterman <alexw@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Nirav Patel <nipatel@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/ce2_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/ce2_gk20a.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/ce2_gk20a.h b/drivers/gpu/nvgpu/gk20a/ce2_gk20a.h
index f1f9e260..1dad8952 100644
--- a/drivers/gpu/nvgpu/gk20a/ce2_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/ce2_gk20a.h
@@ -36,8 +36,8 @@ int gk20a_ce2_nonstall_isr(struct gk20a *g, u32 inst_id, u32 pri_base);
36#define NVGPU_CE_LOWER_ADDRESS_OFFSET_MASK 0xffffffff 36#define NVGPU_CE_LOWER_ADDRESS_OFFSET_MASK 0xffffffff
37#define NVGPU_CE_UPPER_ADDRESS_OFFSET_MASK 0xff 37#define NVGPU_CE_UPPER_ADDRESS_OFFSET_MASK 0xff
38 38
39#define NVGPU_CE_COMMAND_BUF_SIZE 4096 39#define NVGPU_CE_COMMAND_BUF_SIZE 8192
40#define NVGPU_CE_MAX_COMMAND_BUFF_SIZE_PER_KICKOFF 128 40#define NVGPU_CE_MAX_COMMAND_BUFF_SIZE_PER_KICKOFF 256
41#define NVGPU_CE_MAX_COMMAND_BUFF_SIZE_FOR_TRACING 8 41#define NVGPU_CE_MAX_COMMAND_BUFF_SIZE_FOR_TRACING 8
42 42
43typedef void (*ce_event_callback)(u32 ce_ctx_id, u32 ce_event_flag); 43typedef void (*ce_event_callback)(u32 ce_ctx_id, u32 ce_event_flag);
@@ -108,6 +108,9 @@ struct gk20a_gpu_ctx {
108 int gpu_ctx_state; 108 int gpu_ctx_state;
109 ce_event_callback user_event_callback; 109 ce_event_callback user_event_callback;
110 110
111 /* tsg related data */
112 struct tsg_gk20a *tsg;
113
111 /* channel related data */ 114 /* channel related data */
112 struct channel_gk20a *ch; 115 struct channel_gk20a *ch;
113 struct vm_gk20a *vm; 116 struct vm_gk20a *vm;