diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2010-03-24 13:36:43 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-04-08 20:16:04 -0400 |
commit | fe251e2fffa1ebc17c8e6e895b0374ae4e732fa5 (patch) | |
tree | 995060a10005d4a284bebcd0412fabfd0805de89 /drivers/gpu/drm/radeon/rv770.c | |
parent | 32fcdbf4084544c3d8fa413004d57e5dc6f2eefe (diff) |
drm/radeon/kms/evergreen: setup and enable the CP
The command processor (CP) fetches command buffers and
feeds the GPU. This patch requires the evergreen
family me and pfp ucode files.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/rv770.c')
-rw-r--r-- | drivers/gpu/drm/radeon/rv770.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/gpu/drm/radeon/rv770.c b/drivers/gpu/drm/radeon/rv770.c index 2b8a4e17065..2642d264264 100644 --- a/drivers/gpu/drm/radeon/rv770.c +++ b/drivers/gpu/drm/radeon/rv770.c | |||
@@ -236,7 +236,6 @@ void r700_cp_stop(struct radeon_device *rdev) | |||
236 | WREG32(CP_ME_CNTL, (CP_ME_HALT | CP_PFP_HALT)); | 236 | WREG32(CP_ME_CNTL, (CP_ME_HALT | CP_PFP_HALT)); |
237 | } | 237 | } |
238 | 238 | ||
239 | |||
240 | static int rv770_cp_load_microcode(struct radeon_device *rdev) | 239 | static int rv770_cp_load_microcode(struct radeon_device *rdev) |
241 | { | 240 | { |
242 | const __be32 *fw_data; | 241 | const __be32 *fw_data; |
@@ -271,6 +270,11 @@ static int rv770_cp_load_microcode(struct radeon_device *rdev) | |||
271 | return 0; | 270 | return 0; |
272 | } | 271 | } |
273 | 272 | ||
273 | void r700_cp_fini(struct radeon_device *rdev) | ||
274 | { | ||
275 | r700_cp_stop(rdev); | ||
276 | radeon_ring_fini(rdev); | ||
277 | } | ||
274 | 278 | ||
275 | /* | 279 | /* |
276 | * Core functions | 280 | * Core functions |
@@ -1125,7 +1129,7 @@ int rv770_init(struct radeon_device *rdev) | |||
1125 | r = rv770_startup(rdev); | 1129 | r = rv770_startup(rdev); |
1126 | if (r) { | 1130 | if (r) { |
1127 | dev_err(rdev->dev, "disabling GPU acceleration\n"); | 1131 | dev_err(rdev->dev, "disabling GPU acceleration\n"); |
1128 | r600_cp_fini(rdev); | 1132 | r700_cp_fini(rdev); |
1129 | r600_wb_fini(rdev); | 1133 | r600_wb_fini(rdev); |
1130 | r600_irq_fini(rdev); | 1134 | r600_irq_fini(rdev); |
1131 | radeon_irq_kms_fini(rdev); | 1135 | radeon_irq_kms_fini(rdev); |
@@ -1159,7 +1163,7 @@ void rv770_fini(struct radeon_device *rdev) | |||
1159 | { | 1163 | { |
1160 | radeon_pm_fini(rdev); | 1164 | radeon_pm_fini(rdev); |
1161 | r600_blit_fini(rdev); | 1165 | r600_blit_fini(rdev); |
1162 | r600_cp_fini(rdev); | 1166 | r700_cp_fini(rdev); |
1163 | r600_wb_fini(rdev); | 1167 | r600_wb_fini(rdev); |
1164 | r600_irq_fini(rdev); | 1168 | r600_irq_fini(rdev); |
1165 | radeon_irq_kms_fini(rdev); | 1169 | radeon_irq_kms_fini(rdev); |