*参照元 [#p72d3973] #backlinks *説明 [#d1344133] -パス: [[linux-4.4.1/arch/arm/mm/dma-mapping.c]] -FIXME: これは何? --説明 **引数 [#yca18d6f] -struct device *dev -- --[[linux-4.4.1/device]] -dma_addr_t handle -- --[[linux-4.4.1/dma_addr_t]] -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]] **返り値 [#r0c98d57] -なし **参考 [#u23c5cc6] *実装 [#d9f6b930] /** * arm_dma_unmap_page - unmap a buffer previously mapped through dma_map_page() * @dev: valid struct device pointer, or NULL for ISA and EISA-like devices * @handle: DMA address of buffer * @size: size of buffer (same as passed to dma_map_page) * @dir: DMA transfer direction (same as passed to dma_map_page) * * Unmap a page streaming mode DMA translation. The handle and size * must match what was provided in the previous dma_map_page() call. * All other usages are undefined. * * After this call, reads by the CPU to the buffer are guaranteed to see * whatever the device wrote there. */ static void arm_dma_unmap_page(struct device *dev, dma_addr_t handle, size_t size, enum dma_data_direction dir, struct dma_attrs *attrs) { if (!dma_get_attr(DMA_ATTR_SKIP_CPU_SYNC, attrs)) - --[[linux-4.4.1/dma_get_attr()]] __dma_page_dev_to_cpu(pfn_to_page(dma_to_pfn(dev, handle)), handle & ~PAGE_MASK, size, dir); - --[[linux-4.4.1/__dma_page_dev_to_cpu()]] --[[linux-4.4.1/pfn_to_page()]] --[[linux-4.4.1/dma_to_pfn()]] } *コメント [#z8fafdd6]