aboutsummaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorMikko Sarmanne <mikko.sarmanne@symbio.com>2011-01-05 08:58:21 +0200
committerRobert Marklund <robert.marklund@stericsson.com>2011-05-13 10:40:22 +0200
commite849d5386e9f441ed63e4de12f22dcb91bba50c5 (patch)
tree1b9ac5b75d04a96ab8804cdce1a3bb30e7ae45f7 /sound
parent1cee473c82603a504c0c9a24e982b80656c1d085 (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: