diff options
| -rw-r--r-- | drivers/spi/spi-dw-mid.c | 8 | ||||
| -rw-r--r-- | drivers/spi/spi-ep93xx.c | 9 | ||||
| -rw-r--r-- | drivers/spi/spi-pl022.c | 8 | ||||
| -rw-r--r-- | drivers/spi/spi-topcliff-pch.c | 4 | ||||
| -rw-r--r-- | drivers/tty/serial/amba-pl011.c | 8 | ||||
| -rw-r--r-- | drivers/tty/serial/pch_uart.c | 4 | ||||
| -rw-r--r-- | drivers/tty/serial/sh-sci.c | 4 | 
7 files changed, 24 insertions, 21 deletions
diff --git a/drivers/spi/spi-dw-mid.c b/drivers/spi/spi-dw-mid.c index 130e55537db..0a1fc8a27e3 100644 --- a/drivers/spi/spi-dw-mid.c +++ b/drivers/spi/spi-dw-mid.c @@ -131,7 +131,7 @@ static int mid_spi_dma_transfer(struct dw_spi *dws, int cs_change)  	rxchan = dws->rxchan;  	/* 2. Prepare the TX dma transfer */ -	txconf.direction = DMA_TO_DEVICE; +	txconf.direction = DMA_MEM_TO_DEV;  	txconf.dst_addr = dws->dma_addr;  	txconf.dst_maxburst = LNW_DMA_MSIZE_16;  	txconf.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; @@ -147,13 +147,13 @@ static int mid_spi_dma_transfer(struct dw_spi *dws, int cs_change)  	txdesc = txchan->device->device_prep_slave_sg(txchan,  				&dws->tx_sgl,  				1, -				DMA_TO_DEVICE, +				DMA_MEM_TO_DEV,  				DMA_PREP_INTERRUPT | DMA_COMPL_SKIP_DEST_UNMAP);  	txdesc->callback = dw_spi_dma_done;  	txdesc->callback_param = dws;  	/* 3. Prepare the RX dma transfer */ -	rxconf.direction = DMA_FROM_DEVICE; +	rxconf.direction = DMA_DEV_TO_MEM;  	rxconf.src_addr = dws->dma_addr;  	rxconf.src_maxburst = LNW_DMA_MSIZE_16;  	rxconf.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; @@ -169,7 +169,7 @@ static int mid_spi_dma_transfer(struct dw_spi *dws, int cs_change)  	rxdesc = rxchan->device->device_prep_slave_sg(rxchan,  				&dws->rx_sgl,  				1, -				DMA_FROM_DEVICE, +				DMA_DEV_TO_MEM,  				DMA_PREP_INTERRUPT | DMA_COMPL_SKIP_DEST_UNMAP);  	rxdesc->callback = dw_spi_dma_done;  	rxdesc->callback_param = dws; diff --git a/drivers/spi/spi-ep93xx.c b/drivers/spi/spi-ep93xx.c index 1cf645479bf..0afd87dd945 100644 --- a/drivers/spi/spi-ep93xx.c +++ b/drivers/spi/spi-ep93xx.c @@ -550,6 +550,7 @@ ep93xx_spi_dma_prepare(struct ep93xx_spi *espi, enum dma_data_direction dir)  	struct dma_async_tx_descriptor *txd;  	enum dma_slave_buswidth buswidth;  	struct dma_slave_config conf; +	enum dma_transfer_direction slave_dirn;  	struct scatterlist *sg;  	struct sg_table *sgt;  	struct dma_chan *chan; @@ -572,6 +573,7 @@ ep93xx_spi_dma_prepare(struct ep93xx_spi *espi, enum dma_data_direction dir)  		conf.src_addr = espi->sspdr_phys;  		conf.src_addr_width = buswidth; +		slave_dirn = DMA_DEV_TO_MEM;  	} else {  		chan = espi->dma_tx;  		buf = t->tx_buf; @@ -579,6 +581,7 @@ ep93xx_spi_dma_prepare(struct ep93xx_spi *espi, enum dma_data_direction dir)  		conf.dst_addr = espi->sspdr_phys;  		conf.dst_addr_width = buswidth; +		slave_dirn = DMA_MEM_TO_DEV;  	}  	ret = dmaengine_slave_config(chan, &conf); @@ -630,7 +633,7 @@ ep93xx_spi_dma_prepare(struct ep93xx_spi *espi, enum dma_data_direction dir)  		return ERR_PTR(-ENOMEM);  	txd = chan->device->device_prep_slave_sg(chan, sgt->sgl, nents, -						 dir, DMA_CTRL_ACK); +						 slave_dirn, DMA_CTRL_ACK);  	if (!txd) {  		dma_unmap_sg(chan->device->dev, sgt->sgl, sgt->nents, dir);  		return ERR_PTR(-ENOMEM); @@ -978,7 +981,7 @@ static int ep93xx_spi_setup_dma(struct ep93xx_spi *espi)  	dma_cap_set(DMA_SLAVE, mask);  	espi->dma_rx_data.port = EP93XX_DMA_SSP; -	espi->dma_rx_data.direction = DMA_FROM_DEVICE; +	espi->dma_rx_data.direction = DMA_DEV_TO_MEM;  	espi->dma_rx_data.name = "ep93xx-spi-rx";  	espi->dma_rx = dma_request_channel(mask, ep93xx_spi_dma_filter, @@ -989,7 +992,7 @@ static int ep93xx_spi_setup_dma(struct ep93xx_spi *espi)  	}  	espi->dma_tx_data.port = EP93XX_DMA_SSP; -	espi->dma_tx_data.direction = DMA_TO_DEVICE; +	espi->dma_tx_data.direction = DMA_MEM_TO_DEV;  	espi->dma_tx_data.name = "ep93xx-spi-tx";  	espi->dma_tx = dma_request_channel(mask, ep93xx_spi_dma_filter, diff --git a/drivers/spi/spi-pl022.c b/drivers/spi/spi-pl022.c index 730b4a37b82..ddcddf4b124 100644 --- a/drivers/spi/spi-pl022.c +++ b/drivers/spi/spi-pl022.c @@ -910,11 +910,11 @@ static int configure_dma(struct pl022 *pl022)  {  	struct dma_slave_config rx_conf = {  		.src_addr = SSP_DR(pl022->phybase), -		.direction = DMA_FROM_DEVICE, +		.direction = DMA_DEV_TO_MEM,  	};  	struct dma_slave_config tx_conf = {  		.dst_addr = SSP_DR(pl022->phybase), -		.direction = DMA_TO_DEVICE, +		.direction = DMA_MEM_TO_DEV,  	};  	unsigned int pages;  	int ret; @@ -1051,7 +1051,7 @@ static int configure_dma(struct pl022 *pl022)  	rxdesc = rxchan->device->device_prep_slave_sg(rxchan,  				      pl022->sgt_rx.sgl,  				      rx_sglen, -				      DMA_FROM_DEVICE, +				      DMA_DEV_TO_MEM,  				      DMA_PREP_INTERRUPT | DMA_CTRL_ACK);  	if (!rxdesc)  		goto err_rxdesc; @@ -1059,7 +1059,7 @@ static int configure_dma(struct pl022 *pl022)  	txdesc = txchan->device->device_prep_slave_sg(txchan,  				      pl022->sgt_tx.sgl,  				      tx_sglen, -				      DMA_TO_DEVICE, +				      DMA_MEM_TO_DEV,  				      DMA_PREP_INTERRUPT | DMA_CTRL_ACK);  	if (!txdesc)  		goto err_txdesc; diff --git a/drivers/spi/spi-topcliff-pch.c b/drivers/spi/spi-topcliff-pch.c index 1d23f383186..7eba26e20ae 100644 --- a/drivers/spi/spi-topcliff-pch.c +++ b/drivers/spi/spi-topcliff-pch.c @@ -1051,7 +1051,7 @@ static void pch_spi_handle_dma(struct pch_spi_data *data, int *bpw)  	}  	sg = dma->sg_rx_p;  	desc_rx = dma->chan_rx->device->device_prep_slave_sg(dma->chan_rx, sg, -					num, DMA_FROM_DEVICE, +					num, DMA_DEV_TO_MEM,  					DMA_PREP_INTERRUPT | DMA_CTRL_ACK);  	if (!desc_rx) {  		dev_err(&data->master->dev, "%s:device_prep_slave_sg Failed\n", @@ -1086,7 +1086,7 @@ static void pch_spi_handle_dma(struct pch_spi_data *data, int *bpw)  	}  	sg = dma->sg_tx_p;  	desc_tx = dma->chan_tx->device->device_prep_slave_sg(dma->chan_tx, -					sg, num, DMA_TO_DEVICE, +					sg, num, DMA_MEM_TO_DEV,  					DMA_PREP_INTERRUPT | DMA_CTRL_ACK);  	if (!desc_tx) {  		dev_err(&data->master->dev, "%s:device_prep_slave_sg Failed\n", diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c index f5f6831b0a6..460ff7dbfd6 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c @@ -268,7 +268,7 @@ static void pl011_dma_probe_initcall(struct uart_amba_port *uap)  	struct dma_slave_config tx_conf = {  		.dst_addr = uap->port.mapbase + UART01x_DR,  		.dst_addr_width = DMA_SLAVE_BUSWIDTH_1_BYTE, -		.direction = DMA_TO_DEVICE, +		.direction = DMA_MEM_TO_DEV,  		.dst_maxburst = uap->fifosize >> 1,  	};  	struct dma_chan *chan; @@ -301,7 +301,7 @@ static void pl011_dma_probe_initcall(struct uart_amba_port *uap)  		struct dma_slave_config rx_conf = {  			.src_addr = uap->port.mapbase + UART01x_DR,  			.src_addr_width = DMA_SLAVE_BUSWIDTH_1_BYTE, -			.direction = DMA_FROM_DEVICE, +			.direction = DMA_DEV_TO_MEM,  			.src_maxburst = uap->fifosize >> 1,  		}; @@ -480,7 +480,7 @@ static int pl011_dma_tx_refill(struct uart_amba_port *uap)  		return -EBUSY;  	} -	desc = dma_dev->device_prep_slave_sg(chan, &dmatx->sg, 1, DMA_TO_DEVICE, +	desc = dma_dev->device_prep_slave_sg(chan, &dmatx->sg, 1, DMA_MEM_TO_DEV,  					     DMA_PREP_INTERRUPT | DMA_CTRL_ACK);  	if (!desc) {  		dma_unmap_sg(dma_dev->dev, &dmatx->sg, 1, DMA_TO_DEVICE); @@ -676,7 +676,7 @@ static int pl011_dma_rx_trigger_dma(struct uart_amba_port *uap)  		&uap->dmarx.sgbuf_b : &uap->dmarx.sgbuf_a;  	dma_dev = rxchan->device;  	desc = rxchan->device->device_prep_slave_sg(rxchan, &sgbuf->sg, 1, -					DMA_FROM_DEVICE, +					DMA_DEV_TO_MEM,  					DMA_PREP_INTERRUPT | DMA_CTRL_ACK);  	/*  	 * If the DMA engine is busy and cannot prepare a diff --git a/drivers/tty/serial/pch_uart.c b/drivers/tty/serial/pch_uart.c index b46218d679e..73201a11697 100644 --- a/drivers/tty/serial/pch_uart.c +++ b/drivers/tty/serial/pch_uart.c @@ -747,7 +747,7 @@ static int dma_handle_rx(struct eg20t_port *priv)  	sg_dma_address(sg) = priv->rx_buf_dma;  	desc = priv->chan_rx->device->device_prep_slave_sg(priv->chan_rx, -			sg, 1, DMA_FROM_DEVICE, +			sg, 1, DMA_DEV_TO_MEM,  			DMA_PREP_INTERRUPT | DMA_CTRL_ACK);  	if (!desc) @@ -906,7 +906,7 @@ static unsigned int dma_handle_tx(struct eg20t_port *priv)  	}  	desc = priv->chan_tx->device->device_prep_slave_sg(priv->chan_tx, -					priv->sg_tx_p, nent, DMA_TO_DEVICE, +					priv->sg_tx_p, nent, DMA_MEM_TO_DEV,  					DMA_PREP_INTERRUPT | DMA_CTRL_ACK);  	if (!desc) {  		dev_err(priv->port.dev, "%s:device_prep_slave_sg Failed\n", diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c index dbd32a1286d..3683a69b45e 100644 --- a/drivers/tty/serial/sh-sci.c +++ b/drivers/tty/serial/sh-sci.c @@ -1207,7 +1207,7 @@ static void sci_submit_rx(struct sci_port *s)  		struct dma_async_tx_descriptor *desc;  		desc = chan->device->device_prep_slave_sg(chan, -			sg, 1, DMA_FROM_DEVICE, DMA_PREP_INTERRUPT); +			sg, 1, DMA_DEV_TO_MEM, DMA_PREP_INTERRUPT);  		if (desc) {  			s->desc_rx[i] = desc; @@ -1322,7 +1322,7 @@ static void work_fn_tx(struct work_struct *work)  	BUG_ON(!sg_dma_len(sg));  	desc = chan->device->device_prep_slave_sg(chan, -			sg, s->sg_len_tx, DMA_TO_DEVICE, +			sg, s->sg_len_tx, DMA_MEM_TO_DEV,  			DMA_PREP_INTERRUPT | DMA_CTRL_ACK);  	if (!desc) {  		/* switch to PIO */  |