diff options
author | David Nieto <dmartineznie@nvidia.com> | 2017-10-04 13:44:40 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-10-13 16:42:30 -0400 |
commit | e02d14e7542aed80c8f37c12a1d5df127146fbd3 (patch) | |
tree | 2d5ee7974648921491a782bf8fde0d0fd3624348 /drivers/gpu/nvgpu/gk20a/ce2_gk20a.h | |
parent | 036e4ea2442d27cdbce6d67683ea629ed82ed208 (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.h | 7 |
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 | ||
43 | typedef void (*ce_event_callback)(u32 ce_ctx_id, u32 ce_event_flag); | 43 | typedef 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; |