First call drm_agp_acquire to check if agp has been acquired.
Second call drm_agp_info to fill in the info data struct, including aper_size.
Finally do the check to see if the aper_size makes sense.

Signed-off-by: John Kacur <jka...@redhat.com>
---
 drivers/gpu/drm/radeon/radeon_agp.c |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_agp.c 
b/drivers/gpu/drm/radeon/radeon_agp.c
index f58c5f4..b634d98 100644
--- a/drivers/gpu/drm/radeon/radeon_agp.c
+++ b/drivers/gpu/drm/radeon/radeon_agp.c
@@ -133,13 +133,6 @@ 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 too small (%zuM) "
-                       "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);
@@ -154,6 +147,14 @@ int radeon_agp_init(struct radeon_device *rdev)
                DRM_ERROR("Unable to get AGP info: %d\n", ret);
                return ret;
        }
+
+       if (rdev->ddev->agp->agp_info.aper_size < 32) {
+               dev_warn(rdev->dev, "AGP aperture too small (%zuM) "
+                       "need at least 32M, disabling AGP\n",
+                       rdev->ddev->agp->agp_info.aper_size);
+               return -EINVAL;
+       }
+
        mode.mode = info.mode;
        agp_status = (RREG32(RADEON_AGP_STATUS) | RADEON_AGPv3_MODE) & 
mode.mode;
        is_v3 = !!(agp_status & RADEON_AGPv3_MODE);
-- 
1.6.0.6


------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to