summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Deucher2013-05-22 17:30:34 +0200
committerAlex Deucher2013-05-29 17:35:07 +0200
commit2cf3a4fcc64e5b54a8a3cd793c6c0024b5d8da6c (patch)
tree883692fa89680031b5a9537041d8c68824fd8470
parentdrm/radeon: fix card_posted check for newer asics (diff)
downloadkernel-qcow2-linux-2cf3a4fcc64e5b54a8a3cd793c6c0024b5d8da6c.tar.gz
kernel-qcow2-linux-2cf3a4fcc64e5b54a8a3cd793c6c0024b5d8da6c.tar.xz
kernel-qcow2-linux-2cf3a4fcc64e5b54a8a3cd793c6c0024b5d8da6c.zip
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>
-rw-r--r--drivers/gpu/drm/radeon/radeon_device.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
index 89cc8166db94..af82c9b6a28b 100644
--- a/drivers/gpu/drm/radeon/radeon_device.c
+++ b/drivers/gpu/drm/radeon/radeon_device.c
@@ -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);