summaryrefslogtreecommitdiff
path: root/sound/soc/davinci
diff options
context:
space:
mode:
authorDaniel Mack <zonque@gmail.com>2013-03-08 17:19:38 +0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2013-03-12 23:03:53 +0400
commitecf327c7ca5ddcbe611a33c88c19b8be3d0d2322 (patch)
tree240eceb0155b30cc5335bac3ebeddb7ebf5cd0c7 /sound/soc/davinci
parent2952b27e2e463b28d5c0f04000f96b968137ca42 (diff)
downloadlinux-ecf327c7ca5ddcbe611a33c88c19b8be3d0d2322.tar.xz
ASoC: davinci-mcasp: clean up davinci_hw_common_param()
As pointed of by Vaibhav, commit 2952b27e2 ("ASoC: davinci-mcasp: Add support for multichannel playback") duplicated the logic of counting the active serializers. That can be avoided by shifting the code around a bit. Also, drop two unused defines introduced by the same commit. Signed-off-by: Daniel Mack <zonque@gmail.com> Acked-by: Vaibhav Bedia <vaibhav.bedia@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/davinci')
-rw-r--r--sound/soc/davinci/davinci-mcasp.c34
1 files changed, 11 insertions, 23 deletions
diff --git a/sound/soc/davinci/davinci-mcasp.c b/sound/soc/davinci/davinci-mcasp.c
index 5cd85a879579..46c9705cec09 100644
--- a/sound/soc/davinci/davinci-mcasp.c
+++ b/sound/soc/davinci/davinci-mcasp.c
@@ -237,8 +237,6 @@
#define RXSTATE BIT(5)
#define SRMOD_MASK 3
#define SRMOD_INACTIVE 0
-#define SRMOD_TX 1
-#define SRMOD_RX 2
/*
* DAVINCI_MCASP_LBCTL_REG - Loop Back Control Register Bits
@@ -687,27 +685,6 @@ static int davinci_hw_common_param(struct davinci_audio_dev *dev, int stream,
}
for (i = 0; i < dev->num_serializer; i++) {
- if (dev->serial_dir[i] == TX_MODE)
- tx_ser++;
- if (dev->serial_dir[i] == RX_MODE)
- rx_ser++;
- }
-
- if (stream == SNDRV_PCM_STREAM_PLAYBACK)
- ser = tx_ser;
- else
- ser = rx_ser;
-
- if (ser < max_active_serializers) {
- dev_warn(dev->dev, "stream has more channels (%d) than are "
- "enabled in mcasp (%d)\n", channels, ser * slots);
- return -EINVAL;
- }
-
- tx_ser = 0;
- rx_ser = 0;
-
- for (i = 0; i < dev->num_serializer; i++) {
mcasp_set_bits(dev->base + DAVINCI_MCASP_XRSRCTL_REG(i),
dev->serial_dir[i]);
if (dev->serial_dir[i] == TX_MODE &&
@@ -726,6 +703,17 @@ static int davinci_hw_common_param(struct davinci_audio_dev *dev, int stream,
}
}
+ if (stream == SNDRV_PCM_STREAM_PLAYBACK)
+ ser = tx_ser;
+ else
+ ser = rx_ser;
+
+ if (ser < max_active_serializers) {
+ dev_warn(dev->dev, "stream has more channels (%d) than are "
+ "enabled in mcasp (%d)\n", channels, ser * slots);
+ return -EINVAL;
+ }
+
if (dev->txnumevt && stream == SNDRV_PCM_STREAM_PLAYBACK) {
if (dev->txnumevt * tx_ser > 64)
dev->txnumevt = 1;