diff options
author | Daniel Mack <zonque@gmail.com> | 2013-03-08 17:19:38 +0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-03-12 23:03:53 +0400 |
commit | ecf327c7ca5ddcbe611a33c88c19b8be3d0d2322 (patch) | |
tree | 240eceb0155b30cc5335bac3ebeddb7ebf5cd0c7 /sound/soc/davinci | |
parent | 2952b27e2e463b28d5c0f04000f96b968137ca42 (diff) | |
download | linux-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.c | 34 |
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; |