drm/radeon: don't check crtcs in card_posted() on cards without DCE
authorAlex Deucher <alexander.deucher@amd.com>
Wed, 22 May 2013 15:30:34 +0000 (11:30 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 29 May 2013 15:35:07 +0000 (11:35 -0400)
Skip checking crtcs in hardware without them.  Avoids checking
non-existent hardware.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/radeon/radeon_device.c

index 89cc816..af82c9b 100644 (file)
@@ -471,6 +471,9 @@ bool radeon_card_posted(struct radeon_device *rdev)
            rdev->pdev->subsystem_vendor == PCI_VENDOR_ID_APPLE)
                return false;
 
+       if (ASIC_IS_NODCE(rdev))
+               goto check_memsize;
+
        /* first check CRTCs */
        if (ASIC_IS_DCE4(rdev)) {
                reg = RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC0_REGISTER_OFFSET) |
@@ -499,6 +502,7 @@ bool radeon_card_posted(struct radeon_device *rdev)
                }
        }
 
+check_memsize:
        /* then check MEM_SIZE, in case the crtcs are off */
        if (rdev->family >= CHIP_R600)
                reg = RREG32(R600_CONFIG_MEMSIZE);