DMA: txx9dmac: use dma_unmap_single if DMA_COMPL_{SRC,DEST}_UNMAP_SINGLE set

This patch does not change actual behaviour since dma_unmap_page is just
an alias of dma_unmap_single on MIPS.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Cc: Ralf Baechle <ralf@linux-mips.org>
Acked-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

authored by

Atsushi Nemoto and committed by
Ralf Baechle
4ac4aa5c 2e25406f

+12 -8
+12 -8
drivers/dma/txx9dmac.c
··· 432 list_splice_init(&txd->tx_list, &dc->free_list); 433 list_move(&desc->desc_node, &dc->free_list); 434 435 - /* 436 - * We use dma_unmap_page() regardless of how the buffers were 437 - * mapped before they were submitted... 438 - */ 439 if (!ds) { 440 dma_addr_t dmaaddr; 441 if (!(txd->flags & DMA_COMPL_SKIP_DEST_UNMAP)) { 442 dmaaddr = is_dmac64(dc) ? 443 desc->hwdesc.DAR : desc->hwdesc32.DAR; 444 - dma_unmap_page(chan2parent(&dc->chan), dmaaddr, 445 - desc->len, DMA_FROM_DEVICE); 446 } 447 if (!(txd->flags & DMA_COMPL_SKIP_SRC_UNMAP)) { 448 dmaaddr = is_dmac64(dc) ? 449 desc->hwdesc.SAR : desc->hwdesc32.SAR; 450 - dma_unmap_page(chan2parent(&dc->chan), dmaaddr, 451 - desc->len, DMA_TO_DEVICE); 452 } 453 } 454
··· 432 list_splice_init(&txd->tx_list, &dc->free_list); 433 list_move(&desc->desc_node, &dc->free_list); 434 435 if (!ds) { 436 dma_addr_t dmaaddr; 437 if (!(txd->flags & DMA_COMPL_SKIP_DEST_UNMAP)) { 438 dmaaddr = is_dmac64(dc) ? 439 desc->hwdesc.DAR : desc->hwdesc32.DAR; 440 + if (txd->flags & DMA_COMPL_DEST_UNMAP_SINGLE) 441 + dma_unmap_single(chan2parent(&dc->chan), 442 + dmaaddr, desc->len, DMA_FROM_DEVICE); 443 + else 444 + dma_unmap_page(chan2parent(&dc->chan), 445 + dmaaddr, desc->len, DMA_FROM_DEVICE); 446 } 447 if (!(txd->flags & DMA_COMPL_SKIP_SRC_UNMAP)) { 448 dmaaddr = is_dmac64(dc) ? 449 desc->hwdesc.SAR : desc->hwdesc32.SAR; 450 + if (txd->flags & DMA_COMPL_SRC_UNMAP_SINGLE) 451 + dma_unmap_single(chan2parent(&dc->chan), 452 + dmaaddr, desc->len, DMA_TO_DEVICE); 453 + else 454 + dma_unmap_page(chan2parent(&dc->chan), 455 + dmaaddr, desc->len, DMA_TO_DEVICE); 456 } 457 } 458