Skip to content

Commit

Permalink
ASoC: davinci-mcasp: clean up davinci_hw_common_param()
Browse files Browse the repository at this point in the history
As pointed of by Vaibhav, commit 2952b27 ("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>
  • Loading branch information
Daniel Mack authored and Mark Brown committed Mar 12, 2013
1 parent 2952b27 commit ecf327c
Showing 1 changed file with 11 additions and 23 deletions.
34 changes: 11 additions & 23 deletions sound/soc/davinci/davinci-mcasp.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -686,27 +684,6 @@ static int davinci_hw_common_param(struct davinci_audio_dev *dev, int stream,
RXDATADMADIS);
}

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]);
Expand All @@ -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;
Expand Down

0 comments on commit ecf327c

Please sign in to comment.