*参照元 [#td61973f]
#backlinks

*説明 [#b94505e8]
-パス: 複数あり
--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: これは何?
--説明


**引数 [#wb97f564]
-struct device *dev
--
--[[linux-4.4.1/device]]
-size_t size
--
-void *cpu_addr
--
-dma_addr_t *dma_handle
--
--[[linux-4.4.1/dma_addr_t]]
-dma_attrs *attrs
--
--[[linux-4.4.1/dma_attrs]]


**返り値 [#m70a62e1]
-なし


**参考 [#hcc0abd6]


*実装 [#ed604856]

**CONFIG_HAS_DMA 有効: include/asm-generic/dma-mapping-common.h [#q37ac1e7]

 static inline void dma_free_attrs(struct device *dev, size_t size,
                                      void *cpu_addr, dma_addr_t dma_handle,
                                      struct dma_attrs *attrs)
 {
         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(!ops);
         WARN_ON(irqs_disabled());
 
-
--[[linux-4.4.1/BUG_ON()]]
--[[linux-4.4.1/WARN_ON()]]
--[[linux-4.4.1/irqs_disabled()]]

         if (dma_release_from_coherent(dev, get_order(size), cpu_addr))
                 return;
 
-
--[[linux-4.4.1/dma_release_from_coherent()]]
--[[linux-4.4.1/get_order(size)]]
--[[linux-4.4.1/get_order()]]

         if (!ops->free)
                 return;
 
         debug_dma_free_coherent(dev, size, cpu_addr, dma_handle);
         ops->free(dev, size, cpu_addr, dma_handle, attrs);
-
--[[linux-4.4.1/debug_dma_free_coherent()]]

 }


**CONFIG_HAS_DMA 無効: include/asm-generic/dma-mapping-broken.h [#bcaf09d9]

 static inline void dma_free_attrs(struct device *dev, size_t size,
                                   void *cpu_addr, dma_addr_t dma_handle,
                                   struct dma_attrs *attrs)
 {
         /* attrs is not supported and ignored */
         dma_free_coherent(dev, size, cpu_addr, dma_handle);
-
--[[linux-4.4.1/dma_free_coherent()]]

 }


*コメント [#zc60591c]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS