summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver McFadden <z3ro.geek@gmail.com>2007-10-31 18:04:53 +0000
committerOliver McFadden <z3ro.geek@gmail.com>2007-10-31 18:04:53 +0000
commit2d69856d89a28b6726d7dc63be5cb0f63d44fa83 (patch)
treea6d47c89a77ba4191e8d580991499d2231f4e252
parent980aea59574b2a511de181591255f25be50c0423 (diff)
Explicitly mask the lower (unused) bits of the physical address.
I was informed these bits are most likely used for flags.
-rw-r--r--src/revenge_memory.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/revenge_memory.c b/src/revenge_memory.c
index 5d66f8f..7a9edc8 100644
--- a/src/revenge_memory.c
+++ b/src/revenge_memory.c
@@ -69,13 +69,15 @@ memory_gart_to_phys (unsigned int addr)
break;
}
+ phys_addr = phys_addr & ~(ATI_PCIGART_PAGE_SIZE - 1);
+
if (option_debug && option_verbose)
{
printf ("%s: addr = 0x%08x phys_addr = 0x%08x (%d)\n", __func__,
addr, phys_addr, num);
}
- return round_down (phys_addr, ATI_PCIGART_PAGE_SIZE);
+ return phys_addr;
}
static void *