summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver McFadden <z3ro.geek@gmail.com>2007-10-17 17:59:37 +0000
committerOliver McFadden <z3ro.geek@gmail.com>2007-10-17 17:59:37 +0000
commite824c626246fb6db03d32e1d73fb4bdacce294ca (patch)
treeb7372ae489113dfc6aa9bec5c97169f99c9544b6
parent9cfb5bc9481fee187006e3d5b9eb07802939a151 (diff)
Added dynamic PCI GART length calculation.
-rw-r--r--src/revenge_detect.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/revenge_detect.c b/src/revenge_detect.c
index 7f16654..5a227ad 100644
--- a/src/revenge_detect.c
+++ b/src/revenge_detect.c
@@ -143,9 +143,10 @@ void
detect_pcigart_aperture (void)
{
pcigart_addr = register_read_pcie (RADEON_PCIE_TX_GART_BASE);
- pcigart_len = 1024 * 32;
pcigart_start = register_read_pcie (RADEON_PCIE_TX_GART_START_LO);
pcigart_end = register_read_pcie (RADEON_PCIE_TX_GART_END_LO);
+ pcigart_len = pcigart_end - pcigart_start;
+
if (option_debug)
{
printf
@@ -159,12 +160,12 @@ detect_igpgart_aperture (void)
{
unsigned int agp_addr;
- pcigart_addr = register_read_igp (RADEON_IGPGART_BASE_ADDR);
- pcigart_len = 1024 * 32;
-
agp_addr = register_read (RADEON_MC_AGP_LOCATION);
+
+ pcigart_addr = register_read_igp (RADEON_IGPGART_BASE_ADDR);
pcigart_start = (agp_addr & 0xffff) << 16;
- pcigart_end = (agp_addr & 0xffff0000);
+ pcigart_end = agp_addr & 0xffff0000;
+ pcigart_len = pcigart_end - pcigart_start;
if (option_debug)
{