diff options
| -rw-r--r-- | drivers/gpu/drm/radeon/r100.c | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/r300.c | 5 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/r420.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/r520.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/r600.c | 21 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon.h | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/rs400.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/rs600.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/rs690.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/rv515.c | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/rv770.c | 12 |
11 files changed, 26 insertions, 33 deletions
diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c index 626e79023e30..c0d4650cdb79 100644 --- a/drivers/gpu/drm/radeon/r100.c +++ b/drivers/gpu/drm/radeon/r100.c | |||
| @@ -3375,7 +3375,6 @@ int r100_suspend(struct radeon_device *rdev) | |||
| 3375 | 3375 | ||
| 3376 | void r100_fini(struct radeon_device *rdev) | 3376 | void r100_fini(struct radeon_device *rdev) |
| 3377 | { | 3377 | { |
| 3378 | r100_suspend(rdev); | ||
| 3379 | r100_cp_fini(rdev); | 3378 | r100_cp_fini(rdev); |
| 3380 | r100_wb_fini(rdev); | 3379 | r100_wb_fini(rdev); |
| 3381 | r100_ib_fini(rdev); | 3380 | r100_ib_fini(rdev); |
| @@ -3487,13 +3486,12 @@ int r100_init(struct radeon_device *rdev) | |||
| 3487 | if (r) { | 3486 | if (r) { |
| 3488 | /* Somethings want wront with the accel init stop accel */ | 3487 | /* Somethings want wront with the accel init stop accel */ |
| 3489 | dev_err(rdev->dev, "Disabling GPU acceleration\n"); | 3488 | dev_err(rdev->dev, "Disabling GPU acceleration\n"); |
| 3490 | r100_suspend(rdev); | ||
| 3491 | r100_cp_fini(rdev); | 3489 | r100_cp_fini(rdev); |
| 3492 | r100_wb_fini(rdev); | 3490 | r100_wb_fini(rdev); |
| 3493 | r100_ib_fini(rdev); | 3491 | r100_ib_fini(rdev); |
| 3492 | radeon_irq_kms_fini(rdev); | ||
| 3494 | if (rdev->flags & RADEON_IS_PCI) | 3493 | if (rdev->flags & RADEON_IS_PCI) |
| 3495 | r100_pci_gart_fini(rdev); | 3494 | r100_pci_gart_fini(rdev); |
| 3496 | radeon_irq_kms_fini(rdev); | ||
| 3497 | rdev->accel_working = false; | 3495 | rdev->accel_working = false; |
| 3498 | } | 3496 | } |
| 3499 | return 0; | 3497 | return 0; |
diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c index 0051d11b907c..e699e6d053dd 100644 --- a/drivers/gpu/drm/radeon/r300.c +++ b/drivers/gpu/drm/radeon/r300.c | |||
| @@ -1327,7 +1327,6 @@ int r300_suspend(struct radeon_device *rdev) | |||
| 1327 | 1327 | ||
| 1328 | void r300_fini(struct radeon_device *rdev) | 1328 | void r300_fini(struct radeon_device *rdev) |
| 1329 | { | 1329 | { |
| 1330 | r300_suspend(rdev); | ||
| 1331 | r100_cp_fini(rdev); | 1330 | r100_cp_fini(rdev); |
| 1332 | r100_wb_fini(rdev); | 1331 | r100_wb_fini(rdev); |
| 1333 | r100_ib_fini(rdev); | 1332 | r100_ib_fini(rdev); |
| @@ -1418,15 +1417,15 @@ int r300_init(struct radeon_device *rdev) | |||
| 1418 | if (r) { | 1417 | if (r) { |
| 1419 | /* Somethings want wront with the accel init stop accel */ | 1418 | /* Somethings want wront with the accel init stop accel */ |
| 1420 | dev_err(rdev->dev, "Disabling GPU acceleration\n"); | 1419 | dev_err(rdev->dev, "Disabling GPU acceleration\n"); |
| 1421 | r300_suspend(rdev); | ||
| 1422 | r100_cp_fini(rdev); | 1420 | r100_cp_fini(rdev); |
| 1423 | r100_wb_fini(rdev); | 1421 | r100_wb_fini(rdev); |
| 1424 | r100_ib_fini(rdev); | 1422 | r100_ib_fini(rdev); |
| 1423 | radeon_irq_kms_fini(rdev); | ||
| 1425 | if (rdev->flags & RADEON_IS_PCIE) | 1424 | if (rdev->flags & RADEON_IS_PCIE) |
| 1426 | rv370_pcie_gart_fini(rdev); | 1425 | rv370_pcie_gart_fini(rdev); |
| 1427 | if (rdev->flags & RADEON_IS_PCI) | 1426 | if (rdev->flags & RADEON_IS_PCI) |
| 1428 | r100_pci_gart_fini(rdev); | 1427 | r100_pci_gart_fini(rdev); |
| 1429 | radeon_irq_kms_fini(rdev); | 1428 | radeon_agp_fini(rdev); |
| 1430 | rdev->accel_working = false; | 1429 | rdev->accel_working = false; |
| 1431 | } | 1430 | } |
| 1432 | return 0; | 1431 | return 0; |
diff --git a/drivers/gpu/drm/radeon/r420.c b/drivers/gpu/drm/radeon/r420.c index 4526faaacca8..d9373246c97f 100644 --- a/drivers/gpu/drm/radeon/r420.c +++ b/drivers/gpu/drm/radeon/r420.c | |||
| @@ -389,16 +389,15 @@ int r420_init(struct radeon_device *rdev) | |||
| 389 | if (r) { | 389 | if (r) { |
| 390 | /* Somethings want wront with the accel init stop accel */ | 390 | /* Somethings want wront with the accel init stop accel */ |
| 391 | dev_err(rdev->dev, "Disabling GPU acceleration\n"); | 391 | dev_err(rdev->dev, "Disabling GPU acceleration\n"); |
| 392 | r420_suspend(rdev); | ||
| 393 | r100_cp_fini(rdev); | 392 | r100_cp_fini(rdev); |
| 394 | r100_wb_fini(rdev); | 393 | r100_wb_fini(rdev); |
| 395 | r100_ib_fini(rdev); | 394 | r100_ib_fini(rdev); |
| 395 | radeon_irq_kms_fini(rdev); | ||
| 396 | if (rdev->flags & RADEON_IS_PCIE) | 396 | if (rdev->flags & RADEON_IS_PCIE) |
| 397 | rv370_pcie_gart_fini(rdev); | 397 | rv370_pcie_gart_fini(rdev); |
| 398 | if (rdev->flags & RADEON_IS_PCI) | 398 | if (rdev->flags & RADEON_IS_PCI) |
| 399 | r100_pci_gart_fini(rdev); | 399 | r100_pci_gart_fini(rdev); |
| 400 | radeon_agp_fini(rdev); | 400 | radeon_agp_fini(rdev); |
| 401 | radeon_irq_kms_fini(rdev); | ||
| 402 | rdev->accel_working = false; | 401 | rdev->accel_working = false; |
| 403 | } | 402 | } |
| 404 | return 0; | 403 | return 0; |
diff --git a/drivers/gpu/drm/radeon/r520.c b/drivers/gpu/drm/radeon/r520.c index 9a189072f2b9..ddf5731eba0d 100644 --- a/drivers/gpu/drm/radeon/r520.c +++ b/drivers/gpu/drm/radeon/r520.c | |||
| @@ -294,13 +294,12 @@ int r520_init(struct radeon_device *rdev) | |||
| 294 | if (r) { | 294 | if (r) { |
| 295 | /* Somethings want wront with the accel init stop accel */ | 295 | /* Somethings want wront with the accel init stop accel */ |
| 296 | dev_err(rdev->dev, "Disabling GPU acceleration\n"); | 296 | dev_err(rdev->dev, "Disabling GPU acceleration\n"); |
| 297 | rv515_suspend(rdev); | ||
| 298 | r100_cp_fini(rdev); | 297 | r100_cp_fini(rdev); |
| 299 | r100_wb_fini(rdev); | 298 | r100_wb_fini(rdev); |
| 300 | r100_ib_fini(rdev); | 299 | r100_ib_fini(rdev); |
| 300 | radeon_irq_kms_fini(rdev); | ||
| 301 | rv370_pcie_gart_fini(rdev); | 301 | rv370_pcie_gart_fini(rdev); |
| 302 | radeon_agp_fini(rdev); | 302 | radeon_agp_fini(rdev); |
| 303 | radeon_irq_kms_fini(rdev); | ||
| 304 | rdev->accel_working = false; | 303 | rdev->accel_working = false; |
| 305 | } | 304 | } |
| 306 | return 0; | 305 | return 0; |
diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c index 45d565bae71b..9661a469f3bd 100644 --- a/drivers/gpu/drm/radeon/r600.c +++ b/drivers/gpu/drm/radeon/r600.c | |||
| @@ -1654,6 +1654,12 @@ void r600_ring_init(struct radeon_device *rdev, unsigned ring_size) | |||
| 1654 | rdev->cp.align_mask = 16 - 1; | 1654 | rdev->cp.align_mask = 16 - 1; |
| 1655 | } | 1655 | } |
| 1656 | 1656 | ||
| 1657 | void r600_cp_fini(struct radeon_device *rdev) | ||
| 1658 | { | ||
| 1659 | r600_cp_stop(rdev); | ||
| 1660 | radeon_ring_fini(rdev); | ||
| 1661 | } | ||
| 1662 | |||
| 1657 | 1663 | ||
| 1658 | /* | 1664 | /* |
| 1659 | * GPU scratch registers helpers function. | 1665 | * GPU scratch registers helpers function. |
| @@ -2055,9 +2061,11 @@ int r600_init(struct radeon_device *rdev) | |||
| 2055 | rdev->accel_working = true; | 2061 | rdev->accel_working = true; |
| 2056 | r = r600_startup(rdev); | 2062 | r = r600_startup(rdev); |
| 2057 | if (r) { | 2063 | if (r) { |
| 2058 | r600_suspend(rdev); | 2064 | dev_err(rdev->dev, "disabling GPU acceleration\n"); |
| 2065 | r600_cp_fini(rdev); | ||
| 2059 | r600_wb_fini(rdev); | 2066 | r600_wb_fini(rdev); |
| 2060 | radeon_ring_fini(rdev); | 2067 | r600_irq_fini(rdev); |
| 2068 | radeon_irq_kms_fini(rdev); | ||
| 2061 | r600_pcie_gart_fini(rdev); | 2069 | r600_pcie_gart_fini(rdev); |
| 2062 | rdev->accel_working = false; | 2070 | rdev->accel_working = false; |
| 2063 | } | 2071 | } |
| @@ -2083,20 +2091,17 @@ int r600_init(struct radeon_device *rdev) | |||
| 2083 | 2091 | ||
| 2084 | void r600_fini(struct radeon_device *rdev) | 2092 | void r600_fini(struct radeon_device *rdev) |
| 2085 | { | 2093 | { |
| 2086 | /* Suspend operations */ | ||
| 2087 | r600_suspend(rdev); | ||
| 2088 | |||
| 2089 | r600_audio_fini(rdev); | 2094 | r600_audio_fini(rdev); |
| 2090 | r600_blit_fini(rdev); | 2095 | r600_blit_fini(rdev); |
| 2096 | r600_cp_fini(rdev); | ||
| 2097 | r600_wb_fini(rdev); | ||
| 2091 | r600_irq_fini(rdev); | 2098 | r600_irq_fini(rdev); |
| 2092 | radeon_irq_kms_fini(rdev); | 2099 | radeon_irq_kms_fini(rdev); |
| 2093 | radeon_ring_fini(rdev); | ||
| 2094 | r600_wb_fini(rdev); | ||
| 2095 | r600_pcie_gart_fini(rdev); | 2100 | r600_pcie_gart_fini(rdev); |
| 2101 | radeon_agp_fini(rdev); | ||
| 2096 | radeon_gem_fini(rdev); | 2102 | radeon_gem_fini(rdev); |
| 2097 | radeon_fence_driver_fini(rdev); | 2103 | radeon_fence_driver_fini(rdev); |
| 2098 | radeon_clocks_fini(rdev); | 2104 | radeon_clocks_fini(rdev); |
| 2099 | radeon_agp_fini(rdev); | ||
| 2100 | radeon_bo_fini(rdev); | 2105 | radeon_bo_fini(rdev); |
| 2101 | radeon_atombios_fini(rdev); | 2106 | radeon_atombios_fini(rdev); |
| 2102 | kfree(rdev->bios); | 2107 | kfree(rdev->bios); |
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h index 37150fc406b5..f57480ba1355 100644 --- a/drivers/gpu/drm/radeon/radeon.h +++ b/drivers/gpu/drm/radeon/radeon.h | |||
| @@ -1150,6 +1150,7 @@ extern bool r600_card_posted(struct radeon_device *rdev); | |||
| 1150 | extern void r600_cp_stop(struct radeon_device *rdev); | 1150 | extern void r600_cp_stop(struct radeon_device *rdev); |
| 1151 | extern void r600_ring_init(struct radeon_device *rdev, unsigned ring_size); | 1151 | extern void r600_ring_init(struct radeon_device *rdev, unsigned ring_size); |
| 1152 | extern int r600_cp_resume(struct radeon_device *rdev); | 1152 | extern int r600_cp_resume(struct radeon_device *rdev); |
| 1153 | extern void r600_cp_fini(struct radeon_device *rdev); | ||
| 1153 | extern int r600_count_pipe_bits(uint32_t val); | 1154 | extern int r600_count_pipe_bits(uint32_t val); |
| 1154 | extern int r600_gart_clear_page(struct radeon_device *rdev, int i); | 1155 | extern int r600_gart_clear_page(struct radeon_device *rdev, int i); |
| 1155 | extern int r600_mc_wait_for_idle(struct radeon_device *rdev); | 1156 | extern int r600_mc_wait_for_idle(struct radeon_device *rdev); |
diff --git a/drivers/gpu/drm/radeon/rs400.c b/drivers/gpu/drm/radeon/rs400.c index 9f5418983e2a..eeeb0d6d7a44 100644 --- a/drivers/gpu/drm/radeon/rs400.c +++ b/drivers/gpu/drm/radeon/rs400.c | |||
| @@ -448,7 +448,6 @@ int rs400_suspend(struct radeon_device *rdev) | |||
| 448 | 448 | ||
| 449 | void rs400_fini(struct radeon_device *rdev) | 449 | void rs400_fini(struct radeon_device *rdev) |
| 450 | { | 450 | { |
| 451 | rs400_suspend(rdev); | ||
| 452 | r100_cp_fini(rdev); | 451 | r100_cp_fini(rdev); |
| 453 | r100_wb_fini(rdev); | 452 | r100_wb_fini(rdev); |
| 454 | r100_ib_fini(rdev); | 453 | r100_ib_fini(rdev); |
| @@ -527,7 +526,6 @@ int rs400_init(struct radeon_device *rdev) | |||
| 527 | if (r) { | 526 | if (r) { |
| 528 | /* Somethings want wront with the accel init stop accel */ | 527 | /* Somethings want wront with the accel init stop accel */ |
| 529 | dev_err(rdev->dev, "Disabling GPU acceleration\n"); | 528 | dev_err(rdev->dev, "Disabling GPU acceleration\n"); |
| 530 | rs400_suspend(rdev); | ||
| 531 | r100_cp_fini(rdev); | 529 | r100_cp_fini(rdev); |
| 532 | r100_wb_fini(rdev); | 530 | r100_wb_fini(rdev); |
| 533 | r100_ib_fini(rdev); | 531 | r100_ib_fini(rdev); |
diff --git a/drivers/gpu/drm/radeon/rs600.c b/drivers/gpu/drm/radeon/rs600.c index d5255751e7b3..c3818562a13e 100644 --- a/drivers/gpu/drm/radeon/rs600.c +++ b/drivers/gpu/drm/radeon/rs600.c | |||
| @@ -610,7 +610,6 @@ int rs600_suspend(struct radeon_device *rdev) | |||
| 610 | 610 | ||
| 611 | void rs600_fini(struct radeon_device *rdev) | 611 | void rs600_fini(struct radeon_device *rdev) |
| 612 | { | 612 | { |
| 613 | rs600_suspend(rdev); | ||
| 614 | r100_cp_fini(rdev); | 613 | r100_cp_fini(rdev); |
| 615 | r100_wb_fini(rdev); | 614 | r100_wb_fini(rdev); |
| 616 | r100_ib_fini(rdev); | 615 | r100_ib_fini(rdev); |
| @@ -689,7 +688,6 @@ int rs600_init(struct radeon_device *rdev) | |||
| 689 | if (r) { | 688 | if (r) { |
| 690 | /* Somethings want wront with the accel init stop accel */ | 689 | /* Somethings want wront with the accel init stop accel */ |
| 691 | dev_err(rdev->dev, "Disabling GPU acceleration\n"); | 690 | dev_err(rdev->dev, "Disabling GPU acceleration\n"); |
| 692 | rs600_suspend(rdev); | ||
| 693 | r100_cp_fini(rdev); | 691 | r100_cp_fini(rdev); |
| 694 | r100_wb_fini(rdev); | 692 | r100_wb_fini(rdev); |
| 695 | r100_ib_fini(rdev); | 693 | r100_ib_fini(rdev); |
diff --git a/drivers/gpu/drm/radeon/rs690.c b/drivers/gpu/drm/radeon/rs690.c index cd31da913771..06e2771aee5a 100644 --- a/drivers/gpu/drm/radeon/rs690.c +++ b/drivers/gpu/drm/radeon/rs690.c | |||
| @@ -676,7 +676,6 @@ int rs690_suspend(struct radeon_device *rdev) | |||
| 676 | 676 | ||
| 677 | void rs690_fini(struct radeon_device *rdev) | 677 | void rs690_fini(struct radeon_device *rdev) |
| 678 | { | 678 | { |
| 679 | rs690_suspend(rdev); | ||
| 680 | r100_cp_fini(rdev); | 679 | r100_cp_fini(rdev); |
| 681 | r100_wb_fini(rdev); | 680 | r100_wb_fini(rdev); |
| 682 | r100_ib_fini(rdev); | 681 | r100_ib_fini(rdev); |
| @@ -756,7 +755,6 @@ int rs690_init(struct radeon_device *rdev) | |||
| 756 | if (r) { | 755 | if (r) { |
| 757 | /* Somethings want wront with the accel init stop accel */ | 756 | /* Somethings want wront with the accel init stop accel */ |
| 758 | dev_err(rdev->dev, "Disabling GPU acceleration\n"); | 757 | dev_err(rdev->dev, "Disabling GPU acceleration\n"); |
| 759 | rs690_suspend(rdev); | ||
| 760 | r100_cp_fini(rdev); | 758 | r100_cp_fini(rdev); |
| 761 | r100_wb_fini(rdev); | 759 | r100_wb_fini(rdev); |
| 762 | r100_ib_fini(rdev); | 760 | r100_ib_fini(rdev); |
diff --git a/drivers/gpu/drm/radeon/rv515.c b/drivers/gpu/drm/radeon/rv515.c index 62756717b044..0e1e6b8632b8 100644 --- a/drivers/gpu/drm/radeon/rv515.c +++ b/drivers/gpu/drm/radeon/rv515.c | |||
| @@ -537,7 +537,6 @@ void rv515_set_safe_registers(struct radeon_device *rdev) | |||
| 537 | 537 | ||
| 538 | void rv515_fini(struct radeon_device *rdev) | 538 | void rv515_fini(struct radeon_device *rdev) |
| 539 | { | 539 | { |
| 540 | rv515_suspend(rdev); | ||
| 541 | r100_cp_fini(rdev); | 540 | r100_cp_fini(rdev); |
| 542 | r100_wb_fini(rdev); | 541 | r100_wb_fini(rdev); |
| 543 | r100_ib_fini(rdev); | 542 | r100_ib_fini(rdev); |
| @@ -615,13 +614,12 @@ int rv515_init(struct radeon_device *rdev) | |||
| 615 | if (r) { | 614 | if (r) { |
| 616 | /* Somethings want wront with the accel init stop accel */ | 615 | /* Somethings want wront with the accel init stop accel */ |
| 617 | dev_err(rdev->dev, "Disabling GPU acceleration\n"); | 616 | dev_err(rdev->dev, "Disabling GPU acceleration\n"); |
| 618 | rv515_suspend(rdev); | ||
| 619 | r100_cp_fini(rdev); | 617 | r100_cp_fini(rdev); |
| 620 | r100_wb_fini(rdev); | 618 | r100_wb_fini(rdev); |
| 621 | r100_ib_fini(rdev); | 619 | r100_ib_fini(rdev); |
| 620 | radeon_irq_kms_fini(rdev); | ||
| 622 | rv370_pcie_gart_fini(rdev); | 621 | rv370_pcie_gart_fini(rdev); |
| 623 | radeon_agp_fini(rdev); | 622 | radeon_agp_fini(rdev); |
| 624 | radeon_irq_kms_fini(rdev); | ||
| 625 | rdev->accel_working = false; | 623 | rdev->accel_working = false; |
| 626 | } | 624 | } |
| 627 | return 0; | 625 | return 0; |
diff --git a/drivers/gpu/drm/radeon/rv770.c b/drivers/gpu/drm/radeon/rv770.c index 06b037eebef5..c9320e727986 100644 --- a/drivers/gpu/drm/radeon/rv770.c +++ b/drivers/gpu/drm/radeon/rv770.c | |||
| @@ -1065,9 +1065,11 @@ int rv770_init(struct radeon_device *rdev) | |||
| 1065 | rdev->accel_working = true; | 1065 | rdev->accel_working = true; |
| 1066 | r = rv770_startup(rdev); | 1066 | r = rv770_startup(rdev); |
| 1067 | if (r) { | 1067 | if (r) { |
| 1068 | rv770_suspend(rdev); | 1068 | dev_err(rdev->dev, "disabling GPU acceleration\n"); |
| 1069 | r600_cp_fini(rdev); | ||
| 1069 | r600_wb_fini(rdev); | 1070 | r600_wb_fini(rdev); |
| 1070 | radeon_ring_fini(rdev); | 1071 | r600_irq_fini(rdev); |
| 1072 | radeon_irq_kms_fini(rdev); | ||
| 1071 | rv770_pcie_gart_fini(rdev); | 1073 | rv770_pcie_gart_fini(rdev); |
| 1072 | rdev->accel_working = false; | 1074 | rdev->accel_working = false; |
| 1073 | } | 1075 | } |
| @@ -1089,13 +1091,11 @@ int rv770_init(struct radeon_device *rdev) | |||
| 1089 | 1091 | ||
| 1090 | void rv770_fini(struct radeon_device *rdev) | 1092 | void rv770_fini(struct radeon_device *rdev) |
| 1091 | { | 1093 | { |
| 1092 | rv770_suspend(rdev); | ||
| 1093 | |||
| 1094 | r600_blit_fini(rdev); | 1094 | r600_blit_fini(rdev); |
| 1095 | r600_cp_fini(rdev); | ||
| 1096 | r600_wb_fini(rdev); | ||
| 1095 | r600_irq_fini(rdev); | 1097 | r600_irq_fini(rdev); |
| 1096 | radeon_irq_kms_fini(rdev); | 1098 | radeon_irq_kms_fini(rdev); |
| 1097 | radeon_ring_fini(rdev); | ||
| 1098 | r600_wb_fini(rdev); | ||
| 1099 | rv770_pcie_gart_fini(rdev); | 1099 | rv770_pcie_gart_fini(rdev); |
| 1100 | radeon_gem_fini(rdev); | 1100 | radeon_gem_fini(rdev); |
| 1101 | radeon_fence_driver_fini(rdev); | 1101 | radeon_fence_driver_fini(rdev); |
