aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs
diff options
context:
space:
mode:
authorDaniel Ribeiro <drwyrm@gmail.com>2009-06-15 20:44:31 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-08-06 10:52:24 -0400
commita5479e389e989acfeca9c32eeb0083d086202280 (patch)
tree5bcc8940b9e7981916d1e9812957b72d6b82b8af /sound/soc/codecs
parent9029bb316bb99ccc7f0518c4d3e0d6adc0729c4f (diff)
ASoC: change set_tdm_slot api to allow slot_width override.
Extend set_tdm_slot to allow the user to arbitrarily set the frame width and active TX/RX slots. Updates magician.c and wm9081.c for the new set_tdm_slot(). wm9081.c still doesn't handle the slot_width override. While being there, correct an incorrect use of SlotsPerFrm(7) use in bitmask on pxa-ssp.c (SSCR0_SlotsPerFrm(x) is (((x) - 1) << 24)) ). (this series is meant for Mark's for-2.6.32 branch) Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs')
-rw-r--r--sound/soc/codecs/wm9081.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sound/soc/codecs/wm9081.c b/sound/soc/codecs/wm9081.c
index 156f2a4a5930..c96532351193 100644
--- a/sound/soc/codecs/wm9081.c
+++ b/sound/soc/codecs/wm9081.c
@@ -1214,8 +1214,9 @@ static int wm9081_set_sysclk(struct snd_soc_dai *codec_dai,
1214 return 0; 1214 return 0;
1215} 1215}
1216 1216
1217/* FIXME: Needs to handle slot_width */
1217static int wm9081_set_tdm_slot(struct snd_soc_dai *dai, 1218static int wm9081_set_tdm_slot(struct snd_soc_dai *dai,
1218 unsigned int mask, int slots) 1219 unsigned int tx_mask, unsigned int rx_mask, int slots, int slot_width)
1219{ 1220{
1220 struct snd_soc_codec *codec = dai->codec; 1221 struct snd_soc_codec *codec = dai->codec;
1221 unsigned int aif1 = wm9081_read(codec, WM9081_AUDIO_INTERFACE_1); 1222 unsigned int aif1 = wm9081_read(codec, WM9081_AUDIO_INTERFACE_1);
@@ -1227,7 +1228,7 @@ static int wm9081_set_tdm_slot(struct snd_soc_dai *dai,
1227 1228
1228 aif1 |= (slots - 1) << WM9081_AIFDAC_TDM_MODE_SHIFT; 1229 aif1 |= (slots - 1) << WM9081_AIFDAC_TDM_MODE_SHIFT;
1229 1230
1230 switch (mask) { 1231 switch (rx_mask) {
1231 case 1: 1232 case 1:
1232 break; 1233 break;
1233 case 2: 1234 case 2: