summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/iovmm-gart.c
diff options
context:
space:
mode:
authorHiroshi DOYU <hdoyu@nvidia.com>2011-11-21 15:14:03 +0200
committerSimone Willett <swillett@nvidia.com>2012-02-09 12:54:28 -0800
commit18c630a3a03b83596c93612250edb4970f8a8b14 (patch)
treedc88f8fa617c309531a1c88e8dc3f90f98e62262 /arch/arm/mach-tegra/iovmm-gart.c
parentbf18512d175eaacc45ee1006cc578834d11d7aca (diff)
ARM: tegra: gart: Introduce GART_PAGE_SIZE macro
A bit nicer for readibility. Signed-off-by: Hiroshi DOYU <hdoyu@nvidia.com> Reviewed-on: http://git-master/r/66362 (cherry picked from commit b8f0aad888dd6b72462a207520d3585951c065f9) Change-Id: I4e4fa5b32a06c8ffee6a9ad002ae0c93b1bf7e80 Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com> Reviewed-on: http://git-master/r/79989 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/iovmm-gart.c')
-rw-r--r--arch/arm/mach-tegra/iovmm-gart.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/arch/arm/mach-tegra/iovmm-gart.c b/arch/arm/mach-tegra/iovmm-gart.c
index 3ed676b890a5..ad1ce3a7afc3 100644
--- a/arch/arm/mach-tegra/iovmm-gart.c
+++ b/arch/arm/mach-tegra/iovmm-gart.c
@@ -40,8 +40,9 @@
#define VMM_NAME "iovmm-gart"
#define DRIVER_NAME "tegra_gart"
-#define GART_PAGE_SHIFT (12)
-#define GART_PAGE_MASK (~((1<<GART_PAGE_SHIFT)-1))
+#define GART_PAGE_SHIFT 12
+#define GART_PAGE_SIZE (1 << GART_PAGE_SHIFT)
+#define GART_PAGE_MASK (~(GART_PAGE_SIZE - 1))
struct gart_device {
void __iomem *regs;
@@ -116,7 +117,7 @@ static int gart_suspend(struct tegra_iovmm_device *dev)
for (i = 0; i < gart->page_count; i++) {
writel(reg, gart->regs + GART_ENTRY_ADDR);
gart->savedata[i] = readl(gart->regs + GART_ENTRY_DATA);
- reg += 1 << GART_PAGE_SHIFT;
+ reg += GART_PAGE_SIZE;
}
spin_unlock(&gart->pte_lock);
return 0;
@@ -130,7 +131,7 @@ static void do_gart_setup(struct gart_device *gart, const u32 *data)
reg = gart->iovmm_base;
for (i = 0; i < gart->page_count; i++) {
gart_set_pte(gart, reg, data ? data[i] : 0);
- reg += 1 << GART_PAGE_SHIFT;
+ reg += GART_PAGE_SIZE;
}
writel(1, gart->regs + GART_CONFIG);
FLUSH_GART_REGS(gart);
@@ -285,7 +286,8 @@ static int gart_map(struct tegra_iovmm_domain *domain,
gart_set_pte(gart, gart_page, GART_PTE(pfn));
FLUSH_GART_REGS(gart);
- gart_page += 1 << GART_PAGE_SHIFT;
+ gart_page += GART_PAGE_SIZE;
+
spin_unlock(&gart->pte_lock);
}
@@ -295,7 +297,7 @@ fail:
spin_lock(&gart->pte_lock);
while (i--) {
iovma->ops->release(iovma, i << PAGE_SHIFT);
- gart_page -= 1 << GART_PAGE_SHIFT;
+ gart_page -= GART_PAGE_SIZE;
gart_set_pte(gart, gart_page, 0);
}
FLUSH_GART_REGS(gart);
@@ -321,7 +323,7 @@ static void gart_unmap(struct tegra_iovmm_domain *domain,
iovma->ops->release(iovma, i << PAGE_SHIFT);
gart_set_pte(gart, gart_page, 0);
- gart_page += 1 << GART_PAGE_SHIFT;
+ gart_page += GART_PAGE_SIZE;
}
FLUSH_GART_REGS(gart);
spin_unlock(&gart->pte_lock);