* [PATCH] spi/spi-ep93xx.c: use dma_transfer_direction instead of dma_data_direction
@ 2012-04-18 1:46 H Hartley Sweeten
2012-04-19 6:10 ` Mika Westerberg
2012-04-27 17:11 ` Grant Likely
0 siblings, 2 replies; 7+ messages in thread
From: H Hartley Sweeten @ 2012-04-18 1:46 UTC (permalink / raw)
To: Linux Kernel; +Cc: spi-devel-general, grant.likely, vinod.koul
A new enum indicating the dma channel direction was introduced by:
commit 49920bc66984a512f4bcc7735a61642cd0e4d6f2
dmaengine: add new enum dma_transfer_direction
The following commit changed spi-ep93xx to use the new enum:
commit a485df4b4404379786c4bdd258bc528b2617449d
spi, serial: move to dma_transfer_direction
In doing so a sparse warning was introduced:
warning: mixing different enum types
int enum dma_data_direction versus
int enum dma_transfer_direction
This is produced because the 'dir' passed in ep93xx_spi_dma_prepare
is an enum dma_data_direction and is being used to set the
dma_slave_config 'direction' which is now an enum dma_transfer_direction.
Fix this by converting spi-ep93xx to use the new enum type in all
places.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Vinod Koul <vinod.koul@linux.intel.com>
---
diff --git a/drivers/spi/spi-ep93xx.c b/drivers/spi/spi-ep93xx.c
index 6db2887..e805507 100644
--- a/drivers/spi/spi-ep93xx.c
+++ b/drivers/spi/spi-ep93xx.c
@@ -545,13 +545,12 @@ static void ep93xx_spi_pio_transfer(struct ep93xx_spi *espi)
* in case of failure.
*/
static struct dma_async_tx_descriptor *
-ep93xx_spi_dma_prepare(struct ep93xx_spi *espi, enum dma_data_direction dir)
+ep93xx_spi_dma_prepare(struct ep93xx_spi *espi, enum dma_transfer_direction dir)
{
struct spi_transfer *t = espi->current_msg->state;
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;
@@ -567,14 +566,13 @@ ep93xx_spi_dma_prepare(struct ep93xx_spi *espi, enum dma_data_direction dir)
memset(&conf, 0, sizeof(conf));
conf.direction = dir;
- if (dir == DMA_FROM_DEVICE) {
+ if (dir == DMA_DEV_TO_MEM) {
chan = espi->dma_rx;
buf = t->rx_buf;
sgt = &espi->rx_sgt;
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;
@@ -582,7 +580,6 @@ 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);
@@ -633,8 +630,7 @@ ep93xx_spi_dma_prepare(struct ep93xx_spi *espi, enum dma_data_direction dir)
if (!nents)
return ERR_PTR(-ENOMEM);
- txd = dmaengine_prep_slave_sg(chan, sgt->sgl, nents,
- slave_dirn, DMA_CTRL_ACK);
+ txd = dmaengine_prep_slave_sg(chan, sgt->sgl, nents, dir, DMA_CTRL_ACK);
if (!txd) {
dma_unmap_sg(chan->device->dev, sgt->sgl, sgt->nents, dir);
return ERR_PTR(-ENOMEM);
@@ -651,12 +647,12 @@ ep93xx_spi_dma_prepare(struct ep93xx_spi *espi, enum dma_data_direction dir)
* unmapped.
*/
static void ep93xx_spi_dma_finish(struct ep93xx_spi *espi,
- enum dma_data_direction dir)
+ enum dma_transfer_direction dir)
{
struct dma_chan *chan;
struct sg_table *sgt;
- if (dir == DMA_FROM_DEVICE) {
+ if (dir == DMA_DEV_TO_MEM) {
chan = espi->dma_rx;
sgt = &espi->rx_sgt;
} else {
@@ -677,16 +673,16 @@ static void ep93xx_spi_dma_transfer(struct ep93xx_spi *espi)
struct spi_message *msg = espi->current_msg;
struct dma_async_tx_descriptor *rxd, *txd;
- rxd = ep93xx_spi_dma_prepare(espi, DMA_FROM_DEVICE);
+ rxd = ep93xx_spi_dma_prepare(espi, DMA_DEV_TO_MEM);
if (IS_ERR(rxd)) {
dev_err(&espi->pdev->dev, "DMA RX failed: %ld\n", PTR_ERR(rxd));
msg->status = PTR_ERR(rxd);
return;
}
- txd = ep93xx_spi_dma_prepare(espi, DMA_TO_DEVICE);
+ txd = ep93xx_spi_dma_prepare(espi, DMA_MEM_TO_DEV);
if (IS_ERR(txd)) {
- ep93xx_spi_dma_finish(espi, DMA_FROM_DEVICE);
+ ep93xx_spi_dma_finish(espi, DMA_DEV_TO_MEM);
dev_err(&espi->pdev->dev, "DMA TX failed: %ld\n", PTR_ERR(rxd));
msg->status = PTR_ERR(txd);
return;
@@ -705,8 +701,8 @@ static void ep93xx_spi_dma_transfer(struct ep93xx_spi *espi)
wait_for_completion(&espi->wait);
- ep93xx_spi_dma_finish(espi, DMA_TO_DEVICE);
- ep93xx_spi_dma_finish(espi, DMA_FROM_DEVICE);
+ ep93xx_spi_dma_finish(espi, DMA_MEM_TO_DEV);
+ ep93xx_spi_dma_finish(espi, DMA_DEV_TO_MEM);
}
/**
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] spi/spi-ep93xx.c: use dma_transfer_direction instead of dma_data_direction
@ 2012-04-19 6:10 ` Mika Westerberg
0 siblings, 0 replies; 7+ messages in thread
From: Mika Westerberg @ 2012-04-19 6:10 UTC (permalink / raw)
To: H Hartley Sweeten
Cc: Linux Kernel, spi-devel-general, grant.likely, vinod.koul
On Tue, Apr 17, 2012 at 06:46:36PM -0700, H Hartley Sweeten wrote:
> A new enum indicating the dma channel direction was introduced by:
>
> commit 49920bc66984a512f4bcc7735a61642cd0e4d6f2
> dmaengine: add new enum dma_transfer_direction
>
> The following commit changed spi-ep93xx to use the new enum:
>
> commit a485df4b4404379786c4bdd258bc528b2617449d
> spi, serial: move to dma_transfer_direction
>
> In doing so a sparse warning was introduced:
>
> warning: mixing different enum types
> int enum dma_data_direction versus
> int enum dma_transfer_direction
>
> This is produced because the 'dir' passed in ep93xx_spi_dma_prepare
> is an enum dma_data_direction and is being used to set the
> dma_slave_config 'direction' which is now an enum dma_transfer_direction.
>
> Fix this by converting spi-ep93xx to use the new enum type in all
> places.
>
> Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
> Cc: Grant Likely <grant.likely@secretlab.ca>
> Cc: Vinod Koul <vinod.koul@linux.intel.com>
Acked-by: Mika Westerberg <mika.westerberg@iki.fi>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] spi/spi-ep93xx.c: use dma_transfer_direction instead of dma_data_direction
@ 2012-04-19 6:10 ` Mika Westerberg
0 siblings, 0 replies; 7+ messages in thread
From: Mika Westerberg @ 2012-04-19 6:10 UTC (permalink / raw)
To: H Hartley Sweeten
Cc: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
vinod.koul-VuQAYsv1563Yd54FQh9/CA, Linux Kernel
On Tue, Apr 17, 2012 at 06:46:36PM -0700, H Hartley Sweeten wrote:
> A new enum indicating the dma channel direction was introduced by:
>
> commit 49920bc66984a512f4bcc7735a61642cd0e4d6f2
> dmaengine: add new enum dma_transfer_direction
>
> The following commit changed spi-ep93xx to use the new enum:
>
> commit a485df4b4404379786c4bdd258bc528b2617449d
> spi, serial: move to dma_transfer_direction
>
> In doing so a sparse warning was introduced:
>
> warning: mixing different enum types
> int enum dma_data_direction versus
> int enum dma_transfer_direction
>
> This is produced because the 'dir' passed in ep93xx_spi_dma_prepare
> is an enum dma_data_direction and is being used to set the
> dma_slave_config 'direction' which is now an enum dma_transfer_direction.
>
> Fix this by converting spi-ep93xx to use the new enum type in all
> places.
>
> Signed-off-by: H Hartley Sweeten <hsweeten-3FF4nKcrg1dE2c76skzGb0EOCMrvLtNR@public.gmane.org>
> Cc: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
> Cc: Vinod Koul <vinod.koul-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
Acked-by: Mika Westerberg <mika.westerberg-X3B1VOXEql0@public.gmane.org>
------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] spi/spi-ep93xx.c: use dma_transfer_direction instead of dma_data_direction
@ 2012-04-20 10:09 ` Vinod Koul
0 siblings, 0 replies; 7+ messages in thread
From: Vinod Koul @ 2012-04-20 10:09 UTC (permalink / raw)
To: Mika Westerberg
Cc: H Hartley Sweeten, Linux Kernel, spi-devel-general, grant.likely
On Thu, 2012-04-19 at 09:10 +0300, Mika Westerberg wrote:
> On Tue, Apr 17, 2012 at 06:46:36PM -0700, H Hartley Sweeten wrote:
> > A new enum indicating the dma channel direction was introduced by:
> >
> > commit 49920bc66984a512f4bcc7735a61642cd0e4d6f2
> > dmaengine: add new enum dma_transfer_direction
> >
> > The following commit changed spi-ep93xx to use the new enum:
> >
> > commit a485df4b4404379786c4bdd258bc528b2617449d
> > spi, serial: move to dma_transfer_direction
> >
> > In doing so a sparse warning was introduced:
> >
> > warning: mixing different enum types
> > int enum dma_data_direction versus
> > int enum dma_transfer_direction
> >
> > This is produced because the 'dir' passed in ep93xx_spi_dma_prepare
> > is an enum dma_data_direction and is being used to set the
> > dma_slave_config 'direction' which is now an enum dma_transfer_direction.
> >
> > Fix this by converting spi-ep93xx to use the new enum type in all
> > places.
> >
> > Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
> > Cc: Grant Likely <grant.likely@secretlab.ca>
> > Cc: Vinod Koul <vinod.koul@linux.intel.com>
>
> Acked-by: Mika Westerberg <mika.westerberg@iki.fi>
Acked-by: Vinod Koul <vinod.koul@intel.com>
--
~Vinod
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] spi/spi-ep93xx.c: use dma_transfer_direction instead of dma_data_direction
@ 2012-04-20 10:09 ` Vinod Koul
0 siblings, 0 replies; 7+ messages in thread
From: Vinod Koul @ 2012-04-20 10:09 UTC (permalink / raw)
To: Mika Westerberg
Cc: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Linux Kernel
On Thu, 2012-04-19 at 09:10 +0300, Mika Westerberg wrote:
> On Tue, Apr 17, 2012 at 06:46:36PM -0700, H Hartley Sweeten wrote:
> > A new enum indicating the dma channel direction was introduced by:
> >
> > commit 49920bc66984a512f4bcc7735a61642cd0e4d6f2
> > dmaengine: add new enum dma_transfer_direction
> >
> > The following commit changed spi-ep93xx to use the new enum:
> >
> > commit a485df4b4404379786c4bdd258bc528b2617449d
> > spi, serial: move to dma_transfer_direction
> >
> > In doing so a sparse warning was introduced:
> >
> > warning: mixing different enum types
> > int enum dma_data_direction versus
> > int enum dma_transfer_direction
> >
> > This is produced because the 'dir' passed in ep93xx_spi_dma_prepare
> > is an enum dma_data_direction and is being used to set the
> > dma_slave_config 'direction' which is now an enum dma_transfer_direction.
> >
> > Fix this by converting spi-ep93xx to use the new enum type in all
> > places.
> >
> > Signed-off-by: H Hartley Sweeten <hsweeten-3FF4nKcrg1dE2c76skzGb0EOCMrvLtNR@public.gmane.org>
> > Cc: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
> > Cc: Vinod Koul <vinod.koul-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
>
> Acked-by: Mika Westerberg <mika.westerberg-X3B1VOXEql0@public.gmane.org>
Acked-by: Vinod Koul <vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
--
~Vinod
------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] spi/spi-ep93xx.c: use dma_transfer_direction instead of dma_data_direction
@ 2012-04-27 17:11 ` Grant Likely
0 siblings, 0 replies; 7+ messages in thread
From: Grant Likely @ 2012-04-27 17:11 UTC (permalink / raw)
To: H Hartley Sweeten, Linux Kernel; +Cc: spi-devel-general, vinod.koul
On Tue, 17 Apr 2012 18:46:36 -0700, H Hartley Sweeten <hartleys@visionengravers.com> wrote:
> A new enum indicating the dma channel direction was introduced by:
>
> commit 49920bc66984a512f4bcc7735a61642cd0e4d6f2
> dmaengine: add new enum dma_transfer_direction
>
> The following commit changed spi-ep93xx to use the new enum:
>
> commit a485df4b4404379786c4bdd258bc528b2617449d
> spi, serial: move to dma_transfer_direction
>
> In doing so a sparse warning was introduced:
>
> warning: mixing different enum types
> int enum dma_data_direction versus
> int enum dma_transfer_direction
>
> This is produced because the 'dir' passed in ep93xx_spi_dma_prepare
> is an enum dma_data_direction and is being used to set the
> dma_slave_config 'direction' which is now an enum dma_transfer_direction.
>
> Fix this by converting spi-ep93xx to use the new enum type in all
> places.
>
> Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
> Cc: Grant Likely <grant.likely@secretlab.ca>
> Cc: Vinod Koul <vinod.koul@linux.intel.com>
Applied, thanks.
g.
>
> ---
>
> diff --git a/drivers/spi/spi-ep93xx.c b/drivers/spi/spi-ep93xx.c
> index 6db2887..e805507 100644
> --- a/drivers/spi/spi-ep93xx.c
> +++ b/drivers/spi/spi-ep93xx.c
> @@ -545,13 +545,12 @@ static void ep93xx_spi_pio_transfer(struct ep93xx_spi *espi)
> * in case of failure.
> */
> static struct dma_async_tx_descriptor *
> -ep93xx_spi_dma_prepare(struct ep93xx_spi *espi, enum dma_data_direction dir)
> +ep93xx_spi_dma_prepare(struct ep93xx_spi *espi, enum dma_transfer_direction dir)
> {
> struct spi_transfer *t = espi->current_msg->state;
> 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;
> @@ -567,14 +566,13 @@ ep93xx_spi_dma_prepare(struct ep93xx_spi *espi, enum dma_data_direction dir)
> memset(&conf, 0, sizeof(conf));
> conf.direction = dir;
>
> - if (dir == DMA_FROM_DEVICE) {
> + if (dir == DMA_DEV_TO_MEM) {
> chan = espi->dma_rx;
> buf = t->rx_buf;
> sgt = &espi->rx_sgt;
>
> 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;
> @@ -582,7 +580,6 @@ 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);
> @@ -633,8 +630,7 @@ ep93xx_spi_dma_prepare(struct ep93xx_spi *espi, enum dma_data_direction dir)
> if (!nents)
> return ERR_PTR(-ENOMEM);
>
> - txd = dmaengine_prep_slave_sg(chan, sgt->sgl, nents,
> - slave_dirn, DMA_CTRL_ACK);
> + txd = dmaengine_prep_slave_sg(chan, sgt->sgl, nents, dir, DMA_CTRL_ACK);
> if (!txd) {
> dma_unmap_sg(chan->device->dev, sgt->sgl, sgt->nents, dir);
> return ERR_PTR(-ENOMEM);
> @@ -651,12 +647,12 @@ ep93xx_spi_dma_prepare(struct ep93xx_spi *espi, enum dma_data_direction dir)
> * unmapped.
> */
> static void ep93xx_spi_dma_finish(struct ep93xx_spi *espi,
> - enum dma_data_direction dir)
> + enum dma_transfer_direction dir)
> {
> struct dma_chan *chan;
> struct sg_table *sgt;
>
> - if (dir == DMA_FROM_DEVICE) {
> + if (dir == DMA_DEV_TO_MEM) {
> chan = espi->dma_rx;
> sgt = &espi->rx_sgt;
> } else {
> @@ -677,16 +673,16 @@ static void ep93xx_spi_dma_transfer(struct ep93xx_spi *espi)
> struct spi_message *msg = espi->current_msg;
> struct dma_async_tx_descriptor *rxd, *txd;
>
> - rxd = ep93xx_spi_dma_prepare(espi, DMA_FROM_DEVICE);
> + rxd = ep93xx_spi_dma_prepare(espi, DMA_DEV_TO_MEM);
> if (IS_ERR(rxd)) {
> dev_err(&espi->pdev->dev, "DMA RX failed: %ld\n", PTR_ERR(rxd));
> msg->status = PTR_ERR(rxd);
> return;
> }
>
> - txd = ep93xx_spi_dma_prepare(espi, DMA_TO_DEVICE);
> + txd = ep93xx_spi_dma_prepare(espi, DMA_MEM_TO_DEV);
> if (IS_ERR(txd)) {
> - ep93xx_spi_dma_finish(espi, DMA_FROM_DEVICE);
> + ep93xx_spi_dma_finish(espi, DMA_DEV_TO_MEM);
> dev_err(&espi->pdev->dev, "DMA TX failed: %ld\n", PTR_ERR(rxd));
> msg->status = PTR_ERR(txd);
> return;
> @@ -705,8 +701,8 @@ static void ep93xx_spi_dma_transfer(struct ep93xx_spi *espi)
>
> wait_for_completion(&espi->wait);
>
> - ep93xx_spi_dma_finish(espi, DMA_TO_DEVICE);
> - ep93xx_spi_dma_finish(espi, DMA_FROM_DEVICE);
> + ep93xx_spi_dma_finish(espi, DMA_MEM_TO_DEV);
> + ep93xx_spi_dma_finish(espi, DMA_DEV_TO_MEM);
> }
>
> /**
--
Grant Likely, B.Sc, P.Eng.
Secret Lab Technologies, Ltd.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] spi/spi-ep93xx.c: use dma_transfer_direction instead of dma_data_direction
@ 2012-04-27 17:11 ` Grant Likely
0 siblings, 0 replies; 7+ messages in thread
From: Grant Likely @ 2012-04-27 17:11 UTC (permalink / raw)
To: H Hartley Sweeten, Linux Kernel
Cc: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
vinod.koul-VuQAYsv1563Yd54FQh9/CA
On Tue, 17 Apr 2012 18:46:36 -0700, H Hartley Sweeten <hartleys-3FF4nKcrg1dE2c76skzGb0EOCMrvLtNR@public.gmane.org> wrote:
> A new enum indicating the dma channel direction was introduced by:
>
> commit 49920bc66984a512f4bcc7735a61642cd0e4d6f2
> dmaengine: add new enum dma_transfer_direction
>
> The following commit changed spi-ep93xx to use the new enum:
>
> commit a485df4b4404379786c4bdd258bc528b2617449d
> spi, serial: move to dma_transfer_direction
>
> In doing so a sparse warning was introduced:
>
> warning: mixing different enum types
> int enum dma_data_direction versus
> int enum dma_transfer_direction
>
> This is produced because the 'dir' passed in ep93xx_spi_dma_prepare
> is an enum dma_data_direction and is being used to set the
> dma_slave_config 'direction' which is now an enum dma_transfer_direction.
>
> Fix this by converting spi-ep93xx to use the new enum type in all
> places.
>
> Signed-off-by: H Hartley Sweeten <hsweeten-3FF4nKcrg1dE2c76skzGb0EOCMrvLtNR@public.gmane.org>
> Cc: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
> Cc: Vinod Koul <vinod.koul-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
Applied, thanks.
g.
>
> ---
>
> diff --git a/drivers/spi/spi-ep93xx.c b/drivers/spi/spi-ep93xx.c
> index 6db2887..e805507 100644
> --- a/drivers/spi/spi-ep93xx.c
> +++ b/drivers/spi/spi-ep93xx.c
> @@ -545,13 +545,12 @@ static void ep93xx_spi_pio_transfer(struct ep93xx_spi *espi)
> * in case of failure.
> */
> static struct dma_async_tx_descriptor *
> -ep93xx_spi_dma_prepare(struct ep93xx_spi *espi, enum dma_data_direction dir)
> +ep93xx_spi_dma_prepare(struct ep93xx_spi *espi, enum dma_transfer_direction dir)
> {
> struct spi_transfer *t = espi->current_msg->state;
> 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;
> @@ -567,14 +566,13 @@ ep93xx_spi_dma_prepare(struct ep93xx_spi *espi, enum dma_data_direction dir)
> memset(&conf, 0, sizeof(conf));
> conf.direction = dir;
>
> - if (dir == DMA_FROM_DEVICE) {
> + if (dir == DMA_DEV_TO_MEM) {
> chan = espi->dma_rx;
> buf = t->rx_buf;
> sgt = &espi->rx_sgt;
>
> 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;
> @@ -582,7 +580,6 @@ 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);
> @@ -633,8 +630,7 @@ ep93xx_spi_dma_prepare(struct ep93xx_spi *espi, enum dma_data_direction dir)
> if (!nents)
> return ERR_PTR(-ENOMEM);
>
> - txd = dmaengine_prep_slave_sg(chan, sgt->sgl, nents,
> - slave_dirn, DMA_CTRL_ACK);
> + txd = dmaengine_prep_slave_sg(chan, sgt->sgl, nents, dir, DMA_CTRL_ACK);
> if (!txd) {
> dma_unmap_sg(chan->device->dev, sgt->sgl, sgt->nents, dir);
> return ERR_PTR(-ENOMEM);
> @@ -651,12 +647,12 @@ ep93xx_spi_dma_prepare(struct ep93xx_spi *espi, enum dma_data_direction dir)
> * unmapped.
> */
> static void ep93xx_spi_dma_finish(struct ep93xx_spi *espi,
> - enum dma_data_direction dir)
> + enum dma_transfer_direction dir)
> {
> struct dma_chan *chan;
> struct sg_table *sgt;
>
> - if (dir == DMA_FROM_DEVICE) {
> + if (dir == DMA_DEV_TO_MEM) {
> chan = espi->dma_rx;
> sgt = &espi->rx_sgt;
> } else {
> @@ -677,16 +673,16 @@ static void ep93xx_spi_dma_transfer(struct ep93xx_spi *espi)
> struct spi_message *msg = espi->current_msg;
> struct dma_async_tx_descriptor *rxd, *txd;
>
> - rxd = ep93xx_spi_dma_prepare(espi, DMA_FROM_DEVICE);
> + rxd = ep93xx_spi_dma_prepare(espi, DMA_DEV_TO_MEM);
> if (IS_ERR(rxd)) {
> dev_err(&espi->pdev->dev, "DMA RX failed: %ld\n", PTR_ERR(rxd));
> msg->status = PTR_ERR(rxd);
> return;
> }
>
> - txd = ep93xx_spi_dma_prepare(espi, DMA_TO_DEVICE);
> + txd = ep93xx_spi_dma_prepare(espi, DMA_MEM_TO_DEV);
> if (IS_ERR(txd)) {
> - ep93xx_spi_dma_finish(espi, DMA_FROM_DEVICE);
> + ep93xx_spi_dma_finish(espi, DMA_DEV_TO_MEM);
> dev_err(&espi->pdev->dev, "DMA TX failed: %ld\n", PTR_ERR(rxd));
> msg->status = PTR_ERR(txd);
> return;
> @@ -705,8 +701,8 @@ static void ep93xx_spi_dma_transfer(struct ep93xx_spi *espi)
>
> wait_for_completion(&espi->wait);
>
> - ep93xx_spi_dma_finish(espi, DMA_TO_DEVICE);
> - ep93xx_spi_dma_finish(espi, DMA_FROM_DEVICE);
> + ep93xx_spi_dma_finish(espi, DMA_MEM_TO_DEV);
> + ep93xx_spi_dma_finish(espi, DMA_DEV_TO_MEM);
> }
>
> /**
--
Grant Likely, B.Sc, P.Eng.
Secret Lab Technologies, Ltd.
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-04-27 17:11 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-18 1:46 [PATCH] spi/spi-ep93xx.c: use dma_transfer_direction instead of dma_data_direction H Hartley Sweeten
2012-04-19 6:10 ` Mika Westerberg
2012-04-19 6:10 ` Mika Westerberg
2012-04-20 10:09 ` Vinod Koul
2012-04-20 10:09 ` Vinod Koul
2012-04-27 17:11 ` Grant Likely
2012-04-27 17:11 ` Grant Likely
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.