summaryrefslogtreecommitdiff
path: root/drivers/video/tegra/nvmap
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2011-11-24 12:32:58 +0200
committerVarun Wadekar <vwadekar@nvidia.com>2011-12-08 17:55:25 +0530
commitc0d4b78b3abe5b7a5db7f870eb762b9e0fe2693f (patch)
treed646b00dddd480539ecd732328d8abe0fa54743e /drivers/video/tegra/nvmap
parentf8539561c2f789682e29f34365c164a5ef9a2bc3 (diff)
video: tegra: host: Support for right shift on reloc patches
Some hardware architectures require that only select MSB bits be supplied to them for addresses. They do the reverse transformation while accessing the actual memory. Bug 857531 Change-Id: I215f099ff0ee86daff1c1eb1e5b70edf8ae856d9 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/66654 Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com> Reviewed-by: Shashank Garg <sgarg@nvidia.com>
Diffstat (limited to 'drivers/video/tegra/nvmap')
-rw-r--r--drivers/video/tegra/nvmap/nvmap.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/video/tegra/nvmap/nvmap.c b/drivers/video/tegra/nvmap/nvmap.c
index 0bf4d884aa81..5fcdee61b71c 100644
--- a/drivers/video/tegra/nvmap/nvmap.c
+++ b/drivers/video/tegra/nvmap/nvmap.c
@@ -423,6 +423,7 @@ static int nvmap_reloc_pin_array(struct nvmap_client *client,
}
reloc_addr = handle_phys(pin) + arr[i].pin_offset;
+ reloc_addr >>= arr[i].reloc_shift;
__raw_writel(reloc_addr, addr + (phys & ~PAGE_MASK));
}