diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2005-12-29 16:01:54 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-12-29 16:01:54 -0500 |
commit | 392c14beaca2ee85a98d0c6b453501be67423a20 (patch) | |
tree | 0cde7d5f7022c7ca05e3adf82749bbb9f593e998 | |
parent | bc781aa93e6dfa85aa251c8898f831031db55c49 (diff) |
Revert radeon AGP aperture offset changes
This reverts the series of commits
67dbb4ea33731415fe09c62149a34f472719ac1d
281ab031a8c9e5b593142eb4ec59a87faae8676a
47807ce381acc34a7ffee2b42e35e96c0f322e52
that changed the GART VM start offset. It fixed some machines, but
seems to continually interact badly with some X versions.
Quoth Ben Herrenschmidt:
"So I think at this point, the best is that we keep the old bogus code
that at least is consistent with the bug in the server. I'm working on a
big patch to X that reworks the memory map stuff completely and fixes
those issues on the server side, I'll do a DRM patch matching this X fix
as well so that the memory map is only ever set in one place and with
what I hope is a correct algorithm..."
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | drivers/char/drm/radeon_cp.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/drivers/char/drm/radeon_cp.c b/drivers/char/drm/radeon_cp.c index b517ae515801..342302d46743 100644 --- a/drivers/char/drm/radeon_cp.c +++ b/drivers/char/drm/radeon_cp.c | |||
@@ -1312,8 +1312,6 @@ static void radeon_set_pcigart(drm_radeon_private_t * dev_priv, int on) | |||
1312 | static int radeon_do_init_cp(drm_device_t * dev, drm_radeon_init_t * init) | 1312 | static int radeon_do_init_cp(drm_device_t * dev, drm_radeon_init_t * init) |
1313 | { | 1313 | { |
1314 | drm_radeon_private_t *dev_priv = dev->dev_private; | 1314 | drm_radeon_private_t *dev_priv = dev->dev_private; |
1315 | unsigned int mem_size, aper_size; | ||
1316 | |||
1317 | DRM_DEBUG("\n"); | 1315 | DRM_DEBUG("\n"); |
1318 | 1316 | ||
1319 | dev_priv->is_pci = init->is_pci; | 1317 | dev_priv->is_pci = init->is_pci; |
@@ -1523,13 +1521,8 @@ static int radeon_do_init_cp(drm_device_t * dev, drm_radeon_init_t * init) | |||
1523 | + dev_priv->fb_location) >> 10)); | 1521 | + dev_priv->fb_location) >> 10)); |
1524 | 1522 | ||
1525 | dev_priv->gart_size = init->gart_size; | 1523 | dev_priv->gart_size = init->gart_size; |
1526 | 1524 | dev_priv->gart_vm_start = dev_priv->fb_location | |
1527 | mem_size = RADEON_READ(RADEON_CONFIG_MEMSIZE); | 1525 | + RADEON_READ(RADEON_CONFIG_APER_SIZE); |
1528 | if (mem_size == 0) | ||
1529 | mem_size = 0x800000; | ||
1530 | aper_size = max(RADEON_READ(RADEON_CONFIG_APER_SIZE), mem_size); | ||
1531 | |||
1532 | dev_priv->gart_vm_start = dev_priv->fb_location + aper_size; | ||
1533 | 1526 | ||
1534 | #if __OS_HAS_AGP | 1527 | #if __OS_HAS_AGP |
1535 | if (!dev_priv->is_pci) | 1528 | if (!dev_priv->is_pci) |