drm/radeon: don't check crtcs in card_posted() on cards without DCE

Skip checking crtcs in hardware without them.  Avoids checking
non-existent hardware.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Alex Deucher 2013-05-22 11:30:34 -04:00
parent 09fb8bd1a6
commit 2cf3a4fcc6

View File

@ -471,6 +471,9 @@ bool radeon_card_posted(struct radeon_device *rdev)
rdev->pdev->subsystem_vendor == PCI_VENDOR_ID_APPLE) rdev->pdev->subsystem_vendor == PCI_VENDOR_ID_APPLE)
return false; return false;
if (ASIC_IS_NODCE(rdev))
goto check_memsize;
/* first check CRTCs */ /* first check CRTCs */
if (ASIC_IS_DCE4(rdev)) { if (ASIC_IS_DCE4(rdev)) {
reg = RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC0_REGISTER_OFFSET) | 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 */ /* then check MEM_SIZE, in case the crtcs are off */
if (rdev->family >= CHIP_R600) if (rdev->family >= CHIP_R600)
reg = RREG32(R600_CONFIG_MEMSIZE); reg = RREG32(R600_CONFIG_MEMSIZE);