aboutsummaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorMikko Sarmanne <mikko.sarmanne@symbio.com>2011-01-05 08:58:21 +0200
committerPhilippe Langlais <philippe.langlais@linaro.org>2011-07-22 15:39:44 +0200
commit74041eb196b01ebe03836c0dd1108390ff89188e (patch)
tree25f6c940e5cfd93a5f5d2ce81f235d9aee7617f0 /sound
parent936dcc9d717b9d441508e0b7ac199163c6d2d181 (diff)
Ux500 ASoC: Fix 7 and 8 channel playback for AV8100
Fixes an issue with 8 channel setup that caused the audio not being played from the last two speakers. Also adds support for 7.0 speaker configuration. Change-Id: Ia46d6ab8e2f218e7bda384f364f1b4ea88a053fc Signed-off-by: Mikko Sarmanne <mikko.sarmanne@symbio.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/13415 Reviewed-by: Ola LILJA2 <ola.o.lilja@stericsson.com> Tested-by: Ola LILJA2 <ola.o.lilja@stericsson.com> Reviewed-by: QATOOLS
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/av8100_audio.h1
-rw-r--r--sound/soc/ux500/ux500_av8100.c9
2 files changed, 8 insertions, 2 deletions
diff --git a/sound/soc/codecs/av8100_audio.h b/sound/soc/codecs/av8100_audio.h
index 4c269c14106..15a06374c41 100644
--- a/sound/soc/codecs/av8100_audio.h
+++ b/sound/soc/codecs/av8100_audio.h
@@ -26,6 +26,7 @@
#define AV8100_CODEC_MASK_QUAD 0x0505
#define AV8100_CODEC_MASK_5DOT0 0x0545
#define AV8100_CODEC_MASK_5DOT1 0x0555
+#define AV8100_CODEC_MASK_7DOT0 0x5545
#define AV8100_CODEC_MASK_7DOT1 0x5555
enum hdmi_audio_coding_type {
diff --git a/sound/soc/ux500/ux500_av8100.c b/sound/soc/ux500/ux500_av8100.c
index 25e6a0deb0c..0a04feca2ef 100644
--- a/sound/soc/ux500/ux500_av8100.c
+++ b/sound/soc/ux500/ux500_av8100.c
@@ -68,9 +68,14 @@ static int ux500_av8100_hw_params(struct snd_pcm_substream *substream,
hdmi_ca = AV8100_CODEC_CA_FL_FR_LFE_FC_RL_RR; /* 5.1 */
tx_mask = AV8100_CODEC_MASK_5DOT1;
break;
+ case 7:
+ hdmi_cc = AV8100_CODEC_CC_8CH;
+ hdmi_ca = AV8100_CODEC_CA_FL_FR_LFE_FC_RL_RR_RLC_RRC; /* 7.1 */
+ tx_mask = AV8100_CODEC_MASK_7DOT0;
+ break;
case 8:
- hdmi_cc = AV8100_CODEC_CC_6CH;
- hdmi_ca = AV8100_CODEC_CA_FL_FR_LFE_FC_RL_RR_FLC_FRC; /* 7.1 */
+ hdmi_cc = AV8100_CODEC_CC_8CH;
+ hdmi_ca = AV8100_CODEC_CA_FL_FR_LFE_FC_RL_RR_RLC_RRC; /* 7.1 */
tx_mask = AV8100_CODEC_MASK_7DOT1;
break;
default: