*参照元 [#ra11dfab] #backlinks *説明 [#la60d052] -パス: [[linux-4.4.1/arch/arm64/mm/dma-mapping.c]] -FIXME: これは何? --説明 **引数 [#d45fa29a] -struct device *dev -- --[[linux-4.4.1/device]] -dma_addr_t dev_addr -- --[[linux-4.4.1/dma_addr_t]] -size_t size -- -enum dma_data_direction dir -- --[[linux-4.4.1/dma_data_direction]] **返り値 [#odf6fe84] -なし **参考 [#g05bf2bd] *実装 [#tb65a5cf] static void __iommu_sync_single_for_device(struct device *dev, dma_addr_t dev_addr, size_t size, enum dma_data_direction dir) { phys_addr_t phys; - --[[linux-4.4.1/phys_addr_t]] if (is_device_dma_coherent(dev)) return; - --[[linux-4.4.1/is_device_dma_coherent()]] phys = iommu_iova_to_phys(iommu_get_domain_for_dev(dev), dev_addr); __dma_map_area(phys_to_virt(phys), size, dir); - --[[linux-4.4.1/iommu_iova_to_phys()]] --[[linux-4.4.1/iommu_get_domain_for_dev()]] --[[linux-4.4.1/__dma_map_area()]] --[[linux-4.4.1/phys_to_virt()]] } *コメント [#a7810eff]