drm/radeon/kms: MC vram map needs to be >= pci aperture size (fdo#28402)

This commit is contained in:
Kyle McMartin 2010-11-24 14:13:32 -05:00
parent f43af41c5a
commit 1f26442712
2 changed files with 39 additions and 0 deletions

View File

@ -657,6 +657,8 @@ Patch1819: drm-intel-big-hammer.patch
Patch1825: drm-intel-make-lvds-work.patch
Patch1900: linux-2.6-intel-iommu-igfx.patch
Patch1920: radeon-mc-vram-map-needs-to-be-gt-pci-aperture.patch
# linux1394 git patches
Patch2200: linux-2.6-firewire-git-update.patch
Patch2201: linux-2.6-firewire-git-pending.patch
@ -1288,6 +1290,8 @@ ApplyOptionalPatch drm-nouveau-updates.patch
#ApplyPatch drm-intel-make-lvds-work.patch
ApplyPatch linux-2.6-intel-iommu-igfx.patch
ApplyPatch radeon-mc-vram-map-needs-to-be-gt-pci-aperture.patch
# linux1394 git patches
#ApplyPatch linux-2.6-firewire-git-update.patch
#ApplyOptionalPatch linux-2.6-firewire-git-pending.patch
@ -1988,6 +1992,9 @@ fi
# || ||
%changelog
* Wed Nov 24 2010 Kyle McMartin <kyle@redhat.com>
- drm/radeon/kms: MC vram map needs to be >= pci aperture size (fdo#28402)
* Wed Nov 24 2010 Kyle McMartin <kyle@redhat.com>
- Fix graphics on HP 2530p (korg#23542)

View File

@ -0,0 +1,32 @@
commit b7d8cce5b558e0c0aa6898c9865356481598b46d
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Mon Oct 25 19:44:00 2010 -0400
drm/radeon/kms: MC vram map needs to be >= pci aperture size
The vram map in the radeon memory controller needs to be
>= the pci aperture size. Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=28402
The problematic cards in the above bug have 64 MB of vram,
but the pci aperture is 128 MB and the MC vram map was only
64 MB. This can lead to hangs.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c
index 6112ac9..6d1540c 100644
--- a/drivers/gpu/drm/radeon/r100.c
+++ b/drivers/gpu/drm/radeon/r100.c
@@ -2270,6 +2270,9 @@ void r100_vram_init_sizes(struct radeon_device *rdev)
/* Fix for RN50, M6, M7 with 8/16/32(??) MBs of VRAM -
* Novell bug 204882 + along with lots of ubuntu ones
*/
+ if (rdev->mc.aper_size > config_aper_size)
+ config_aper_size = rdev->mc.aper_size;
+
if (config_aper_size > rdev->mc.real_vram_size)
rdev->mc.mc_vram_size = config_aper_size;
else