spi: pxa2xx: Remove rx_/tx_map_len members from struct driver_data
authorJarkko Nikula <jarkko.nikula@linux.intel.com>
Thu, 24 Mar 2016 13:35:43 +0000 (15:35 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 28 Mar 2016 09:41:58 +0000 (10:41 +0100)
spi-pxa2xx-dma.c DMA engine implementation stopped using PIO for
unaligned trailing bytes in the commit 111e0a9dc71e ("spi/pxa2xx: Prevent
DMA from transferring too many bytes"). This means there is no need to
update tx/rx transfer buffer pointers after DMA completion. These buffer
pointers will be set to new buffers when handling the next transfer.

Because this buffer pointer update was only remaining use for rx_map_len
and tx_map_len members in struct driver_data after removing the legacy PXA
DMA implementation they can be removed now.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-pxa2xx-dma.c
drivers/spi/spi-pxa2xx.h

index b1883d228103d0bdde2960ded063f8186a64509e..624cb06bd2e19939756909f2b0afe0a58409b78a 100644 (file)
@@ -33,12 +33,10 @@ static int pxa2xx_spi_map_dma_buffer(struct driver_data *drv_data,
                dmadev = drv_data->tx_chan->device->dev;
                sgt = &drv_data->tx_sgt;
                buf = drv_data->tx;
-               drv_data->tx_map_len = len;
        } else {
                dmadev = drv_data->rx_chan->device->dev;
                sgt = &drv_data->rx_sgt;
                buf = drv_data->rx;
-               drv_data->rx_map_len = len;
        }
 
        nents = DIV_ROUND_UP(len, SZ_2K);
@@ -133,9 +131,6 @@ static void pxa2xx_spi_dma_transfer_complete(struct driver_data *drv_data,
                if (!error) {
                        pxa2xx_spi_unmap_dma_buffers(drv_data);
 
-                       drv_data->tx += drv_data->tx_map_len;
-                       drv_data->rx += drv_data->rx_map_len;
-
                        msg->actual_length += drv_data->len;
                        msg->state = pxa2xx_spi_next_transfer(drv_data);
                } else {
index a1ef889481447fd4eeeca749bba063014bddc3f6..85017f9ca67c773aeba9cf273c96da81ef422392 100644 (file)
@@ -69,8 +69,6 @@ struct driver_data {
        void *rx;
        void *rx_end;
        int dma_mapped;
-       size_t rx_map_len;
-       size_t tx_map_len;
        u8 n_bytes;
        int (*write)(struct driver_data *drv_data);
        int (*read)(struct driver_data *drv_data);