drm/radeon/kms: Disable AGP is aperture size < 32M
authorJerome Glisse <jglisse@redhat.com>
Wed, 13 Jan 2010 14:16:39 +0000 (15:16 +0100)
committerDave Airlie <airlied@redhat.com>
Thu, 14 Jan 2010 01:53:45 +0000 (11:53 +1000)
radeon KMS need a GART of at least 32M to properly work. This patch
check the AGP aperture size and disable if it's less than 32M. Note
than unlike non KMS path we don't staticaly allocate AGP memory so
we are not wasting memory not used by graphic processing.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/radeon/radeon_agp.c

index 220f454ea9fae8b11a04aa813da2f960ef47b352..c9ad7f5cc1acc17e00323e2a2833df726a7e80e8 100644 (file)
@@ -133,6 +133,13 @@ int radeon_agp_init(struct radeon_device *rdev)
        bool is_v3;
        int ret;
 
+       if (rdev->ddev->agp->agp_info.aper_size < 32) {
+               dev_warn(rdev->dev, "AGP aperture to small (%dM) "
+                       "need at least 32M, disabling AGP\n",
+                       rdev->ddev->agp->agp_info.aper_size);
+               return -EINVAL;
+       }
+
        /* Acquire AGP. */
        if (!rdev->ddev->agp->acquired) {
                ret = drm_agp_acquire(rdev->ddev);