diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2011-08-17 14:36:51 +0300 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:49:10 -0800 |
commit | 8cbed0f1c144bbb20b3d1dcf74d4caca7af0c620 (patch) | |
tree | 36d59f938c11341d752829661c63a8bc212bc740 /drivers/video/tegra/host/nvhost_cdma.c | |
parent | ab7815ed3c05a87b6a1b9d09ebe373ef2f784e54 (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.c | 5 |
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); } /** |