*参照元 [#pedeb707] #backlinks *説明 [#f5e87869] -パス: [[linux-4.4.1/arch/arm64/mm/dma-mapping.c]] -FIXME: これは何? --説明 **引数 [#g7db4749] -struct device *dev -- --[[linux-4.4.1/device]] -struct scatterlist *sgl -- --[[linux-4.4.1/scatterlist]] -int nelems -- -enum dma_data_direction dir -- --[[linux-4.4.1/dma_data_direction]] **返り値 [#jd801c21] -なし **参考 [#mf5a9158] *実装 [#ve8d0b94] static void __swiotlb_sync_sg_for_cpu(struct device *dev, struct scatterlist *sgl, int nelems, enum dma_data_direction dir) { struct scatterlist *sg; int i; if (!is_device_dma_coherent(dev)) for_each_sg(sgl, sg, nelems, i) __dma_unmap_area(phys_to_virt(dma_to_phys(dev, sg->dma_address)), sg->length, dir); - --[[linux-4.4.1/is_device_dma_coherent()]] --[[linux-4.4.1/for_each_sg()]] --[[linux-4.4.1/__dma_unmap_area()]] --[[linux-4.4.1/phys_to_virt()]] --[[linux-4.4.1/dma_to_phys()]] swiotlb_sync_sg_for_cpu(dev, sgl, nelems, dir); - --[[linux-4.4.1/swiotlb_sync_sg_for_cpu()]] } *コメント [#z18dbaeb]