*参照元 [#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
--
--[[linux-4.4.1/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]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS