*参照元 [#b530b954] #backlinks *説明 [#reb4110c] -パス: [[linux-4.4.1/arch/arm/mm/dma-mapping.c]] -FIXME: これは何? --説明 **引数 [#v63a0727] -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]] **返り値 [#x2cc9783] -dma_addr_t -- **参考 [#ha37440b] *実装 [#m6796325] /** * arm_dma_map_page - map a portion of a page for streaming DMA * @dev: valid struct device pointer, or NULL for ISA and EISA-like devices * @page: page that buffer resides in * @offset: offset into page for start of buffer * @size: size of buffer to map * @dir: DMA transfer direction * * Ensure that any data held in the cache is appropriately discarded * or written back. * * The device owns this memory once this call has completed. The CPU * can regain ownership by calling dma_unmap_page(). */ static dma_addr_t arm_dma_map_page(struct device *dev, struct page *page, unsigned long offset, size_t size, enum dma_data_direction dir, struct dma_attrs *attrs) { if (!dma_get_attr(DMA_ATTR_SKIP_CPU_SYNC, attrs)) __dma_page_cpu_to_dev(page, offset, size, dir); - --[[linux-4.4.1/dma_get_attr()]] --[[linux-4.4.1/__dma_page_cpu_to_dev()]] return pfn_to_dma(dev, page_to_pfn(page)) + offset; - --[[linux-4.4.1/pfn_to_dma()]] --[[linux-4.4.1/page_to_pfn()]] } *コメント [#de3475a5]