diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/r100.c')
-rw-r--r-- | drivers/gpu/drm/radeon/r100.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c index bfd36ab643a6..333cde9d4e7b 100644 --- a/drivers/gpu/drm/radeon/r100.c +++ b/drivers/gpu/drm/radeon/r100.c | |||
@@ -789,9 +789,7 @@ int r100_irq_process(struct radeon_device *rdev) | |||
789 | WREG32(RADEON_AIC_CNTL, msi_rearm | RS400_MSI_REARM); | 789 | WREG32(RADEON_AIC_CNTL, msi_rearm | RS400_MSI_REARM); |
790 | break; | 790 | break; |
791 | default: | 791 | default: |
792 | msi_rearm = RREG32(RADEON_MSI_REARM_EN) & ~RV370_MSI_REARM_EN; | 792 | WREG32(RADEON_MSI_REARM_EN, RV370_MSI_REARM_EN); |
793 | WREG32(RADEON_MSI_REARM_EN, msi_rearm); | ||
794 | WREG32(RADEON_MSI_REARM_EN, msi_rearm | RV370_MSI_REARM_EN); | ||
795 | break; | 793 | break; |
796 | } | 794 | } |
797 | } | 795 | } |
@@ -3930,6 +3928,8 @@ static int r100_startup(struct radeon_device *rdev) | |||
3930 | 3928 | ||
3931 | int r100_resume(struct radeon_device *rdev) | 3929 | int r100_resume(struct radeon_device *rdev) |
3932 | { | 3930 | { |
3931 | int r; | ||
3932 | |||
3933 | /* Make sur GART are not working */ | 3933 | /* Make sur GART are not working */ |
3934 | if (rdev->flags & RADEON_IS_PCI) | 3934 | if (rdev->flags & RADEON_IS_PCI) |
3935 | r100_pci_gart_disable(rdev); | 3935 | r100_pci_gart_disable(rdev); |
@@ -3949,7 +3949,11 @@ int r100_resume(struct radeon_device *rdev) | |||
3949 | radeon_surface_init(rdev); | 3949 | radeon_surface_init(rdev); |
3950 | 3950 | ||
3951 | rdev->accel_working = true; | 3951 | rdev->accel_working = true; |
3952 | return r100_startup(rdev); | 3952 | r = r100_startup(rdev); |
3953 | if (r) { | ||
3954 | rdev->accel_working = false; | ||
3955 | } | ||
3956 | return r; | ||
3953 | } | 3957 | } |
3954 | 3958 | ||
3955 | int r100_suspend(struct radeon_device *rdev) | 3959 | int r100_suspend(struct radeon_device *rdev) |