aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/rv770.c
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2013-12-18 19:11:27 -0500
committerAlex Deucher <alexander.deucher@amd.com>2013-12-24 17:54:40 -0500
commit01ac8794a77192236a4b91c33adf4177ac5a21f0 (patch)
tree85faa25748b416a87668709697955554054e91d1 /drivers/gpu/drm/radeon/rv770.c
parentf2185ecef1ef49b00829561dad12cbdc5b23e6b3 (diff)
drm/radeon: re-order firmware loading in preparation for dpm rework
We need to reorder the driver init sequence to better accomodate dpm which needs to be loaded earlier in the init sequence. Move fw init up so that it's available for dpm init. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/rv770.c')
-rw-r--r--drivers/gpu/drm/radeon/rv770.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/gpu/drm/radeon/rv770.c b/drivers/gpu/drm/radeon/rv770.c
index 9f5846743c9e..45774ff77d92 100644
--- a/drivers/gpu/drm/radeon/rv770.c
+++ b/drivers/gpu/drm/radeon/rv770.c
@@ -1665,14 +1665,6 @@ static int rv770_startup(struct radeon_device *rdev)
1665 1665
1666 rv770_mc_program(rdev); 1666 rv770_mc_program(rdev);
1667 1667
1668 if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw) {
1669 r = r600_init_microcode(rdev);
1670 if (r) {
1671 DRM_ERROR("Failed to load firmware!\n");
1672 return r;
1673 }
1674 }
1675
1676 if (rdev->flags & RADEON_IS_AGP) { 1668 if (rdev->flags & RADEON_IS_AGP) {
1677 rv770_agp_enable(rdev); 1669 rv770_agp_enable(rdev);
1678 } else { 1670 } else {
@@ -1876,6 +1868,14 @@ int rv770_init(struct radeon_device *rdev)
1876 if (r) 1868 if (r)
1877 return r; 1869 return r;
1878 1870
1871 if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw) {
1872 r = r600_init_microcode(rdev);
1873 if (r) {
1874 DRM_ERROR("Failed to load firmware!\n");
1875 return r;
1876 }
1877 }
1878
1879 rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ring_obj = NULL; 1879 rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ring_obj = NULL;
1880 r600_ring_init(rdev, &rdev->ring[RADEON_RING_TYPE_GFX_INDEX], 1024 * 1024); 1880 r600_ring_init(rdev, &rdev->ring[RADEON_RING_TYPE_GFX_INDEX], 1024 * 1024);
1881 1881