diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2012-05-31 15:04:53 +0300 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-06-11 16:27:55 -0700 |
commit | b08927a712005ae3f6941e59f530b7896ac5f407 (patch) | |
tree | c6a974f266565dec2b7d619a67d2e9a61677e553 /drivers/video/tegra/host/dev.c | |
parent | 273ceab50c24ba53fcc7a90072dd02d1038d2a97 (diff) |
video: tegra: host: Abstract nvmap support
Abstract nvmap support to one file, and use it via function pointers
from other parts of nvhost.
Bug 965206
Change-Id: I4e5e7de4271e0797d117ac8210af4732b6018973
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/105665
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Mayuresh Kulkarni <mkulkarni@nvidia.com>
Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
Diffstat (limited to 'drivers/video/tegra/host/dev.c')
-rw-r--r-- | drivers/video/tegra/host/dev.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/drivers/video/tegra/host/dev.c b/drivers/video/tegra/host/dev.c index 2c05fbfb7477..5c1e39da72cf 100644 --- a/drivers/video/tegra/host/dev.c +++ b/drivers/video/tegra/host/dev.c @@ -45,9 +45,10 @@ #include "t30/t30.h" #include "bus_client.h" #include "nvhost_acm.h" -#include <linux/nvmap.h> #include "nvhost_channel.h" #include "nvhost_job.h" +#include "nvhost_memmgr.h" +#include "chip_support.h" #define DRIVER_NAME "host1x" @@ -444,13 +445,6 @@ static int __devinit nvhost_probe(struct nvhost_device *dev, if (!host) return -ENOMEM; - host->nvmap = nvmap_create_client(nvmap_dev, "nvhost"); - if (!host->nvmap) { - dev_err(&dev->dev, "unable to create nvmap client\n"); - err = -EIO; - goto fail; - } - host->reg_mem = request_mem_region(regs->start, resource_size(regs), dev->name); if (!host->reg_mem) { @@ -472,6 +466,13 @@ static int __devinit nvhost_probe(struct nvhost_device *dev, goto fail; } + host->memmgr = mem_op().alloc_mgr(); + if (!host->memmgr) { + dev_err(&dev->dev, "unable to create nvmap client\n"); + err = -EIO; + goto fail; + } + /* Register host1x device as bus master */ host->dev = dev; @@ -509,8 +510,8 @@ static int __devinit nvhost_probe(struct nvhost_device *dev, fail: nvhost_free_resources(host); - if (host->nvmap) - nvmap_client_put(host->nvmap); + if (host->memmgr) + mem_op().put_mgr(host->memmgr); kfree(host); return err; } |