diff options
author | Slava Grigorev <slava.grigorev@amd.com> | 2014-12-03 17:07:01 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2015-01-22 10:42:09 -0500 |
commit | 7991d6650117064ae1d2b215b5cbb4112711ed5e (patch) | |
tree | a394daccbf124332fbe48eed9f5d2dbe34a67a9b | |
parent | 8bf598207efb35ea17075b11bf116043c18aca40 (diff) |
radeon/audio: consolidate audio_fini() functions
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | drivers/gpu/drm/radeon/cik.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/dce6_afmt.c | 13 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/evergreen.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/ni.c | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/r600.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/r600_hdmi.c | 13 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_audio.c | 13 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_audio.h | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/rs600.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/rs690.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/rv770.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/si.c | 2 |
12 files changed, 26 insertions, 41 deletions
diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c index efbcd23e9c51..de77c27d8106 100644 --- a/drivers/gpu/drm/radeon/cik.c +++ b/drivers/gpu/drm/radeon/cik.c | |||
@@ -8576,7 +8576,7 @@ int cik_suspend(struct radeon_device *rdev) | |||
8576 | { | 8576 | { |
8577 | radeon_kfd_suspend(rdev); | 8577 | radeon_kfd_suspend(rdev); |
8578 | radeon_pm_suspend(rdev); | 8578 | radeon_pm_suspend(rdev); |
8579 | dce6_audio_fini(rdev); | 8579 | radeon_audio_fini(rdev); |
8580 | radeon_vm_manager_fini(rdev); | 8580 | radeon_vm_manager_fini(rdev); |
8581 | cik_cp_enable(rdev, false); | 8581 | cik_cp_enable(rdev, false); |
8582 | cik_sdma_enable(rdev, false); | 8582 | cik_sdma_enable(rdev, false); |
diff --git a/drivers/gpu/drm/radeon/dce6_afmt.c b/drivers/gpu/drm/radeon/dce6_afmt.c index 7fd7f1573173..c4ff60f005d2 100644 --- a/drivers/gpu/drm/radeon/dce6_afmt.c +++ b/drivers/gpu/drm/radeon/dce6_afmt.c | |||
@@ -248,16 +248,3 @@ void dce6_audio_enable(struct radeon_device *rdev, | |||
248 | WREG32_ENDPOINT(pin->offset, AZ_F0_CODEC_PIN_CONTROL_HOT_PLUG_CONTROL, | 248 | WREG32_ENDPOINT(pin->offset, AZ_F0_CODEC_PIN_CONTROL_HOT_PLUG_CONTROL, |
249 | enable_mask ? AUDIO_ENABLED : 0); | 249 | enable_mask ? AUDIO_ENABLED : 0); |
250 | } | 250 | } |
251 | |||
252 | void dce6_audio_fini(struct radeon_device *rdev) | ||
253 | { | ||
254 | int i; | ||
255 | |||
256 | if (!rdev->audio.enabled) | ||
257 | return; | ||
258 | |||
259 | for (i = 0; i < rdev->audio.num_pins; i++) | ||
260 | radeon_audio_enable(rdev, &rdev->audio.pin[i], false); | ||
261 | |||
262 | rdev->audio.enabled = false; | ||
263 | } | ||
diff --git a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c index 406ea8ee0852..78600f534c80 100644 --- a/drivers/gpu/drm/radeon/evergreen.c +++ b/drivers/gpu/drm/radeon/evergreen.c | |||
@@ -5333,7 +5333,7 @@ int evergreen_resume(struct radeon_device *rdev) | |||
5333 | int evergreen_suspend(struct radeon_device *rdev) | 5333 | int evergreen_suspend(struct radeon_device *rdev) |
5334 | { | 5334 | { |
5335 | radeon_pm_suspend(rdev); | 5335 | radeon_pm_suspend(rdev); |
5336 | r600_audio_fini(rdev); | 5336 | radeon_audio_fini(rdev); |
5337 | uvd_v1_0_fini(rdev); | 5337 | uvd_v1_0_fini(rdev); |
5338 | radeon_uvd_suspend(rdev); | 5338 | radeon_uvd_suspend(rdev); |
5339 | r700_cp_stop(rdev); | 5339 | r700_cp_stop(rdev); |
@@ -5483,7 +5483,7 @@ int evergreen_init(struct radeon_device *rdev) | |||
5483 | void evergreen_fini(struct radeon_device *rdev) | 5483 | void evergreen_fini(struct radeon_device *rdev) |
5484 | { | 5484 | { |
5485 | radeon_pm_fini(rdev); | 5485 | radeon_pm_fini(rdev); |
5486 | r600_audio_fini(rdev); | 5486 | radeon_audio_fini(rdev); |
5487 | r700_cp_fini(rdev); | 5487 | r700_cp_fini(rdev); |
5488 | r600_dma_fini(rdev); | 5488 | r600_dma_fini(rdev); |
5489 | r600_irq_fini(rdev); | 5489 | r600_irq_fini(rdev); |
diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c index d2f10408c560..24242a7f0ac3 100644 --- a/drivers/gpu/drm/radeon/ni.c +++ b/drivers/gpu/drm/radeon/ni.c | |||
@@ -2135,10 +2135,7 @@ int cayman_resume(struct radeon_device *rdev) | |||
2135 | int cayman_suspend(struct radeon_device *rdev) | 2135 | int cayman_suspend(struct radeon_device *rdev) |
2136 | { | 2136 | { |
2137 | radeon_pm_suspend(rdev); | 2137 | radeon_pm_suspend(rdev); |
2138 | if (ASIC_IS_DCE6(rdev)) | 2138 | radeon_audio_fini(rdev); |
2139 | dce6_audio_fini(rdev); | ||
2140 | else | ||
2141 | r600_audio_fini(rdev); | ||
2142 | radeon_vm_manager_fini(rdev); | 2139 | radeon_vm_manager_fini(rdev); |
2143 | cayman_cp_enable(rdev, false); | 2140 | cayman_cp_enable(rdev, false); |
2144 | cayman_dma_stop(rdev); | 2141 | cayman_dma_stop(rdev); |
diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c index de7878aef65c..07a71a2488c9 100644 --- a/drivers/gpu/drm/radeon/r600.c +++ b/drivers/gpu/drm/radeon/r600.c | |||
@@ -3106,7 +3106,7 @@ int r600_resume(struct radeon_device *rdev) | |||
3106 | int r600_suspend(struct radeon_device *rdev) | 3106 | int r600_suspend(struct radeon_device *rdev) |
3107 | { | 3107 | { |
3108 | radeon_pm_suspend(rdev); | 3108 | radeon_pm_suspend(rdev); |
3109 | r600_audio_fini(rdev); | 3109 | radeon_audio_fini(rdev); |
3110 | r600_cp_stop(rdev); | 3110 | r600_cp_stop(rdev); |
3111 | if (rdev->has_uvd) { | 3111 | if (rdev->has_uvd) { |
3112 | uvd_v1_0_fini(rdev); | 3112 | uvd_v1_0_fini(rdev); |
@@ -3225,7 +3225,7 @@ int r600_init(struct radeon_device *rdev) | |||
3225 | void r600_fini(struct radeon_device *rdev) | 3225 | void r600_fini(struct radeon_device *rdev) |
3226 | { | 3226 | { |
3227 | radeon_pm_fini(rdev); | 3227 | radeon_pm_fini(rdev); |
3228 | r600_audio_fini(rdev); | 3228 | radeon_audio_fini(rdev); |
3229 | r600_cp_fini(rdev); | 3229 | r600_cp_fini(rdev); |
3230 | r600_irq_fini(rdev); | 3230 | r600_irq_fini(rdev); |
3231 | if (rdev->has_uvd) { | 3231 | if (rdev->has_uvd) { |
diff --git a/drivers/gpu/drm/radeon/r600_hdmi.c b/drivers/gpu/drm/radeon/r600_hdmi.c index f92eb77cdd60..1c49f4d2945a 100644 --- a/drivers/gpu/drm/radeon/r600_hdmi.c +++ b/drivers/gpu/drm/radeon/r600_hdmi.c | |||
@@ -183,19 +183,6 @@ void r600_audio_enable(struct radeon_device *rdev, | |||
183 | WREG32(AZ_HOT_PLUG_CONTROL, tmp); | 183 | WREG32(AZ_HOT_PLUG_CONTROL, tmp); |
184 | } | 184 | } |
185 | 185 | ||
186 | /* | ||
187 | * release the audio timer | ||
188 | * TODO: How to do this correctly on SMP systems? | ||
189 | */ | ||
190 | void r600_audio_fini(struct radeon_device *rdev) | ||
191 | { | ||
192 | if (!rdev->audio.enabled) | ||
193 | return; | ||
194 | |||
195 | radeon_audio_enable(rdev, &rdev->audio.pin[0], 0); | ||
196 | rdev->audio.enabled = false; | ||
197 | } | ||
198 | |||
199 | struct r600_audio_pin *r600_audio_get_pin(struct radeon_device *rdev) | 186 | struct r600_audio_pin *r600_audio_get_pin(struct radeon_device *rdev) |
200 | { | 187 | { |
201 | /* only one pin on 6xx-NI */ | 188 | /* only one pin on 6xx-NI */ |
diff --git a/drivers/gpu/drm/radeon/radeon_audio.c b/drivers/gpu/drm/radeon/radeon_audio.c index eed5c740cefa..e6c73f8206b2 100644 --- a/drivers/gpu/drm/radeon/radeon_audio.c +++ b/drivers/gpu/drm/radeon/radeon_audio.c | |||
@@ -380,3 +380,16 @@ void radeon_audio_enable(struct radeon_device *rdev, | |||
380 | if (rdev->audio.funcs->enable) | 380 | if (rdev->audio.funcs->enable) |
381 | rdev->audio.funcs->enable(rdev, pin, enable_mask); | 381 | rdev->audio.funcs->enable(rdev, pin, enable_mask); |
382 | } | 382 | } |
383 | |||
384 | void radeon_audio_fini(struct radeon_device *rdev) | ||
385 | { | ||
386 | int i; | ||
387 | |||
388 | if (!rdev->audio.enabled) | ||
389 | return; | ||
390 | |||
391 | for (i = 0; i < rdev->audio.num_pins; i++) | ||
392 | radeon_audio_enable(rdev, &rdev->audio.pin[i], false); | ||
393 | |||
394 | rdev->audio.enabled = false; | ||
395 | } | ||
diff --git a/drivers/gpu/drm/radeon/radeon_audio.h b/drivers/gpu/drm/radeon/radeon_audio.h index 2bd845de8d4d..5844993a1edb 100644 --- a/drivers/gpu/drm/radeon/radeon_audio.h +++ b/drivers/gpu/drm/radeon/radeon_audio.h | |||
@@ -68,5 +68,6 @@ struct r600_audio_pin *radeon_audio_get_pin(struct drm_encoder *encoder); | |||
68 | void radeon_audio_select_pin(struct drm_encoder *encoder); | 68 | void radeon_audio_select_pin(struct drm_encoder *encoder); |
69 | void radeon_audio_enable(struct radeon_device *rdev, | 69 | void radeon_audio_enable(struct radeon_device *rdev, |
70 | struct r600_audio_pin *pin, u8 enable_mask); | 70 | struct r600_audio_pin *pin, u8 enable_mask); |
71 | void radeon_audio_fini(struct radeon_device *rdev); | ||
71 | 72 | ||
72 | #endif | 73 | #endif |
diff --git a/drivers/gpu/drm/radeon/rs600.c b/drivers/gpu/drm/radeon/rs600.c index c26f96093a10..68f154a451c0 100644 --- a/drivers/gpu/drm/radeon/rs600.c +++ b/drivers/gpu/drm/radeon/rs600.c | |||
@@ -1054,7 +1054,7 @@ int rs600_resume(struct radeon_device *rdev) | |||
1054 | int rs600_suspend(struct radeon_device *rdev) | 1054 | int rs600_suspend(struct radeon_device *rdev) |
1055 | { | 1055 | { |
1056 | radeon_pm_suspend(rdev); | 1056 | radeon_pm_suspend(rdev); |
1057 | r600_audio_fini(rdev); | 1057 | radeon_audio_fini(rdev); |
1058 | r100_cp_disable(rdev); | 1058 | r100_cp_disable(rdev); |
1059 | radeon_wb_disable(rdev); | 1059 | radeon_wb_disable(rdev); |
1060 | rs600_irq_disable(rdev); | 1060 | rs600_irq_disable(rdev); |
@@ -1065,7 +1065,7 @@ int rs600_suspend(struct radeon_device *rdev) | |||
1065 | void rs600_fini(struct radeon_device *rdev) | 1065 | void rs600_fini(struct radeon_device *rdev) |
1066 | { | 1066 | { |
1067 | radeon_pm_fini(rdev); | 1067 | radeon_pm_fini(rdev); |
1068 | r600_audio_fini(rdev); | 1068 | radeon_audio_fini(rdev); |
1069 | r100_cp_fini(rdev); | 1069 | r100_cp_fini(rdev); |
1070 | radeon_wb_fini(rdev); | 1070 | radeon_wb_fini(rdev); |
1071 | radeon_ib_pool_fini(rdev); | 1071 | radeon_ib_pool_fini(rdev); |
diff --git a/drivers/gpu/drm/radeon/rs690.c b/drivers/gpu/drm/radeon/rs690.c index 0fc559221933..516ca27cfa12 100644 --- a/drivers/gpu/drm/radeon/rs690.c +++ b/drivers/gpu/drm/radeon/rs690.c | |||
@@ -771,7 +771,7 @@ int rs690_resume(struct radeon_device *rdev) | |||
771 | int rs690_suspend(struct radeon_device *rdev) | 771 | int rs690_suspend(struct radeon_device *rdev) |
772 | { | 772 | { |
773 | radeon_pm_suspend(rdev); | 773 | radeon_pm_suspend(rdev); |
774 | r600_audio_fini(rdev); | 774 | radeon_audio_fini(rdev); |
775 | r100_cp_disable(rdev); | 775 | r100_cp_disable(rdev); |
776 | radeon_wb_disable(rdev); | 776 | radeon_wb_disable(rdev); |
777 | rs600_irq_disable(rdev); | 777 | rs600_irq_disable(rdev); |
@@ -782,7 +782,7 @@ int rs690_suspend(struct radeon_device *rdev) | |||
782 | void rs690_fini(struct radeon_device *rdev) | 782 | void rs690_fini(struct radeon_device *rdev) |
783 | { | 783 | { |
784 | radeon_pm_fini(rdev); | 784 | radeon_pm_fini(rdev); |
785 | r600_audio_fini(rdev); | 785 | radeon_audio_fini(rdev); |
786 | r100_cp_fini(rdev); | 786 | r100_cp_fini(rdev); |
787 | radeon_wb_fini(rdev); | 787 | radeon_wb_fini(rdev); |
788 | radeon_ib_pool_fini(rdev); | 788 | radeon_ib_pool_fini(rdev); |
diff --git a/drivers/gpu/drm/radeon/rv770.c b/drivers/gpu/drm/radeon/rv770.c index 9bdeb4edb722..01ee96acb398 100644 --- a/drivers/gpu/drm/radeon/rv770.c +++ b/drivers/gpu/drm/radeon/rv770.c | |||
@@ -1830,7 +1830,7 @@ int rv770_resume(struct radeon_device *rdev) | |||
1830 | int rv770_suspend(struct radeon_device *rdev) | 1830 | int rv770_suspend(struct radeon_device *rdev) |
1831 | { | 1831 | { |
1832 | radeon_pm_suspend(rdev); | 1832 | radeon_pm_suspend(rdev); |
1833 | r600_audio_fini(rdev); | 1833 | radeon_audio_fini(rdev); |
1834 | uvd_v1_0_fini(rdev); | 1834 | uvd_v1_0_fini(rdev); |
1835 | radeon_uvd_suspend(rdev); | 1835 | radeon_uvd_suspend(rdev); |
1836 | r700_cp_stop(rdev); | 1836 | r700_cp_stop(rdev); |
diff --git a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c index 86cdc6798240..73107fe9e46f 100644 --- a/drivers/gpu/drm/radeon/si.c +++ b/drivers/gpu/drm/radeon/si.c | |||
@@ -6909,7 +6909,7 @@ int si_resume(struct radeon_device *rdev) | |||
6909 | int si_suspend(struct radeon_device *rdev) | 6909 | int si_suspend(struct radeon_device *rdev) |
6910 | { | 6910 | { |
6911 | radeon_pm_suspend(rdev); | 6911 | radeon_pm_suspend(rdev); |
6912 | dce6_audio_fini(rdev); | 6912 | radeon_audio_fini(rdev); |
6913 | radeon_vm_manager_fini(rdev); | 6913 | radeon_vm_manager_fini(rdev); |
6914 | si_cp_enable(rdev, false); | 6914 | si_cp_enable(rdev, false); |
6915 | cayman_dma_stop(rdev); | 6915 | cayman_dma_stop(rdev); |