drm/radeon/kms: never treat rs4xx as AGP
authorAlex Deucher <alexdeucher@gmail.com>
Sun, 21 Mar 2010 18:02:25 +0000 (14:02 -0400)
committerDave Airlie <airlied@redhat.com>
Wed, 31 Mar 2010 03:11:04 +0000 (13:11 +1000)
RS4xx+ IGP chips use an internal gart, however,
some of them have the agp cap bits set in their pci
configs.  Make sure to clear the AGP flag as AGP will
not work with them.

Should fix fdo bug 27225

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/radeon/radeon_device.c

index 6bedc2117f7f40a78a3b866dfb4a77e14e8c9e45..60ec47b7164212f911f8029053de9f889ce0cceb 100644 (file)
@@ -562,6 +562,14 @@ int radeon_device_init(struct radeon_device *rdev,
                return r;
        radeon_check_arguments(rdev);
 
+       /* all of the newer IGP chips have an internal gart
+        * However some rs4xx report as AGP, so remove that here.
+        */
+       if ((rdev->family >= CHIP_RS400) &&
+           (rdev->flags & RADEON_IS_IGP)) {
+               rdev->flags &= ~RADEON_IS_AGP;
+       }
+
        if (rdev->flags & RADEON_IS_AGP && radeon_agpmode == -1) {
                radeon_agp_disable(rdev);
        }