The Slave Config's addr_width attribute is populated by data_width of
dma_cfg, which in turn is derived from dma_params' data_size attribute
and that comes from the slot_width which is always 16 bits (2 Bytes).
We're cutting out the middle man here and just setting the DMA Slave
Config directly.

Signed-off-by: Lee Jones <lee.jo...@linaro.org>
---
 sound/soc/ux500/ux500_pcm.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/sound/soc/ux500/ux500_pcm.c b/sound/soc/ux500/ux500_pcm.c
index ce554de..32d4572 100644
--- a/sound/soc/ux500/ux500_pcm.c
+++ b/sound/soc/ux500/ux500_pcm.c
@@ -109,20 +109,19 @@ static int ux500_pcm_prepare_slave_config(struct 
snd_pcm_substream *substream,
 {
        struct snd_soc_pcm_runtime *rtd = substream->private_data;
        struct ux500_msp_dma_params *dma_params;
-       struct stedma40_chan_cfg *dma_cfg;
        int ret;
 
        dma_params = snd_soc_dai_get_dma_data(rtd->cpu_dai, substream);
-       dma_cfg = dma_params->dma_cfg;
 
        ret = snd_hwparams_to_dma_slave_config(substream, params, slave_config);
        if (ret)
                return ret;
 
        slave_config->dst_maxburst = 4;
-       slave_config->dst_addr_width = dma_cfg->dst_info.data_width;
        slave_config->src_maxburst = 4;
-       slave_config->src_addr_width = dma_cfg->src_info.data_width;
+
+       slave_config->src_addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES;
+       slave_config->dst_addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES;
 
        if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
                slave_config->dst_addr = dma_params->tx_rx_addr;
-- 
1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to