diff options
| -rw-r--r-- | drivers/spi/spi-pxa2xx-dma.c | 16 |
1 files changed, 0 insertions, 16 deletions
diff --git a/drivers/spi/spi-pxa2xx-dma.c b/drivers/spi/spi-pxa2xx-dma.c index 713af4806f26..f6759dc0153b 100644 --- a/drivers/spi/spi-pxa2xx-dma.c +++ b/drivers/spi/spi-pxa2xx-dma.c | |||
| @@ -29,18 +29,6 @@ static int pxa2xx_spi_map_dma_buffer(struct driver_data *drv_data, | |||
| 29 | struct sg_table *sgt; | 29 | struct sg_table *sgt; |
| 30 | void *buf, *pbuf; | 30 | void *buf, *pbuf; |
| 31 | 31 | ||
| 32 | /* | ||
| 33 | * Some DMA controllers have problems transferring buffers that are | ||
| 34 | * not multiple of 4 bytes. So we truncate the transfer so that it | ||
| 35 | * is suitable for such controllers, and handle the trailing bytes | ||
| 36 | * manually after the DMA completes. | ||
| 37 | * | ||
| 38 | * REVISIT: It would be better if this information could be | ||
| 39 | * retrieved directly from the DMA device in a similar way than | ||
| 40 | * ->copy_align etc. is done. | ||
| 41 | */ | ||
| 42 | len = ALIGN(drv_data->len, 4); | ||
| 43 | |||
| 44 | if (dir == DMA_TO_DEVICE) { | 32 | if (dir == DMA_TO_DEVICE) { |
| 45 | dmadev = drv_data->tx_chan->device->dev; | 33 | dmadev = drv_data->tx_chan->device->dev; |
| 46 | sgt = &drv_data->tx_sgt; | 34 | sgt = &drv_data->tx_sgt; |
| @@ -144,12 +132,8 @@ static void pxa2xx_spi_dma_transfer_complete(struct driver_data *drv_data, | |||
| 144 | if (!error) { | 132 | if (!error) { |
| 145 | pxa2xx_spi_unmap_dma_buffers(drv_data); | 133 | pxa2xx_spi_unmap_dma_buffers(drv_data); |
| 146 | 134 | ||
| 147 | /* Handle the last bytes of unaligned transfer */ | ||
| 148 | drv_data->tx += drv_data->tx_map_len; | 135 | drv_data->tx += drv_data->tx_map_len; |
| 149 | drv_data->write(drv_data); | ||
| 150 | |||
| 151 | drv_data->rx += drv_data->rx_map_len; | 136 | drv_data->rx += drv_data->rx_map_len; |
| 152 | drv_data->read(drv_data); | ||
| 153 | 137 | ||
| 154 | msg->actual_length += drv_data->len; | 138 | msg->actual_length += drv_data->len; |
| 155 | msg->state = pxa2xx_spi_next_transfer(drv_data); | 139 | msg->state = pxa2xx_spi_next_transfer(drv_data); |
