diff options
| -rw-r--r-- | drivers/gpu/drm/radeon/r600.c | 8 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/r600_audio.c | 3 |
2 files changed, 9 insertions, 2 deletions
diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c index 9661a469f3bd..29faebc105df 100644 --- a/drivers/gpu/drm/radeon/r600.c +++ b/drivers/gpu/drm/radeon/r600.c | |||
| @@ -1950,6 +1950,13 @@ int r600_resume(struct radeon_device *rdev) | |||
| 1950 | DRM_ERROR("radeon: failled testing IB (%d).\n", r); | 1950 | DRM_ERROR("radeon: failled testing IB (%d).\n", r); |
| 1951 | return r; | 1951 | return r; |
| 1952 | } | 1952 | } |
| 1953 | |||
| 1954 | r = r600_audio_init(rdev); | ||
| 1955 | if (r) { | ||
| 1956 | DRM_ERROR("radeon: audio resume failed\n"); | ||
| 1957 | return r; | ||
| 1958 | } | ||
| 1959 | |||
| 1953 | return r; | 1960 | return r; |
| 1954 | } | 1961 | } |
| 1955 | 1962 | ||
| @@ -1957,6 +1964,7 @@ int r600_suspend(struct radeon_device *rdev) | |||
| 1957 | { | 1964 | { |
| 1958 | int r; | 1965 | int r; |
| 1959 | 1966 | ||
| 1967 | r600_audio_fini(rdev); | ||
| 1960 | /* FIXME: we should wait for ring to be empty */ | 1968 | /* FIXME: we should wait for ring to be empty */ |
| 1961 | r600_cp_stop(rdev); | 1969 | r600_cp_stop(rdev); |
| 1962 | rdev->cp.ready = false; | 1970 | rdev->cp.ready = false; |
diff --git a/drivers/gpu/drm/radeon/r600_audio.c b/drivers/gpu/drm/radeon/r600_audio.c index b1c1d3433454..0dcb6904c4ff 100644 --- a/drivers/gpu/drm/radeon/r600_audio.c +++ b/drivers/gpu/drm/radeon/r600_audio.c | |||
| @@ -261,7 +261,6 @@ void r600_audio_fini(struct radeon_device *rdev) | |||
| 261 | if (!r600_audio_chipset_supported(rdev)) | 261 | if (!r600_audio_chipset_supported(rdev)) |
| 262 | return; | 262 | return; |
| 263 | 263 | ||
| 264 | WREG32_P(R600_AUDIO_ENABLE, 0x0, ~0x81000000); | ||
| 265 | |||
| 266 | del_timer(&rdev->audio_timer); | 264 | del_timer(&rdev->audio_timer); |
| 265 | WREG32_P(R600_AUDIO_ENABLE, 0x0, ~0x81000000); | ||
| 267 | } | 266 | } |
