drm/radeon: fix init ordering for r600+
[linux-2.6-block.git] / drivers / gpu / drm / radeon / ni.c
index 69499fff06b0d0bea96d098d737213ca64f6517f..d60049efd7ac1fd981b626e37a407a40349e3b76 100644 (file)
@@ -1863,6 +1863,11 @@ static int cayman_startup(struct radeon_device *rdev)
        /* enable aspm */
        evergreen_program_aspm(rdev);
 
+       /* scratch needs to be initialized before MC */
+       r = r600_vram_scratch_init(rdev);
+       if (r)
+               return r;
+
        evergreen_mc_program(rdev);
 
        if (rdev->flags & RADEON_IS_IGP) {
@@ -1889,10 +1894,6 @@ static int cayman_startup(struct radeon_device *rdev)
                }
        }
 
-       r = r600_vram_scratch_init(rdev);
-       if (r)
-               return r;
-
        r = cayman_pcie_gart_enable(rdev);
        if (r)
                return r;