summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/linux/driver_common.c
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/common/linux/driver_common.c
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/common/linux/driver_common.c')
-rw-r--r--drivers/gpu/nvgpu/common/linux/driver_common.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/driver_common.c b/drivers/gpu/nvgpu/common/linux/driver_common.c
index b4e6a02c..7c4645a8 100644
--- a/drivers/gpu/nvgpu/common/linux/driver_common.c
+++ b/drivers/gpu/nvgpu/common/linux/driver_common.c
@@ -163,6 +163,8 @@ static void nvgpu_init_mm_vars(struct gk20a *g)
163 platform->unified_memory); 163 platform->unified_memory);
164 __nvgpu_set_enabled(g, NVGPU_MM_UNIFY_ADDRESS_SPACES, 164 __nvgpu_set_enabled(g, NVGPU_MM_UNIFY_ADDRESS_SPACES,
165 platform->unify_address_spaces); 165 platform->unify_address_spaces);
166 __nvgpu_set_enabled(g, NVGPU_MM_CE_TSG_REQUIRED,
167 platform->tsg_required);
166 168
167 nvgpu_mutex_init(&g->mm.tlb_lock); 169 nvgpu_mutex_init(&g->mm.tlb_lock);
168 nvgpu_mutex_init(&g->mm.priv_lock); 170 nvgpu_mutex_init(&g->mm.priv_lock);