diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/r300.c')
-rw-r--r-- | drivers/gpu/drm/radeon/r300.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c index 4cef90cd74e5..2b9affe754ce 100644 --- a/drivers/gpu/drm/radeon/r300.c +++ b/drivers/gpu/drm/radeon/r300.c | |||
@@ -26,10 +26,12 @@ | |||
26 | * Jerome Glisse | 26 | * Jerome Glisse |
27 | */ | 27 | */ |
28 | #include <linux/seq_file.h> | 28 | #include <linux/seq_file.h> |
29 | #include <linux/slab.h> | ||
29 | #include "drmP.h" | 30 | #include "drmP.h" |
30 | #include "drm.h" | 31 | #include "drm.h" |
31 | #include "radeon_reg.h" | 32 | #include "radeon_reg.h" |
32 | #include "radeon.h" | 33 | #include "radeon.h" |
34 | #include "radeon_asic.h" | ||
33 | #include "radeon_drm.h" | 35 | #include "radeon_drm.h" |
34 | #include "r100_track.h" | 36 | #include "r100_track.h" |
35 | #include "r300d.h" | 37 | #include "r300d.h" |
@@ -164,9 +166,9 @@ void rv370_pcie_gart_disable(struct radeon_device *rdev) | |||
164 | 166 | ||
165 | void rv370_pcie_gart_fini(struct radeon_device *rdev) | 167 | void rv370_pcie_gart_fini(struct radeon_device *rdev) |
166 | { | 168 | { |
169 | radeon_gart_fini(rdev); | ||
167 | rv370_pcie_gart_disable(rdev); | 170 | rv370_pcie_gart_disable(rdev); |
168 | radeon_gart_table_vram_free(rdev); | 171 | radeon_gart_table_vram_free(rdev); |
169 | radeon_gart_fini(rdev); | ||
170 | } | 172 | } |
171 | 173 | ||
172 | void r300_fence_ring_emit(struct radeon_device *rdev, | 174 | void r300_fence_ring_emit(struct radeon_device *rdev, |
@@ -323,11 +325,12 @@ void r300_gpu_init(struct radeon_device *rdev) | |||
323 | 325 | ||
324 | r100_hdp_reset(rdev); | 326 | r100_hdp_reset(rdev); |
325 | /* FIXME: rv380 one pipes ? */ | 327 | /* FIXME: rv380 one pipes ? */ |
326 | if ((rdev->family == CHIP_R300) || (rdev->family == CHIP_R350)) { | 328 | if ((rdev->family == CHIP_R300 && rdev->pdev->device != 0x4144) || |
329 | (rdev->family == CHIP_R350)) { | ||
327 | /* r300,r350 */ | 330 | /* r300,r350 */ |
328 | rdev->num_gb_pipes = 2; | 331 | rdev->num_gb_pipes = 2; |
329 | } else { | 332 | } else { |
330 | /* rv350,rv370,rv380 */ | 333 | /* rv350,rv370,rv380,r300 AD */ |
331 | rdev->num_gb_pipes = 1; | 334 | rdev->num_gb_pipes = 1; |
332 | } | 335 | } |
333 | rdev->num_z_pipes = 1; | 336 | rdev->num_z_pipes = 1; |
@@ -481,6 +484,7 @@ void r300_mc_init(struct radeon_device *rdev) | |||
481 | radeon_vram_location(rdev, &rdev->mc, base); | 484 | radeon_vram_location(rdev, &rdev->mc, base); |
482 | if (!(rdev->flags & RADEON_IS_AGP)) | 485 | if (!(rdev->flags & RADEON_IS_AGP)) |
483 | radeon_gtt_location(rdev, &rdev->mc); | 486 | radeon_gtt_location(rdev, &rdev->mc); |
487 | radeon_update_bandwidth_info(rdev); | ||
484 | } | 488 | } |
485 | 489 | ||
486 | void rv370_set_pcie_lanes(struct radeon_device *rdev, int lanes) | 490 | void rv370_set_pcie_lanes(struct radeon_device *rdev, int lanes) |
@@ -1334,6 +1338,7 @@ int r300_suspend(struct radeon_device *rdev) | |||
1334 | 1338 | ||
1335 | void r300_fini(struct radeon_device *rdev) | 1339 | void r300_fini(struct radeon_device *rdev) |
1336 | { | 1340 | { |
1341 | radeon_pm_fini(rdev); | ||
1337 | r100_cp_fini(rdev); | 1342 | r100_cp_fini(rdev); |
1338 | r100_wb_fini(rdev); | 1343 | r100_wb_fini(rdev); |
1339 | r100_ib_fini(rdev); | 1344 | r100_ib_fini(rdev); |