diff options
author | Oliver McFadden <z3ro.geek@gmail.com> | 2007-10-17 17:59:37 +0000 |
---|---|---|
committer | Oliver McFadden <z3ro.geek@gmail.com> | 2007-10-17 17:59:37 +0000 |
commit | e824c626246fb6db03d32e1d73fb4bdacce294ca (patch) | |
tree | b7372ae489113dfc6aa9bec5c97169f99c9544b6 | |
parent | 9cfb5bc9481fee187006e3d5b9eb07802939a151 (diff) |
Added dynamic PCI GART length calculation.
-rw-r--r-- | src/revenge_detect.c | 11 |
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) { |