summaryrefslogtreecommitdiff
path: root/drivers/video/tegra/host/nvhost_cdma.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2011-08-17 14:36:51 +0300
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:49:10 -0800
commit8cbed0f1c144bbb20b3d1dcf74d4caca7af0c620 (patch)
tree36d59f938c11341d752829661c63a8bc212bc740 /drivers/video/tegra/host/nvhost_cdma.c
parentab7815ed3c05a87b6a1b9d09ebe373ef2f784e54 (diff)
tegra: nvhost: Retrieve phys address from nvmap
Debug code used to rely on being able to calculate the base address of a pinned page by masking it. Now we always retrieve the physical address from nvmap and find the correct command buffer using that. Bug 840976 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/48105 Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com> Reviewed-by: Scott Williams <scwilliams@nvidia.com> (cherry picked from commit 0ef5f2d4d94464b8d5562327c9cf5b56fe93fff5) Change-Id: I1a17665cf19d8758f154d4fd05f6a5ec6c07caff Reviewed-on: http://git-master/r/56266 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com> Rebase-Id: R12cdbf7b335ca46cd063cdf9dd7783b18255a3f1
Diffstat (limited to 'drivers/video/tegra/host/nvhost_cdma.c')
-rw-r--r--drivers/video/tegra/host/nvhost_cdma.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/video/tegra/host/nvhost_cdma.c b/drivers/video/tegra/host/nvhost_cdma.c
index b125f76414cc..5c04e5838d2a 100644
--- a/drivers/video/tegra/host/nvhost_cdma.c
+++ b/drivers/video/tegra/host/nvhost_cdma.c
@@ -691,7 +691,7 @@ int nvhost_cdma_begin(struct nvhost_cdma *cdma,
*/
void nvhost_cdma_push(struct nvhost_cdma *cdma, u32 op1, u32 op2)
{
- nvhost_cdma_push_gather(cdma, NULL, op1, op2);
+ nvhost_cdma_push_gather(cdma, NULL, NULL, op1, op2);
}
/**
@@ -699,6 +699,7 @@ void nvhost_cdma_push(struct nvhost_cdma *cdma, u32 op1, u32 op2)
* Blocks as necessary if the push buffer is full.
*/
void nvhost_cdma_push_gather(struct nvhost_cdma *cdma,
+ struct nvmap_client *client,
struct nvmap_handle *handle, u32 op1, u32 op2)
{
u32 slots_free = cdma->slots_free;
@@ -712,7 +713,7 @@ void nvhost_cdma_push_gather(struct nvhost_cdma *cdma,
}
cdma->slots_free = slots_free - 1;
cdma->slots_used++;
- cdma_pb_op(cdma).push_to(pb, handle, op1, op2);
+ cdma_pb_op(cdma).push_to(pb, client, handle, op1, op2);
}
/**