summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorKonsta Holtta <kholtta@nvidia.com>2014-09-05 03:59:05 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:11:19 -0400
commit91ada92f61eeb41026a678b58863acafa7a33674 (patch)
treee3941d58152a135b87ee6bf57fcfbb543b29a9aa /drivers
parentc00c93756a44ee0d01e0b7525d21b338c74df529 (diff)
gpu: nvgpu: ioctl support flags in gpu characteristics
Expose supported nvgpu ioctls to userspace via bits in the flags field of nvhost_gpu_characteristics; currently define two bits for special memory allocation support. Bug 1539747 Change-Id: I1bc9333b12825d07a00b7a4136ae9d35816a5855 Signed-off-by: Konsta Holtta <kholtta@nvidia.com> Reviewed-on: http://git-master/r/495942 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.c3
-rw-r--r--drivers/gpu/nvgpu/gk20a/mm_gk20a.c3
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c
index 2ed7b737..7d744f42 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.c
@@ -1907,7 +1907,8 @@ int gk20a_init_gpu_characteristics(struct gk20a *g)
1907 gpu->compression_page_size = g->mm.compression_page_size; 1907 gpu->compression_page_size = g->mm.compression_page_size;
1908 gpu->pde_coverage_bit_count = g->mm.pde_stride_shift; 1908 gpu->pde_coverage_bit_count = g->mm.pde_stride_shift;
1909 1909
1910 gpu->flags = 0; 1910 gpu->flags = NVHOST_GPU_FLAGS_SUPPORT_PARTIAL_MAPPINGS
1911 | NVHOST_GPU_FLAGS_SUPPORT_SPARSE_ALLOCS;
1911 1912
1912 if (IS_ENABLED(CONFIG_TEGRA_GK20A) && 1913 if (IS_ENABLED(CONFIG_TEGRA_GK20A) &&
1913 gk20a_platform_has_syncpoints(g->dev)) 1914 gk20a_platform_has_syncpoints(g->dev))
diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
index 9191cfe9..7660c949 100644
--- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
@@ -3147,9 +3147,12 @@ bool gk20a_mm_mmu_debug_mode_enabled(struct gk20a *g)
3147 3147
3148void gk20a_init_mm(struct gpu_ops *gops) 3148void gk20a_init_mm(struct gpu_ops *gops)
3149{ 3149{
3150 /* remember to remove NVHOST_GPU_FLAGS_SUPPORT_SPARSE_ALLOCS in
3151 * characteristics flags if sparse support is removed */
3150 gops->mm.set_sparse = gk20a_vm_put_sparse; 3152 gops->mm.set_sparse = gk20a_vm_put_sparse;
3151 gops->mm.put_empty = gk20a_vm_put_empty; 3153 gops->mm.put_empty = gk20a_vm_put_empty;
3152 gops->mm.clear_sparse = gk20a_vm_clear_sparse; 3154 gops->mm.clear_sparse = gk20a_vm_clear_sparse;
3155
3153 gops->mm.is_debug_mode_enabled = gk20a_mm_mmu_debug_mode_enabled; 3156 gops->mm.is_debug_mode_enabled = gk20a_mm_mmu_debug_mode_enabled;
3154 gops->mm.gmmu_map = gk20a_locked_gmmu_map; 3157 gops->mm.gmmu_map = gk20a_locked_gmmu_map;
3155 gops->mm.gmmu_unmap = gk20a_locked_gmmu_unmap; 3158 gops->mm.gmmu_unmap = gk20a_locked_gmmu_unmap;