diff options
author | Hiro Sugawara <hsugawara@nvidia.com> | 2011-08-26 10:21:45 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:49:01 -0800 |
commit | 77d3d36b665eb1c20410bda08c47f642b291bfaf (patch) | |
tree | 053550557e05c3dcc327fef1a244c9e81b7e1391 /drivers/video/tegra/nvmap | |
parent | 567baa26fbbadedab4d1a23d67f051ffc242a8b2 (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.c | 4 | ||||
-rw-r--r-- | drivers/video/tegra/nvmap/nvmap_handle.c | 6 |
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 |