提交 054ebcc4 编写于 作者: K Kyoungil Kim 提交者: Grant Likely

spi: Compatibility with direction which is used in samsung DMA operation

I found that there are two kind of direction type.
First one is dma_data_direction defined in include/linux/dma-direction.h.
It is used for parameter of dma_map/unmap_single in spi-s3c64xx.
The other one is dma_transter_direction defined in include/linux/dmaengine.h.
It is used for direction of samsung DMA operation
(arch/arm/plat-samsung/dma-ops.c).
This patch is just some changes to use direction defines
which is used in samsung DMA operation.
Signed-off-by: NBoojin Kim <boojin.kim@samsung.com>
Signed-off-by: NKyoungil Kim <ki0351.kim@samsung.com>
Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
上级 0f57e168
...@@ -236,7 +236,7 @@ static void s3c64xx_spi_dmacb(void *data) ...@@ -236,7 +236,7 @@ static void s3c64xx_spi_dmacb(void *data)
struct s3c64xx_spi_dma_data *dma = data; struct s3c64xx_spi_dma_data *dma = data;
unsigned long flags; unsigned long flags;
if (dma->direction == DMA_FROM_DEVICE) if (dma->direction == DMA_DEV_TO_MEM)
sdd = container_of(data, sdd = container_of(data,
struct s3c64xx_spi_driver_data, rx_dma); struct s3c64xx_spi_driver_data, rx_dma);
else else
...@@ -245,7 +245,7 @@ static void s3c64xx_spi_dmacb(void *data) ...@@ -245,7 +245,7 @@ static void s3c64xx_spi_dmacb(void *data)
spin_lock_irqsave(&sdd->lock, flags); spin_lock_irqsave(&sdd->lock, flags);
if (dma->direction == DMA_FROM_DEVICE) { if (dma->direction == DMA_DEV_TO_MEM) {
sdd->state &= ~RXBUSY; sdd->state &= ~RXBUSY;
if (!(sdd->state & TXBUSY)) if (!(sdd->state & TXBUSY))
complete(&sdd->xfer_completion); complete(&sdd->xfer_completion);
...@@ -264,7 +264,7 @@ static void prepare_dma(struct s3c64xx_spi_dma_data *dma, ...@@ -264,7 +264,7 @@ static void prepare_dma(struct s3c64xx_spi_dma_data *dma,
struct s3c64xx_spi_driver_data *sdd; struct s3c64xx_spi_driver_data *sdd;
struct samsung_dma_prep_info info; struct samsung_dma_prep_info info;
if (dma->direction == DMA_FROM_DEVICE) if (dma->direction == DMA_DEV_TO_MEM) {
sdd = container_of((void *)dma, sdd = container_of((void *)dma,
struct s3c64xx_spi_driver_data, rx_dma); struct s3c64xx_spi_driver_data, rx_dma);
else else
...@@ -1012,9 +1012,9 @@ static int __init s3c64xx_spi_probe(struct platform_device *pdev) ...@@ -1012,9 +1012,9 @@ static int __init s3c64xx_spi_probe(struct platform_device *pdev)
sdd->pdev = pdev; sdd->pdev = pdev;
sdd->sfr_start = mem_res->start; sdd->sfr_start = mem_res->start;
sdd->tx_dma.dmach = dmatx_res->start; sdd->tx_dma.dmach = dmatx_res->start;
sdd->tx_dma.direction = DMA_TO_DEVICE; sdd->tx_dma.direction = DMA_MEM_TO_DEV;
sdd->rx_dma.dmach = dmarx_res->start; sdd->rx_dma.dmach = dmarx_res->start;
sdd->rx_dma.direction = DMA_FROM_DEVICE; sdd->rx_dma.direction = DMA_DEV_TO_MEM;
sdd->cur_bpw = 8; sdd->cur_bpw = 8;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册