summaryrefslogtreecommitdiffstats
path: root/sound/soc/ux500
diff options
context:
space:
mode:
authorFabio Baltieri <fabio.baltieri@linaro.org>2013-06-12 09:57:58 +0200
committerMark Brown <broonie@linaro.org>2013-06-12 17:02:48 +0100
commit20413113ffdd8c56b2a985ca8195d9c91e9c602b (patch)
treefc43594d7486bb79e42042ab6a5bab8820bb4f2a /sound/soc/ux500
parentf3fe53dd975306903be3616c87865a87a52fb20e (diff)
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>
Diffstat (limited to 'sound/soc/ux500')
-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 14a4a5bb60f..1ca8b08ae99 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 879617147fc..258d0bcee0b 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;
};