*参照元 [#o04a95ef]
#backlinks

*説明 [#r3efd328]
-パス: [[linux-4.4.1/include/linux/dma-contiguous.h]]

-デバイス固有の CMA 領域を返す。
--デバイス固有の CMA 領域を持っていないときは、システムデフォルトの CMA 領域を返す。
--コンフィグで CMA が無効のときは失敗する。
-システムデフォルトの CMA 領域は dma_contiguous_reserve() にて初期化される。
--[[linux-4.4.1/dma_contiguous_reserve()]]


**引数 [#o035a4ed]
-struct device *dev
--デバイス。
--NULL を渡すとシステムデフォルトの CMA 領域を返す。
--[[linux-4.4.1/device]]


**返り値 [#z8c547d5]
-struct cma *
--CMA 領域。失敗した場合は NULL を返す。
--[[linux-4.4.1/cma]]


**参考 [#v104e071]


*実装 [#i58a8086]

**CONFIG_DMA_CMA 有効 [#n01c3ab9]
-
--[[linux-4.4.1/CONFIG_DMA_CMA]]

 static inline struct cma *dev_get_cma_area(struct device *dev)
 {
         if (dev && dev->cma_area)
                 return dev->cma_area;
         return dma_contiguous_default_area;
-デバイス固有の領域(dev->cma_area)があれば、それを返す。
-デバイスを指定しない(dev が NULL)、または、デバイス固有の領域がない(dev->cma_area が NULL)場合は、システムデフォルトの CMA 領域を返す。
--[[linux-4.4.1/dma_contiguous_default_area(global)]]

 }


**CONFIG_DMA_CMA 無効 [#tc981db8]
 static inline struct cma *dev_get_cma_area(struct device *dev)
 {
         return NULL;
 }
-常に失敗する。


*コメント [#xbe6d23a]

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