*参照元 [#pc104083] #backlinks *説明 [#s17fd633] -パス: [[linux-4.4.1/arch/arm64/mm/cache.S]] -FIXME: これは何? --DMA_FROM_DEVICE: invalidate のみ --DMA_TO_DEVICE: clean のみ **引数 [#ief56294] -void *start --仮想アドレス -size_t size -- -enum dma_data_direction dir --DMA_FROM_DEVICE: invalidate, clean --DMA_FROM_DEVICE: invalidate のみ --それ以外(DMA_TO_DEVICE など): clean のみ --[[linux-4.4.1/dma_data_direction]] **返り値 [#z82dd79d] -なし **参考 [#ke6efe8a] *実装 [#ief57b87] /* * __dma_map_area(start, size, dir) * - start - kernel virtual start address * - size - size of region * - dir - DMA direction */ ENTRY(__dma_map_area) add x1, x1, x0 cmp w2, #DMA_FROM_DEVICE b.eq __dma_inv_range - -invalidate --分岐先で ret しているのでここには返ってこない --[[linux-4.4.1/__dma_inv_range()]] b __dma_clean_range - -clean --分岐先で ret しているのでここには返ってこない --[[linux-4.4.1/__dma_clean_range()]] ENDPIPROC(__dma_map_area) *コメント [#z7ccbebc]