Commit a7e46bd9 authored by Peter Ujfalusi's avatar Peter Ujfalusi Committed by Mark Brown

ASoC: davinci-mcasp: Code cleanup in davinci_mcasp_hw_params()

Rearrange the code in the function for readability.
Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: default avatarMark Brown <broonie@linaro.org>
parent 135014ad
...@@ -611,10 +611,8 @@ static int davinci_mcasp_hw_params(struct snd_pcm_substream *substream, ...@@ -611,10 +611,8 @@ static int davinci_mcasp_hw_params(struct snd_pcm_substream *substream,
u8 fifo_level; u8 fifo_level;
u8 slots = mcasp->tdm_slots; u8 slots = mcasp->tdm_slots;
u8 active_serializers; u8 active_serializers;
int channels; int channels = params_channels(params);
int ret; int ret;
struct snd_interval *pcm_channels = hw_param_interval(params,
SNDRV_PCM_HW_PARAM_CHANNELS);
/* If mcasp is BCLK master we need to set BCLK divider */ /* If mcasp is BCLK master we need to set BCLK divider */
if (mcasp->bclk_master) { if (mcasp->bclk_master) {
...@@ -627,19 +625,10 @@ static int davinci_mcasp_hw_params(struct snd_pcm_substream *substream, ...@@ -627,19 +625,10 @@ static int davinci_mcasp_hw_params(struct snd_pcm_substream *substream,
cpu_dai, 1, mcasp->sysclk_freq / bclk_freq); cpu_dai, 1, mcasp->sysclk_freq / bclk_freq);
} }
channels = pcm_channels->min;
active_serializers = (channels + slots - 1) / slots;
ret = mcasp_common_hw_param(mcasp, substream->stream, channels); ret = mcasp_common_hw_param(mcasp, substream->stream, channels);
if (ret) if (ret)
return ret; return ret;
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
fifo_level = mcasp->txnumevt * active_serializers;
else
fifo_level = mcasp->rxnumevt * active_serializers;
if (mcasp->op_mode == DAVINCI_MCASP_DIT_MODE) if (mcasp->op_mode == DAVINCI_MCASP_DIT_MODE)
ret = mcasp_dit_hw_param(mcasp); ret = mcasp_dit_hw_param(mcasp);
else else
...@@ -680,6 +669,13 @@ static int davinci_mcasp_hw_params(struct snd_pcm_substream *substream, ...@@ -680,6 +669,13 @@ static int davinci_mcasp_hw_params(struct snd_pcm_substream *substream,
return -EINVAL; return -EINVAL;
} }
/* Calculate FIFO level */
active_serializers = (channels + slots - 1) / slots;
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
fifo_level = mcasp->txnumevt * active_serializers;
else
fifo_level = mcasp->rxnumevt * active_serializers;
if (mcasp->version == MCASP_VERSION_2 && !fifo_level) if (mcasp->version == MCASP_VERSION_2 && !fifo_level)
dma_params->acnt = 4; dma_params->acnt = 4;
else else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment