summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Van Brunt <avanbrunt@nvidia.com>2013-03-06 14:36:46 -0800
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 13:17:47 -0700
commit5d1d3bfe92a6558ab7d91e49adfd83e737ecaa94 (patch)
tree21485ab81294ff633e62eda6a0f8dc85d83f6907
parent38bc2b23427575116cbcaa43dea4006f16311295 (diff)
media: video: nvavp: Switch to new nvmap_pin API
Change-Id: I503420e920699c6a64d8191b0fe799b817824260 Signed-off-by: Alex Van Brunt <avanbrunt@nvidia.com> Reviewed-on: http://git-master/r/206824 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Chao Xu <cxu@nvidia.com>
-rw-r--r--drivers/media/video/tegra/nvavp/nvavp_dev.c37
1 files changed, 17 insertions, 20 deletions
diff --git a/drivers/media/video/tegra/nvavp/nvavp_dev.c b/drivers/media/video/tegra/nvavp/nvavp_dev.c
index 364be7709aca..a12cd3e1a28b 100644
--- a/drivers/media/video/tegra/nvavp/nvavp_dev.c
+++ b/drivers/media/video/tegra/nvavp/nvavp_dev.c
@@ -100,7 +100,7 @@ static bool audio_enabled;
struct nvavp_channel {
struct mutex pushbuffer_lock;
struct nvmap_handle_ref *pushbuf_handle;
- unsigned long pushbuf_phys;
+ phys_addr_t pushbuf_phys;
u8 *pushbuf_data;
u32 pushbuf_index;
u32 pushbuf_fence;
@@ -565,12 +565,11 @@ static int nvavp_pushbuffer_alloc(struct nvavp_info *nvavp, int channel_id)
ret = -ENOMEM;
goto err_pushbuf_mmap;
}
- channel_info->pushbuf_phys = nvmap_pin(nvavp->nvmap,
- channel_info->pushbuf_handle);
- if (IS_ERR((void *)channel_info->pushbuf_phys)) {
+ ret = nvmap_pin(nvavp->nvmap, channel_info->pushbuf_handle,
+ &channel_info->pushbuf_phys);
+ if (ret) {
dev_err(&nvavp->nvhost_dev->dev,
"cannot pin pushbuffer handle\n");
- ret = PTR_ERR((void *)channel_info->pushbuf_phys);
goto err_pushbuf_pin;
}
@@ -829,11 +828,11 @@ static int nvavp_load_ucode(struct nvavp_info *nvavp)
ret = -ENOMEM;
goto err_ucode_mmap;
}
- ucode_info->phys = nvmap_pin(nvavp->nvmap, ucode_info->handle);
- if (IS_ERR((void *)ucode_info->phys)) {
+ ret = nvmap_pin(nvavp->nvmap, ucode_info->handle,
+ &ucode_info->phys);
+ if (ret) {
dev_err(&nvavp->nvhost_dev->dev,
"cannot pin ucode handle\n");
- ret = PTR_ERR((void *)ucode_info->phys);
goto err_ucode_pin;
}
memcpy(ucode_info->ucode_bin, ptr, ucode_info->size);
@@ -1235,7 +1234,7 @@ static int nvavp_pushbuffer_submit_ioctl(struct file *filp, unsigned int cmd,
ulong cmdbuf_handle_id;
struct nvmap_handle_ref *cmdbuf_dupe;
int ret = 0, i;
- unsigned long phys_addr;
+ phys_addr_t phys_addr;
unsigned long virt_addr;
struct nvavp_pushbuffer_submit_hdr *user_hdr =
(struct nvavp_pushbuffer_submit_hdr *) arg;
@@ -1276,11 +1275,11 @@ static int nvavp_pushbuffer_submit_ioctl(struct file *filp, unsigned int cmd,
return PTR_ERR(cmdbuf_dupe);
}
- phys_addr = nvmap_pin(clientctx->nvmap, cmdbuf_dupe);
- if (IS_ERR((void *)phys_addr)) {
+ ret = nvmap_pin(clientctx->nvmap, cmdbuf_dupe, &phys_addr);
+ if (ret) {
dev_err(&nvavp->nvhost_dev->dev, "could not pin handle\n");
nvmap_free(clientctx->nvmap, cmdbuf_dupe);
- return PTR_ERR((void *)phys_addr);
+ return ret;
}
virt_addr = (unsigned long)nvmap_mmap(cmdbuf_dupe);
@@ -1669,12 +1668,11 @@ static int tegra_nvavp_probe(struct platform_device *ndev)
goto err_nvmap_mmap;
}
- nvavp->os_info.phys =
- nvmap_pin(nvavp->nvmap, nvavp->os_info.handle);
- if (IS_ERR_OR_NULL((void *)nvavp->os_info.phys)) {
+ ret = nvmap_pin(nvavp->nvmap, nvavp->os_info.handle,
+ &nvavp->os_info.phys);
+ if (ret) {
dev_err(&ndev->dev,
"cannot pin os handle\n");
- ret = PTR_ERR((void *)nvavp->os_info.phys);
goto err_nvmap_pin;
}
@@ -1698,11 +1696,10 @@ static int tegra_nvavp_probe(struct platform_device *ndev)
goto err_nvmap_mmap;
}
- nvavp->os_info.phys = nvmap_pin(nvavp->nvmap,
- nvavp->os_info.handle);
- if (IS_ERR_OR_NULL((void *)nvavp->os_info.phys)) {
+ ret = nvmap_pin(nvavp->nvmap, nvavp->os_info.handle,
+ &nvavp->os_info.phys);
+ if (ret) {
dev_err(&ndev->dev, "cannot pin AVP os handle\n");
- ret = PTR_ERR((void *)nvavp->os_info.phys);
goto err_nvmap_pin;
}