summaryrefslogtreecommitdiff
path: root/drivers/video/tegra/host/nvmap.h
diff options
context:
space:
mode:
authorKirill Artamonov <kartamonov@nvidia.com>2012-10-22 19:05:46 +0300
committerSimone Willett <swillett@nvidia.com>2012-10-29 12:15:52 -0700
commit71c7374f7cfc6484d1fd7fa817e0620faceda86b (patch)
tree67d72c5807039f6e3b65dc5aa4eb38d93a7e1da8 /drivers/video/tegra/host/nvmap.h
parent555aa152f34db99864d4ca1d361303c1284fdb72 (diff)
video: tegra: host: optimize nvhost pin operations
Pin both relocs and gathers in single pin_job_mem() call. Use nvmap_pin_array() to avoid extra pin operation and per-handle locking overhead. Remove used relocs from the nvhost_job to avoid extra loop iterations inside do_relocs. Use fast nvmap functions _nvmap_duplicate_handle_id() _nvmap_free(). bug 1158533 Change-Id: I856006decee4a309369e90f3c3d6721886e6ee64 Signed-off-by: Kirill Artamonov <kartamonov@nvidia.com> Reviewed-on: http://git-master/r/142556 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Krishna Reddy <vdumpa@nvidia.com> Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/video/tegra/host/nvmap.h')
-rw-r--r--drivers/video/tegra/host/nvmap.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/video/tegra/host/nvmap.h b/drivers/video/tegra/host/nvmap.h
index 31b15549c167..2172f4fd8a16 100644
--- a/drivers/video/tegra/host/nvmap.h
+++ b/drivers/video/tegra/host/nvmap.h
@@ -46,4 +46,17 @@ void nvhost_nvmap_kunmap(struct mem_handle *handle, unsigned int pagenum,
struct mem_handle *nvhost_nvmap_get(struct mem_mgr *mgr,
u32 id, struct nvhost_device *dev);
+phys_addr_t nvhost_nvmap_get_addr_from_id(u32 id);
+
+int nvhost_nvmap_pin_array_ids(struct mem_mgr *mgr,
+ long unsigned *ids,
+ long unsigned id_type_mask,
+ long unsigned id_type,
+ u32 count,
+ struct nvhost_job_unpin *unpin_data,
+ dma_addr_t *phys_addr);
+
+void nvhost_nvmap_unpin_id(struct mem_mgr *mgr, u32 id);
+
+
#endif