diff options
author | Hiro Sugawara <hsugawara@nvidia.com> | 2011-08-26 10:21:45 -0700 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2011-09-27 12:01:28 -0700 |
commit | 3978d58140eb0678af7ffc0946266f08441bf127 (patch) | |
tree | fe00668a4155a445c41eb2fb401073b4b19ec96c | |
parent | b16d84a0332998321f684bdbff5165072956dab8 (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>
-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 |