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

ASoC: omap-mcbsp: Clean up dma_data addr initialization code

Make the omap_mcbsp_dma_reg_params() a bit more intuitive to read for the
first glance by using SNDRV_PCM_STREAM_PLAYBACK/CAPTURE and to group the
outermost if case by stream direction.

While there, fix the outdated comment for the function.
Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: default avatarJarkko Nikula <jarkko.nikula@bitmer.com>
Tested-by: default avatarJarkko Nikula <jarkko.nikula@bitmer.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 0246c661
...@@ -227,28 +227,27 @@ void omap_mcbsp_config(struct omap_mcbsp *mcbsp, ...@@ -227,28 +227,27 @@ void omap_mcbsp_config(struct omap_mcbsp *mcbsp,
/** /**
* omap_mcbsp_dma_reg_params - returns the address of mcbsp data register * omap_mcbsp_dma_reg_params - returns the address of mcbsp data register
* @id - mcbsp id * @mcbsp: omap_mcbsp struct for the McBSP instance
* @stream - indicates the direction of data flow (rx or tx) * @stream: Stream direction (playback/capture)
* *
* Returns the address of mcbsp data transmit register or data receive register * Returns the address of mcbsp data transmit register or data receive register
* to be used by DMA for transferring/receiving data based on the value of * to be used by DMA for transferring/receiving data
* @stream for the requested mcbsp given by @id
*/ */
static int omap_mcbsp_dma_reg_params(struct omap_mcbsp *mcbsp, static int omap_mcbsp_dma_reg_params(struct omap_mcbsp *mcbsp,
unsigned int stream) unsigned int stream)
{ {
int data_reg; int data_reg;
if (mcbsp->pdata->reg_size == 2) { if (stream == SNDRV_PCM_STREAM_PLAYBACK) {
if (stream) if (mcbsp->pdata->reg_size == 2)
data_reg = OMAP_MCBSP_REG_DRR1;
else
data_reg = OMAP_MCBSP_REG_DXR1; data_reg = OMAP_MCBSP_REG_DXR1;
} else {
if (stream)
data_reg = OMAP_MCBSP_REG_DRR;
else else
data_reg = OMAP_MCBSP_REG_DXR; data_reg = OMAP_MCBSP_REG_DXR;
} else {
if (mcbsp->pdata->reg_size == 2)
data_reg = OMAP_MCBSP_REG_DRR1;
else
data_reg = OMAP_MCBSP_REG_DRR;
} }
return mcbsp->phys_dma_base + data_reg * mcbsp->pdata->reg_step; return mcbsp->phys_dma_base + data_reg * mcbsp->pdata->reg_step;
...@@ -1034,10 +1033,12 @@ int omap_mcbsp_init(struct platform_device *pdev) ...@@ -1034,10 +1033,12 @@ int omap_mcbsp_init(struct platform_device *pdev)
mcbsp->dma_data[1].filter_data = "rx"; mcbsp->dma_data[1].filter_data = "rx";
} }
mcbsp->dma_data[0].addr = omap_mcbsp_dma_reg_params(mcbsp, 0); mcbsp->dma_data[0].addr = omap_mcbsp_dma_reg_params(mcbsp,
SNDRV_PCM_STREAM_PLAYBACK);
mcbsp->dma_data[0].maxburst = 4; mcbsp->dma_data[0].maxburst = 4;
mcbsp->dma_data[1].addr = omap_mcbsp_dma_reg_params(mcbsp, 1); mcbsp->dma_data[1].addr = omap_mcbsp_dma_reg_params(mcbsp,
SNDRV_PCM_STREAM_CAPTURE);
mcbsp->dma_data[1].maxburst = 4; mcbsp->dma_data[1].maxburst = 4;
mcbsp->fclk = clk_get(&pdev->dev, "fck"); mcbsp->fclk = clk_get(&pdev->dev, "fck");
......
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