*参照元 [#f9e4f90d] #backlinks *説明 [#u6157489] -パス: 複数あり --CONFIG_HAS_DMA 有効: [[linux-4.4.1/include/asm-generic/dma-mapping-common.h]] --CONFIG_HAS_DMA 無効: [[linux-4.4.1/include/asm-generic/dma-mapping-broken.h]] --[[linux-4.4.1/CONFIG_HAS_DMA]] -FIXME: これは何? --説明 **引数 [#lb832c24] -struct device *dev -- --[[linux-4.4.1/device]] -struct scatterlist *sg -- --[[linux-4.4.1/scatterlist]] -int nelems -- -enum dma_data_direction dir -- --[[linux-4.4.1/dma_data_direction]] **返り値 [#b78eb6de] -なし **参考 [#y3e5c396] *実装 [#e0ec8b7a] **CONFIG_HAS_DMA 有効: include/asm-generic/dma-mapping-common.h [#kb9045f4] static inline void dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, int nelems, enum dma_data_direction dir) { struct dma_map_ops *ops = get_dma_ops(dev); - --[[linux-4.4.1/dma_map_ops]] --[[linux-4.4.1/get_dma_ops()]] BUG_ON(!valid_dma_direction(dir)); - --[[linux-4.4.1/BUG_ON()]] --[[linux-4.4.1/valid_dma_direction()]] if (ops->sync_sg_for_device) ops->sync_sg_for_device(dev, sg, nelems, dir); debug_dma_sync_sg_for_device(dev, sg, nelems, dir); - --sync_sg_for_device の実装については dma_map_ops から辿れます。 --[[linux-4.4.1/dma_map_ops]] --[[linux-4.4.1/debug_dma_sync_sg_for_device()]] } **CONFIG_HAS_DMA 無効: include/asm-generic/dma-mapping-broken.h [#qdf9522a] #define dma_sync_sg_for_device dma_sync_sg_for_cpu - --[[linux-4.4.1/dma_sync_sg_for_cpu()]] *コメント [#d68a5cda]