ASoC: rockchip: multi_dais_pcm: refine dma slave config

This patch refine dma slave config only when interlace size is valid.

Change-Id: If02cec29083d5f582ccd0efcd78e7a6547d2df66
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
This commit is contained in:
Sugar Zhang
2018-06-21 20:07:42 +08:00
committed by Tao Huang
parent 8be761ecda
commit 08725d4ae9

View File

@@ -271,14 +271,16 @@ static int dmaengine_mpcm_hw_params(struct snd_pcm_substream *substream,
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
chan = pcm->tx_chans[i];
if (sz) {
slave_config.dst_maxburst = sz / slave_config.dst_addr_width;
slave_config.src_interlace_size = frame_bytes - sz;
if (slave_config.src_interlace_size)
slave_config.dst_maxburst = sz / slave_config.dst_addr_width;
}
} else {
chan = pcm->rx_chans[i];
if (sz) {
slave_config.src_maxburst = sz / slave_config.src_addr_width;
slave_config.dst_interlace_size = frame_bytes - sz;
if (slave_config.dst_interlace_size)
slave_config.src_maxburst = sz / slave_config.src_addr_width;
}
}
if (!chan)