aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/cik.c
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2013-08-04 12:13:17 -0400
committerAlex Deucher <alexander.deucher@amd.com>2013-08-07 17:37:14 -0400
commit6fab3febf6d949b0a12b1e4e73db38e4a177a79e (patch)
tree4f99c7e77c3112dfd668763048f54aac6ed479d0 /drivers/gpu/drm/radeon/cik.c
parent1518dd8efd47918bb269f1470030592875953f6c (diff)
drm/radeon: always program the MC on startup
For r6xx+ asics. This mirrors the behavior of pre-r6xx asics. We need to program the MC even if something else in startup() fails. Failure to do so results in an unusable GPU. Based on a fix from: Mark Kettenis <kettenis@openbsd.org> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
Diffstat (limited to 'drivers/gpu/drm/radeon/cik.c')
-rw-r--r--drivers/gpu/drm/radeon/cik.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
index 524db70aaf6e..5b587876c7f5 100644
--- a/drivers/gpu/drm/radeon/cik.c
+++ b/drivers/gpu/drm/radeon/cik.c
@@ -5954,6 +5954,8 @@ static int cik_startup(struct radeon_device *rdev)
5954 struct radeon_ring *ring; 5954 struct radeon_ring *ring;
5955 int r; 5955 int r;
5956 5956
5957 cik_mc_program(rdev);
5958
5957 if (rdev->flags & RADEON_IS_IGP) { 5959 if (rdev->flags & RADEON_IS_IGP) {
5958 if (!rdev->me_fw || !rdev->pfp_fw || !rdev->ce_fw || 5960 if (!rdev->me_fw || !rdev->pfp_fw || !rdev->ce_fw ||
5959 !rdev->mec_fw || !rdev->sdma_fw || !rdev->rlc_fw) { 5961 !rdev->mec_fw || !rdev->sdma_fw || !rdev->rlc_fw) {
@@ -5985,7 +5987,6 @@ static int cik_startup(struct radeon_device *rdev)
5985 if (r) 5987 if (r)
5986 return r; 5988 return r;
5987 5989
5988 cik_mc_program(rdev);
5989 r = cik_pcie_gart_enable(rdev); 5990 r = cik_pcie_gart_enable(rdev);
5990 if (r) 5991 if (r)
5991 return r; 5992 return r;