*参照元 [#lbeff09d]
#backlinks

*説明 [#t128c080]
-パス: [[linux-4.4.1/arch/arm/mm/dma.h]]

-FIXME: これは何?
--この API を直接呼んではならない。


**引数 [#cd58537b]
-const void *start
--
-size_t size
--
-int dir
--


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


**参考 [#c91a5d18]

併記されているコメント。

 /*
  * These are private to the dma-mapping API.  Do not use directly.
  * Their sole purpose is to ensure that data held in the cache
  * is visible to DMA, or data written by DMA to system memory is
  * visible to the CPU.
  */


*実装 [#h0f3e021]

**MULTI_CACHE 無効 [#w0ac8928]

-単一の CPU 向けにビルドしていて、キャッシュの操作が 1種類しか無い場合。
--[[linux-4.4.1/MULTI_CACHE]]

 #define dmac_unmap_area                 __glue(_CACHE,_dma_unmap_area)
-__glue() は名前を結合して一つのトークンにするマクロ。
-_CACHE は ARM アーキテクチャ名(v4, fa, arm926 など)を持つトークンで、関数名の接頭辞となる。
-例えば _CACHE が v4 であれば __glue(_CACHE,_dma_unmap_area) は v4_dma_unmap_area となる。
--[[linux-4.4.1/_CACHE]]
--[[linux-4.4.1/__glue()]]
-たとえば ARMv7 なら v7_dma_unmap_area() になる。
--[[linux-4.4.1/v7_dma_unmap_area()]]


**MULTI_CACHE 有効 [#q9b84d21]

-複数の CPU 向けにビルドしていて、キャッシュの操作が複数ある場合。

 #define dmac_unmap_area                 cpu_cache.dma_unmap_area
-
--[[linux-4.4.1/cpu_cache(global)]]


*コメント [#w390113a]

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