ASoC: ux500: Set DMA address during device init
authorFabio Baltieri <fabio.baltieri@linaro.org>
Wed, 12 Jun 2013 07:57:58 +0000 (09:57 +0200)
committerMark Brown <broonie@linaro.org>
Wed, 12 Jun 2013 16:02:48 +0000 (17:02 +0100)
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>
sound/soc/ux500/ux500_msp_i2s.c
sound/soc/ux500/ux500_msp_i2s.h

index 14a4a5b..1ca8b08 100644 (file)
@@ -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) {
index 8796171..258d0bc 100644 (file)
@@ -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;
 };