summaryrefslogtreecommitdiff
path: root/drivers/video/tegra/nvmap
diff options
context:
space:
mode:
authorHiro Sugawara <hsugawara@nvidia.com>2011-08-26 10:21:45 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:49:01 -0800
commit77d3d36b665eb1c20410bda08c47f642b291bfaf (patch)
tree053550557e05c3dcc327fef1a244c9e81b7e1391 /drivers/video/tegra/nvmap
parent567baa26fbbadedab4d1a23d67f051ffc242a8b2 (diff)
arm: tegra: nvmap: Remove dependency on CONFIG_TEGRA_IOVMM
Make kernel boot up with CONFIG_TEGRA_IOVMM=n (cherry picked from commit f10b613bbd27b8a5f25cbbaebecfe50fd9c0be3f) Change-Id: I980d762bd9feac3881e00015e6db753ae36e79f9 Reviewed-on: http://git-master/r/54509 Tested-by: Hiro Sugawara <hsugawara@nvidia.com> Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com> Rebase-Id: R0c90a78e3a9e8d5316faa1fee012f6269ee82035
Diffstat (limited to 'drivers/video/tegra/nvmap')
-rw-r--r--drivers/video/tegra/nvmap/nvmap_dev.c4
-rw-r--r--drivers/video/tegra/nvmap/nvmap_handle.c6
2 files changed, 9 insertions, 1 deletions
diff --git a/drivers/video/tegra/nvmap/nvmap_dev.c b/drivers/video/tegra/nvmap/nvmap_dev.c
index b830fd3a6688..256c07fc3f3a 100644
--- a/drivers/video/tegra/nvmap/nvmap_dev.c
+++ b/drivers/video/tegra/nvmap/nvmap_dev.c
@@ -1185,11 +1185,13 @@ static int nvmap_probe(struct platform_device *pdev)
dev->iovmm_master.iovmm =
tegra_iovmm_alloc_client(dev_name(&pdev->dev), NULL,
&(dev->dev_user));
- if (IS_ERR(dev->iovmm_master.iovmm)) {
+#ifdef CONFIG_TEGRA_IOVMM
+ if (!dev->iovmm_master.iovmm) {
e = PTR_ERR(dev->iovmm_master.iovmm);
dev_err(&pdev->dev, "couldn't create iovmm client\n");
goto fail;
}
+#endif
dev->vm_rgn = alloc_vm_area(NVMAP_NUM_PTES * PAGE_SIZE);
if (!dev->vm_rgn) {
e = -ENOMEM;
diff --git a/drivers/video/tegra/nvmap/nvmap_handle.c b/drivers/video/tegra/nvmap/nvmap_handle.c
index e536867f1c56..c2085051ba1c 100644
--- a/drivers/video/tegra/nvmap/nvmap_handle.c
+++ b/drivers/video/tegra/nvmap/nvmap_handle.c
@@ -348,6 +348,12 @@ int nvmap_alloc_handle_id(struct nvmap_client *client,
h->flags = (flags & NVMAP_HANDLE_CACHE_FLAG);
h->align = max_t(size_t, align, L1_CACHE_BYTES);
+#ifndef CONFIG_TEGRA_IOVMM
+ if (heap_mask & NVMAP_HEAP_IOVMM) {
+ heap_mask &= NVMAP_HEAP_IOVMM;
+ heap_mask |= NVMAP_HEAP_CARVEOUT_GENERIC;
+ }
+#endif
#ifndef CONFIG_NVMAP_CONVERT_CARVEOUT_TO_IOVMM
#ifdef CONFIG_NVMAP_ALLOW_SYSMEM
/* Allow single pages allocations in system memory to save