Commit 258aea76 authored by Viresh Kumar's avatar Viresh Kumar Committed by Vinod Koul

dmaengine: Pass dma_slave_config .device_fc = NULL for all existing users

.device_fc is added in struct dma_slave_config recently. All user drivers, which
want DMA to be the flow controller must pass this field as false. As earlier
driver don't look to use this feature, mark it false for now.
Signed-off-by: default avatarViresh Kumar <viresh.kumar@st.com>
Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarVinod Koul <vinod.koul@linux.intel.com>
parent dcc043dc
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
#include <linux/dma-mapping.h> #include <linux/dma-mapping.h>
#include <linux/amba/mmci.h> #include <linux/amba/mmci.h>
#include <linux/pm_runtime.h> #include <linux/pm_runtime.h>
#include <linux/types.h>
#include <asm/div64.h> #include <asm/div64.h>
#include <asm/io.h> #include <asm/io.h>
...@@ -370,6 +371,7 @@ static int mmci_dma_prep_data(struct mmci_host *host, struct mmc_data *data, ...@@ -370,6 +371,7 @@ static int mmci_dma_prep_data(struct mmci_host *host, struct mmc_data *data,
.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES, .dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES,
.src_maxburst = variant->fifohalfsize >> 2, /* # of words */ .src_maxburst = variant->fifohalfsize >> 2, /* # of words */
.dst_maxburst = variant->fifohalfsize >> 2, /* # of words */ .dst_maxburst = variant->fifohalfsize >> 2, /* # of words */
.device_fc = false,
}; };
struct dma_chan *chan; struct dma_chan *chan;
struct dma_device *device; struct dma_device *device;
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include <linux/gpio.h> #include <linux/gpio.h>
#include <linux/regulator/consumer.h> #include <linux/regulator/consumer.h>
#include <linux/dmaengine.h> #include <linux/dmaengine.h>
#include <linux/types.h>
#include <asm/dma.h> #include <asm/dma.h>
#include <asm/irq.h> #include <asm/irq.h>
...@@ -711,6 +712,7 @@ static int mxcmci_setup_dma(struct mmc_host *mmc) ...@@ -711,6 +712,7 @@ static int mxcmci_setup_dma(struct mmc_host *mmc)
config->src_addr_width = 4; config->src_addr_width = 4;
config->dst_maxburst = host->burstlen; config->dst_maxburst = host->burstlen;
config->src_maxburst = host->burstlen; config->src_maxburst = host->burstlen;
config->device_fc = false;
return dmaengine_slave_config(host->dma, config); return dmaengine_slave_config(host->dma, config);
} }
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/spi/spi.h> #include <linux/spi/spi.h>
#include <linux/types.h>
#include "spi-dw.h" #include "spi-dw.h"
...@@ -136,6 +137,7 @@ static int mid_spi_dma_transfer(struct dw_spi *dws, int cs_change) ...@@ -136,6 +137,7 @@ static int mid_spi_dma_transfer(struct dw_spi *dws, int cs_change)
txconf.dst_maxburst = LNW_DMA_MSIZE_16; txconf.dst_maxburst = LNW_DMA_MSIZE_16;
txconf.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; txconf.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
txconf.dst_addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES; txconf.dst_addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES;
txconf.device_fc = false;
txchan->device->device_control(txchan, DMA_SLAVE_CONFIG, txchan->device->device_control(txchan, DMA_SLAVE_CONFIG,
(unsigned long) &txconf); (unsigned long) &txconf);
...@@ -158,6 +160,7 @@ static int mid_spi_dma_transfer(struct dw_spi *dws, int cs_change) ...@@ -158,6 +160,7 @@ static int mid_spi_dma_transfer(struct dw_spi *dws, int cs_change)
rxconf.src_maxburst = LNW_DMA_MSIZE_16; rxconf.src_maxburst = LNW_DMA_MSIZE_16;
rxconf.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; rxconf.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
rxconf.src_addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES; rxconf.src_addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES;
rxconf.device_fc = false;
rxchan->device->device_control(rxchan, DMA_SLAVE_CONFIG, rxchan->device->device_control(rxchan, DMA_SLAVE_CONFIG,
(unsigned long) &rxconf); (unsigned long) &rxconf);
......
...@@ -901,10 +901,12 @@ static int configure_dma(struct pl022 *pl022) ...@@ -901,10 +901,12 @@ static int configure_dma(struct pl022 *pl022)
struct dma_slave_config rx_conf = { struct dma_slave_config rx_conf = {
.src_addr = SSP_DR(pl022->phybase), .src_addr = SSP_DR(pl022->phybase),
.direction = DMA_DEV_TO_MEM, .direction = DMA_DEV_TO_MEM,
.device_fc = false,
}; };
struct dma_slave_config tx_conf = { struct dma_slave_config tx_conf = {
.dst_addr = SSP_DR(pl022->phybase), .dst_addr = SSP_DR(pl022->phybase),
.direction = DMA_MEM_TO_DEV, .direction = DMA_MEM_TO_DEV,
.device_fc = false,
}; };
unsigned int pages; unsigned int pages;
int ret; int ret;
......
...@@ -51,6 +51,7 @@ ...@@ -51,6 +51,7 @@
#include <linux/dma-mapping.h> #include <linux/dma-mapping.h>
#include <linux/scatterlist.h> #include <linux/scatterlist.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/types.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/sizes.h> #include <asm/sizes.h>
...@@ -270,6 +271,7 @@ static void pl011_dma_probe_initcall(struct uart_amba_port *uap) ...@@ -270,6 +271,7 @@ static void pl011_dma_probe_initcall(struct uart_amba_port *uap)
.dst_addr_width = DMA_SLAVE_BUSWIDTH_1_BYTE, .dst_addr_width = DMA_SLAVE_BUSWIDTH_1_BYTE,
.direction = DMA_MEM_TO_DEV, .direction = DMA_MEM_TO_DEV,
.dst_maxburst = uap->fifosize >> 1, .dst_maxburst = uap->fifosize >> 1,
.device_fc = false,
}; };
struct dma_chan *chan; struct dma_chan *chan;
dma_cap_mask_t mask; dma_cap_mask_t mask;
...@@ -303,6 +305,7 @@ static void pl011_dma_probe_initcall(struct uart_amba_port *uap) ...@@ -303,6 +305,7 @@ static void pl011_dma_probe_initcall(struct uart_amba_port *uap)
.src_addr_width = DMA_SLAVE_BUSWIDTH_1_BYTE, .src_addr_width = DMA_SLAVE_BUSWIDTH_1_BYTE,
.direction = DMA_DEV_TO_MEM, .direction = DMA_DEV_TO_MEM,
.src_maxburst = uap->fifosize >> 1, .src_maxburst = uap->fifosize >> 1,
.device_fc = false,
}; };
chan = dma_request_channel(mask, plat->dma_filter, plat->dma_rx_param); chan = dma_request_channel(mask, plat->dma_filter, plat->dma_rx_param);
......
...@@ -115,6 +115,7 @@ static bool ux500_configure_channel(struct dma_channel *channel, ...@@ -115,6 +115,7 @@ static bool ux500_configure_channel(struct dma_channel *channel,
slave_conf.dst_addr = usb_fifo_addr; slave_conf.dst_addr = usb_fifo_addr;
slave_conf.dst_addr_width = addr_width; slave_conf.dst_addr_width = addr_width;
slave_conf.dst_maxburst = 16; slave_conf.dst_maxburst = 16;
slave_conf.device_fc = false;
dma_chan->device->device_control(dma_chan, DMA_SLAVE_CONFIG, dma_chan->device->device_control(dma_chan, DMA_SLAVE_CONFIG,
(unsigned long) &slave_conf); (unsigned long) &slave_conf);
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/dmaengine.h> #include <linux/dmaengine.h>
#include <linux/types.h>
#include <sound/core.h> #include <sound/core.h>
#include <sound/initval.h> #include <sound/initval.h>
...@@ -108,6 +109,8 @@ static int imx_ssi_dma_alloc(struct snd_pcm_substream *substream, ...@@ -108,6 +109,8 @@ static int imx_ssi_dma_alloc(struct snd_pcm_substream *substream,
return 0; return 0;
} }
slave_config.device_fc = false;
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
slave_config.direction = DMA_MEM_TO_DEV; slave_config.direction = DMA_MEM_TO_DEV;
slave_config.dst_addr = dma_params->dma_addr; slave_config.dst_addr = dma_params->dma_addr;
......
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