*参照元 [#ua571231] #backlinks *説明 [#z21ad454] -パス: [[linux-4.4.1/arch/arm/mm/dma-mapping.c]] -FIXME: これは何? --説明 **引数 [#t3faa199] -struct device *dev -- --[[linux-4.4.1/device]] -u64 dma_base -- -u64 size -- -struct iommu_ops *iommu -- --[[linux-4.4.1/iommu_ops]] -bool coherent -- **返り値 [#q734ff7c] -なし **参考 [#ub4d7435] *実装 [#l5e73f62] void arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size, struct iommu_ops *iommu, bool coherent) { struct dma_map_ops *dma_ops; - --[[linux-4.4.1/dma_map_ops]] dev->archdata.dma_coherent = coherent;- dev->archdata.dma_coherent = coherent; - --参照するときは is_device_dma_coherent() を使う。 --[[linux-4.4.1/is_device_dma_coherent()]] if (arm_setup_iommu_dma_ops(dev, dma_base, size, iommu)) dma_ops = arm_get_iommu_dma_map_ops(coherent); else dma_ops = arm_get_dma_map_ops(coherent); - --[[linux-4.4.1/arm_setup_iommu_dma_ops()]] --[[linux-4.4.1/arm_get_iommu_dma_map_ops()]] --[[linux-4.4.1/arm_get_dma_map_ops()]] set_dma_ops(dev, dma_ops); - --[[linux-4.4.1/set_dma_ops()]] } *コメント [#j3241036]