summaryrefslogtreecommitdiff
path: root/drivers/video/tegra/host/dev.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2012-05-31 15:04:53 +0300
committerSimone Willett <swillett@nvidia.com>2012-06-11 16:27:55 -0700
commitb08927a712005ae3f6941e59f530b7896ac5f407 (patch)
treec6a974f266565dec2b7d619a67d2e9a61677e553 /drivers/video/tegra/host/dev.c
parent273ceab50c24ba53fcc7a90072dd02d1038d2a97 (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.c21
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;
}