summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabio Baltieri <fabio.baltieri@linaro.org>2013-06-12 11:57:58 +0400
committerMark Brown <broonie@linaro.org>2013-06-12 20:02:48 +0400
commit20413113ffdd8c56b2a985ca8195d9c91e9c602b (patch)
treefc43594d7486bb79e42042ab6a5bab8820bb4f2a
parentf3fe53dd975306903be3616c87865a87a52fb20e (diff)
downloadlinux-20413113ffdd8c56b2a985ca8195d9c91e9c602b.tar.xz
ASoC: ux500: Set DMA address during device init
Add a field with the tx/rx register address to the DMA parameters structure, and set it to the correct address during device initialization. This address used to be hardcoded in the DMA controller driver, it now needs to be explicitly figured out by the device driver. Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
-rw-r--r--sound/soc/ux500/ux500_msp_i2s.c3
-rw-r--r--sound/soc/ux500/ux500_msp_i2s.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/ux500/ux500_msp_i2s.c b/sound/soc/ux500/ux500_msp_i2s.c
index 14a4a5bb60fc..1ca8b08ae993 100644
--- a/sound/soc/ux500/ux500_msp_i2s.c
+++ b/sound/soc/ux500/ux500_msp_i2s.c
@@ -685,6 +685,9 @@ int ux500_msp_i2s_init_msp(struct platform_device *pdev,
return -ENOMEM;
}
+ msp->playback_dma_data.tx_rx_addr = res->start + MSP_DR;
+ msp->capture_dma_data.tx_rx_addr = res->start + MSP_DR;
+
msp->registers = devm_ioremap(&pdev->dev, res->start,
resource_size(res));
if (msp->registers == NULL) {
diff --git a/sound/soc/ux500/ux500_msp_i2s.h b/sound/soc/ux500/ux500_msp_i2s.h
index 879617147fc8..258d0bcee0bd 100644
--- a/sound/soc/ux500/ux500_msp_i2s.h
+++ b/sound/soc/ux500/ux500_msp_i2s.h
@@ -470,6 +470,7 @@ struct ux500_msp_config {
struct ux500_msp_dma_params {
unsigned int data_size;
+ dma_addr_t tx_rx_addr;
struct stedma40_chan_cfg *dma_cfg;
};