summaryrefslogtreecommitdiff
path: root/drivers/video/tegra/nvmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/tegra/nvmap.c')
-rw-r--r--drivers/video/tegra/nvmap.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/video/tegra/nvmap.c b/drivers/video/tegra/nvmap.c
index 9b24e3ff259c..b407644a90f3 100644
--- a/drivers/video/tegra/nvmap.c
+++ b/drivers/video/tegra/nvmap.c
@@ -1832,6 +1832,14 @@ static int _nvmap_do_alloc(struct nvmap_file_priv *priv,
heap_mask &= NVMAP_SECURE_HEAPS;
if (!heap_mask) return -EINVAL;
}
+ else if ((numpages == 1) &&
+ (heap_mask & (NVMEM_HEAP_CARVEOUT_MASK | NVMEM_HEAP_IOVMM) !=
+ NVMEM_HEAP_CARVEOUT_IRAM)) {
+ // Non-secure single page iovmm and carveout allocations
+ // should be allowed to go to sysmem
+ heap_mask |= NVMEM_HEAP_SYSMEM;
+ }
+
/* can't do greater than page size alignment with page alloc */
if (align > PAGE_SIZE)
heap_mask &= NVMEM_HEAP_CARVEOUT_MASK;