Commit 0e2c978e authored by Alex Deucher's avatar Alex Deucher Committed by Dave Airlie

drm/radeon/kms: don't poll forever if MC GDDR link training fails

Bail if we hit the timeout limit.
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent cf2aff6e
...@@ -261,8 +261,11 @@ int ni_mc_load_microcode(struct radeon_device *rdev) ...@@ -261,8 +261,11 @@ int ni_mc_load_microcode(struct radeon_device *rdev)
WREG32(MC_SEQ_SUP_CNTL, 0x00000001); WREG32(MC_SEQ_SUP_CNTL, 0x00000001);
/* wait for training to complete */ /* wait for training to complete */
while (!(RREG32(MC_IO_PAD_CNTL_D0) & MEM_FALL_OUT_CMD)) for (i = 0; i < rdev->usec_timeout; i++) {
udelay(10); if (RREG32(MC_IO_PAD_CNTL_D0) & MEM_FALL_OUT_CMD)
break;
udelay(1);
}
if (running) if (running)
WREG32(MC_SHARED_BLACKOUT_CNTL, blackout); WREG32(MC_SHARED_BLACKOUT_CNTL, blackout);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment