aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/evergreen_hdmi.c
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2013-08-15 05:16:30 -0400
committerAlex Deucher <alexander.deucher@amd.com>2013-08-30 16:30:46 -0400
commit6159b65a5f4e04773e62e57a785df2452ddde1bc (patch)
tree755b656f86659e6f113e57ddd2739093d69171ed /drivers/gpu/drm/radeon/evergreen_hdmi.c
parentb530602fd4625f763344e455902981b22f85f609 (diff)
drm/radeon: set speakers allocation earlier
Do it before enabling audio channels (in AFMT_AUDIO_PACKET_CONTROL2 register). Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/evergreen_hdmi.c')
-rw-r--r--drivers/gpu/drm/radeon/evergreen_hdmi.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/evergreen_hdmi.c b/drivers/gpu/drm/radeon/evergreen_hdmi.c
index c5acdf0a301a..2cb0f90126cb 100644
--- a/drivers/gpu/drm/radeon/evergreen_hdmi.c
+++ b/drivers/gpu/drm/radeon/evergreen_hdmi.c
@@ -32,6 +32,7 @@
32#include "evergreend.h" 32#include "evergreend.h"
33#include "atom.h" 33#include "atom.h"
34 34
35extern void dce6_afmt_write_speaker_allocation(struct drm_encoder *encoder);
35extern void dce6_afmt_write_sad_regs(struct drm_encoder *encoder); 36extern void dce6_afmt_write_sad_regs(struct drm_encoder *encoder);
36extern void dce6_afmt_select_pin(struct drm_encoder *encoder); 37extern void dce6_afmt_select_pin(struct drm_encoder *encoder);
37 38
@@ -267,7 +268,11 @@ void evergreen_hdmi_setmode(struct drm_encoder *encoder, struct drm_display_mode
267 AFMT_60958_CS_CHANNEL_NUMBER_6(7) | 268 AFMT_60958_CS_CHANNEL_NUMBER_6(7) |
268 AFMT_60958_CS_CHANNEL_NUMBER_7(8)); 269 AFMT_60958_CS_CHANNEL_NUMBER_7(8));
269 270
270 /* fglrx sets 0x0001005f | (x & 0x00fc0000) in 0x5f78 here */ 271 if (ASIC_IS_DCE6(rdev)) {
272 dce6_afmt_write_speaker_allocation(encoder);
273 } else {
274 /* fglrx sets 0x0001005f | (x & 0x00fc0000) in 0x5f78 here */
275 }
271 276
272 WREG32(AFMT_AUDIO_PACKET_CONTROL2 + offset, 277 WREG32(AFMT_AUDIO_PACKET_CONTROL2 + offset,
273 AFMT_AUDIO_CHANNEL_ENABLE(0xff)); 278 AFMT_AUDIO_CHANNEL_ENABLE(0xff));