diff options
author | Daniel Mack | 2013-03-08 07:19:38 -0600 |
---|---|---|
committer | Misael Lopez Cruz | 2013-06-21 16:56:08 -0500 |
commit | 02d1fc1c2d4ab81f7fe5504277c6c4406152591f (patch) | |
tree | 140219b750d333e1cb6aecb00b96e2fbfc83ed2f /sound | |
parent | 2cf30929b785b443a4e272d044071abe106613d9 (diff) | |
download | kernel-audio-02d1fc1c2d4ab81f7fe5504277c6c4406152591f.tar.gz kernel-audio-02d1fc1c2d4ab81f7fe5504277c6c4406152591f.tar.xz kernel-audio-02d1fc1c2d4ab81f7fe5504277c6c4406152591f.zip |
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')
-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 @@ | |||
237 | #define RXSTATE BIT(5) | 237 | #define RXSTATE BIT(5) |
238 | #define SRMOD_MASK 3 | 238 | #define SRMOD_MASK 3 |
239 | #define SRMOD_INACTIVE 0 | 239 | #define SRMOD_INACTIVE 0 |
240 | #define SRMOD_TX 1 | ||
241 | #define SRMOD_RX 2 | ||
242 | 240 | ||
243 | /* | 241 | /* |
244 | * DAVINCI_MCASP_LBCTL_REG - Loop Back Control Register Bits | 242 | * 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, | |||
687 | } | 685 | } |
688 | 686 | ||
689 | for (i = 0; i < dev->num_serializer; i++) { | 687 | for (i = 0; i < dev->num_serializer; i++) { |
690 | if (dev->serial_dir[i] == TX_MODE) | ||
691 | tx_ser++; | ||
692 | if (dev->serial_dir[i] == RX_MODE) | ||
693 | rx_ser++; | ||
694 | } | ||
695 | |||
696 | if (stream == SNDRV_PCM_STREAM_PLAYBACK) | ||
697 | ser = tx_ser; | ||
698 | else | ||
699 | ser = rx_ser; | ||
700 | |||
701 | if (ser < max_active_serializers) { | ||
702 | dev_warn(dev->dev, "stream has more channels (%d) than are " | ||
703 | "enabled in mcasp (%d)\n", channels, ser * slots); | ||
704 | return -EINVAL; | ||
705 | } | ||
706 | |||
707 | tx_ser = 0; | ||
708 | rx_ser = 0; | ||
709 | |||
710 | for (i = 0; i < dev->num_serializer; i++) { | ||
711 | mcasp_set_bits(dev->base + DAVINCI_MCASP_XRSRCTL_REG(i), | 688 | mcasp_set_bits(dev->base + DAVINCI_MCASP_XRSRCTL_REG(i), |
712 | dev->serial_dir[i]); | 689 | dev->serial_dir[i]); |
713 | if (dev->serial_dir[i] == TX_MODE && | 690 | if (dev->serial_dir[i] == TX_MODE && |
@@ -726,6 +703,17 @@ static int davinci_hw_common_param(struct davinci_audio_dev *dev, int stream, | |||
726 | } | 703 | } |
727 | } | 704 | } |
728 | 705 | ||
706 | if (stream == SNDRV_PCM_STREAM_PLAYBACK) | ||
707 | ser = tx_ser; | ||
708 | else | ||
709 | ser = rx_ser; | ||
710 | |||
711 | if (ser < max_active_serializers) { | ||
712 | dev_warn(dev->dev, "stream has more channels (%d) than are " | ||
713 | "enabled in mcasp (%d)\n", channels, ser * slots); | ||
714 | return -EINVAL; | ||
715 | } | ||
716 | |||
729 | if (dev->txnumevt && stream == SNDRV_PCM_STREAM_PLAYBACK) { | 717 | if (dev->txnumevt && stream == SNDRV_PCM_STREAM_PLAYBACK) { |
730 | if (dev->txnumevt * tx_ser > 64) | 718 | if (dev->txnumevt * tx_ser > 64) |
731 | dev->txnumevt = 1; | 719 | dev->txnumevt = 1; |