Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dmaengine: dmatest: Use dmaengine_get_dma_device

By using the dmaengine_get_dma_device() to get the device for
dma_api use, the dmatest can support per channel coherency if it is
supported by the DMA controller.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Link: https://lore.kernel.org/r/20201208090440.31792-11-peter.ujfalusi@ti.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>

authored by

Peter Ujfalusi and committed by
Vinod Koul
adc0f941 f082c6df

+8 -5
+8 -5
drivers/dma/dmatest.c
··· 573 573 struct dmatest_params *params; 574 574 struct dma_chan *chan; 575 575 struct dma_device *dev; 576 + struct device *dma_dev; 576 577 unsigned int error_count; 577 578 unsigned int failed_tests = 0; 578 579 unsigned int total_tests = 0; ··· 607 606 params = &info->params; 608 607 chan = thread->chan; 609 608 dev = chan->device; 609 + dma_dev = dmaengine_get_dma_device(chan); 610 + 610 611 src = &thread->src; 611 612 dst = &thread->dst; 612 613 if (thread->type == DMA_MEMCPY) { ··· 733 730 filltime = ktime_add(filltime, diff); 734 731 } 735 732 736 - um = dmaengine_get_unmap_data(dev->dev, src->cnt + dst->cnt, 733 + um = dmaengine_get_unmap_data(dma_dev, src->cnt + dst->cnt, 737 734 GFP_KERNEL); 738 735 if (!um) { 739 736 failed_tests++; ··· 748 745 struct page *pg = virt_to_page(buf); 749 746 unsigned long pg_off = offset_in_page(buf); 750 747 751 - um->addr[i] = dma_map_page(dev->dev, pg, pg_off, 748 + um->addr[i] = dma_map_page(dma_dev, pg, pg_off, 752 749 um->len, DMA_TO_DEVICE); 753 750 srcs[i] = um->addr[i] + src->off; 754 - ret = dma_mapping_error(dev->dev, um->addr[i]); 751 + ret = dma_mapping_error(dma_dev, um->addr[i]); 755 752 if (ret) { 756 753 result("src mapping error", total_tests, 757 754 src->off, dst->off, len, ret); ··· 766 763 struct page *pg = virt_to_page(buf); 767 764 unsigned long pg_off = offset_in_page(buf); 768 765 769 - dsts[i] = dma_map_page(dev->dev, pg, pg_off, um->len, 766 + dsts[i] = dma_map_page(dma_dev, pg, pg_off, um->len, 770 767 DMA_BIDIRECTIONAL); 771 - ret = dma_mapping_error(dev->dev, dsts[i]); 768 + ret = dma_mapping_error(dma_dev, dsts[i]); 772 769 if (ret) { 773 770 result("dst mapping error", total_tests, 774 771 src->off, dst->off, len, ret);