aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2005-12-29 16:01:54 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2005-12-29 16:01:54 -0500
commit392c14beaca2ee85a98d0c6b453501be67423a20 (patch)
tree0cde7d5f7022c7ca05e3adf82749bbb9f593e998
parentbc781aa93e6dfa85aa251c8898f831031db55c49 (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.c11
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)
1312static int radeon_do_init_cp(drm_device_t * dev, drm_radeon_init_t * init) 1312static 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)