Signed-off-by: Roman Fietze <roman.fie...@telemotive.de>
---
 arch/powerpc/include/asm/mpc52xx.h            |    1 -
 arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c |   13 +++++++------
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/arch/powerpc/include/asm/mpc52xx.h 
b/arch/powerpc/include/asm/mpc52xx.h
index 043458e..91c65d0 100644
--- a/arch/powerpc/include/asm/mpc52xx.h
+++ b/arch/powerpc/include/asm/mpc52xx.h
@@ -347,7 +347,6 @@ struct mpc52xx_lpbfifo_request {
 
        /* Memory address */
        void *data;
-       dma_addr_t data_dma;
 
        /* Details of transfer */
        size_t size;
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c 
b/arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c
index cd8dc69..b2c92f5 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c
@@ -41,6 +41,7 @@ struct mpc52xx_lpbfifo {
 
        /* Current state data */
        struct mpc52xx_lpbfifo_request *req;
+       dma_addr_t data_dma;
        unsigned short irqs_pending;
        int dma_irqs_enabled;
 };
@@ -49,7 +50,7 @@ struct mpc52xx_lpbfifo {
 static struct mpc52xx_lpbfifo lpbfifo;
 
 
-/* The order of the raised interrupts of SCLPC and BCOM cann not be
+/* The order of the raised interrupts of SCLPC and BCOM cannot be
  * predicted, because it depends on the individual BCOM and CPU
  * loads. So in DMA mode we just wait for both until we finish the
  * transaction. */
@@ -160,7 +161,7 @@ static void mpc52xx_lpbfifo_kick(struct 
mpc52xx_lpbfifo_request *req)
                        out_be32(&lpbfifo.regs->fifo_alarm, 
MPC52xx_SCLPC_FIFO_SIZE - 28);
                        out_be32(&lpbfifo.regs->fifo_control, 
MPC52xx_SLPC_FIFO_CONTROL_GR(7));
                        lpbfifo.bcom_cur_task = lpbfifo.bcom_tx_task;
-                       req->data_dma = dma_map_single(lpbfifo.dev, req->data, 
req->size, DMA_TO_DEVICE);
+                       lpbfifo.data_dma = dma_map_single(lpbfifo.dev, 
req->data, req->size, DMA_TO_DEVICE);
                } else {
                        out_be32(&lpbfifo.regs->fifo_alarm, 
MPC52xx_SCLPC_FIFO_SIZE - 1);
                        out_be32(&lpbfifo.regs->fifo_control, 
MPC52xx_SLPC_FIFO_CONTROL_GR(0));
@@ -177,7 +178,7 @@ static void mpc52xx_lpbfifo_kick(struct 
mpc52xx_lpbfifo_request *req)
                                        lpbfifo.dma_irqs_enabled = 1;
                                }
                        }
-                       req->data_dma = dma_map_single(lpbfifo.dev, req->data, 
req->size, DMA_FROM_DEVICE);
+                       lpbfifo.data_dma = dma_map_single(lpbfifo.dev, 
req->data, req->size, DMA_FROM_DEVICE);
                }
 
                /* error irq & master enabled bit */
@@ -187,7 +188,7 @@ static void mpc52xx_lpbfifo_kick(struct 
mpc52xx_lpbfifo_request *req)
 
                bd = bcom_prepare_next_buffer(lpbfifo.bcom_cur_task);
                bd->status = tc;
-               bd->data[0] = req->data_dma + req->pos;
+               bd->data[0] = lpbfifo.data_dma + req->pos;
                bcom_submit_next_buffer(lpbfifo.bcom_cur_task, NULL);
        }
 
@@ -378,9 +379,9 @@ static irqreturn_t mpc52xx_lpbfifo_bcom_irq(int irq, void 
*dev_id)
 
                if (req) {
                        if (mpc52xx_lpbfifo_is_write(lpbfifo->req->flags))
-                               dma_unmap_single(lpbfifo->dev, 
lpbfifo->req->data_dma, lpbfifo->req->size, DMA_TO_DEVICE);
+                               dma_unmap_single(lpbfifo->dev, 
lpbfifo->data_dma, lpbfifo->req->size, DMA_TO_DEVICE);
                        else
-                               dma_unmap_single(lpbfifo->dev, 
lpbfifo->req->data_dma, lpbfifo->req->size, DMA_FROM_DEVICE);
+                               dma_unmap_single(lpbfifo->dev, 
lpbfifo->data_dma, lpbfifo->req->size, DMA_FROM_DEVICE);
 
                        lpbfifo->req = NULL;
                        out_be32(&lpbfifo->regs->enable, 
MPC52xx_SCLPC_ENABLE_RC | MPC52xx_SCLPC_ENABLE_RF);
-- 
1.6.5.5



-- 
Roman Fietze                Telemotive AG Büro Mühlhausen
Breitwiesen                              73347 Mühlhausen
Tel.: +49(0)7335/18493-45        http://www.telemotive.de
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to