*参照元 [#qe35b35f] #backlinks *説明 [#n6a5114b] -パス: [[linux-4.4.1/arch/arm64/mm/dma-mapping.c]] -FIXME: これは何? --説明 **引数 [#s77c8ab9] -struct device *dev -- --[[linux-4.4.1/device]] -struct page *page -- --[[linux-4.4.1/page]] -unsigned long offset -- -size_t size -- -enum dma_data_direction dir -- --[[linux-4.4.1/dma_data_direction]] -struct dma_attrs *attrs -- --[[linux-4.4.1/dma_attrs]] **返り値 [#y97d0cf9] -dma_addr_t -- **参考 [#ra39de51] *実装 [#bc7e3c5f] static dma_addr_t __swiotlb_map_page(struct device *dev, struct page *page, unsigned long offset, size_t size, enum dma_data_direction dir, struct dma_attrs *attrs) { dma_addr_t dev_addr; - --[[linux-4.4.1/dma_addr_t]] dev_addr = swiotlb_map_page(dev, page, offset, size, dir, attrs); - --[[linux-4.4.1/swiotlb_map_page()]] if (!is_device_dma_coherent(dev)) __dma_map_area(phys_to_virt(dma_to_phys(dev, dev_addr)), size, dir); - --[[linux-4.4.1/is_device_dma_coherent()]] --[[linux-4.4.1/__dma_map_area()]] --[[linux-4.4.1/phys_to_virt()]] --[[linux-4.4.1/dma_to_phys()]] return dev_addr; } *コメント [#ga808226]