linux-4.4.1/dma_alloc_attrs()(gen)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#tad152d3]
#backlinks
*説明 [#v4a9e095]
-パス: 複数あり
--CONFIG_HAS_DMA 有効: [[linux-4.4.1/include/asm-generic/...
--CONFIG_HAS_DMA 無効: [[linux-4.4.1/include/asm-generic/...
--[[linux-4.4.1/CONFIG_HAS_DMA]]
-FIXME: これは何?
--説明
**引数 [#y69b0d25]
-struct device *dev
--
--[[linux-4.4.1/device]]
-size_t size
--
-dma_addr_t *dma_handle
--
--[[linux-4.4.1/dma_addr_t]]
-gfp_t flag
--
--[[linux-4.4.1/gfp_t]]
-struct dma_attrs *attrs
--
--[[linux-4.4.1/dma_attrs]]
**返り値 [#td81df23]
-なし
**参考 [#b9248b86]
*実装 [#wf0b2a83]
**CONFIG_HAS_DMA 有効: include/asm-generic/dma-mapping-co...
static inline void *dma_alloc_attrs(struct device *dev, ...
dma_addr_t *dma_h...
struct dma_attrs ...
{
struct dma_map_ops *ops = get_dma_ops(dev);
void *cpu_addr;
-
--[[linux-4.4.1/dma_map_ops]]
--[[linux-4.4.1/get_dma_ops()]]
BUG_ON(!ops);
-
--[[linux-4.4.1/BUG_ON()]]
if (dma_alloc_from_coherent(dev, size, dma_handl...
return cpu_addr;
-
--[[linux-4.4.1/dma_alloc_from_coherent()]]
-
--[[linux-4.4.1/cpu_addr(global)]]
if (!arch_dma_alloc_attrs(&dev, &flag))
return NULL;
if (!ops->alloc)
return NULL;
-
--[[linux-4.4.1/arch_dma_alloc_attrs()]]
cpu_addr = ops->alloc(dev, size, dma_handle, fla...
debug_dma_alloc_coherent(dev, size, *dma_handle,...
-
--alloc の実装については dma_map_ops から辿れます。
--[[linux-4.4.1/dma_map_ops]]
--[[linux-4.4.1/debug_dma_alloc_coherent()]]
return cpu_addr;
}
**CONFIG_HAS_DMA 無効: include/asm-generic/dma-mapping-br...
static inline void *dma_alloc_attrs(struct device *dev, ...
dma_addr_t *dma_hand...
struct dma_attrs *at...
{
/* attrs is not supported and ignored */
return dma_alloc_coherent(dev, size, dma_handle,...
-
--[[linux-4.4.1/dma_alloc_coherent()]]
}
*コメント [#l6a285fa]
終了行:
*参照元 [#tad152d3]
#backlinks
*説明 [#v4a9e095]
-パス: 複数あり
--CONFIG_HAS_DMA 有効: [[linux-4.4.1/include/asm-generic/...
--CONFIG_HAS_DMA 無効: [[linux-4.4.1/include/asm-generic/...
--[[linux-4.4.1/CONFIG_HAS_DMA]]
-FIXME: これは何?
--説明
**引数 [#y69b0d25]
-struct device *dev
--
--[[linux-4.4.1/device]]
-size_t size
--
-dma_addr_t *dma_handle
--
--[[linux-4.4.1/dma_addr_t]]
-gfp_t flag
--
--[[linux-4.4.1/gfp_t]]
-struct dma_attrs *attrs
--
--[[linux-4.4.1/dma_attrs]]
**返り値 [#td81df23]
-なし
**参考 [#b9248b86]
*実装 [#wf0b2a83]
**CONFIG_HAS_DMA 有効: include/asm-generic/dma-mapping-co...
static inline void *dma_alloc_attrs(struct device *dev, ...
dma_addr_t *dma_h...
struct dma_attrs ...
{
struct dma_map_ops *ops = get_dma_ops(dev);
void *cpu_addr;
-
--[[linux-4.4.1/dma_map_ops]]
--[[linux-4.4.1/get_dma_ops()]]
BUG_ON(!ops);
-
--[[linux-4.4.1/BUG_ON()]]
if (dma_alloc_from_coherent(dev, size, dma_handl...
return cpu_addr;
-
--[[linux-4.4.1/dma_alloc_from_coherent()]]
-
--[[linux-4.4.1/cpu_addr(global)]]
if (!arch_dma_alloc_attrs(&dev, &flag))
return NULL;
if (!ops->alloc)
return NULL;
-
--[[linux-4.4.1/arch_dma_alloc_attrs()]]
cpu_addr = ops->alloc(dev, size, dma_handle, fla...
debug_dma_alloc_coherent(dev, size, *dma_handle,...
-
--alloc の実装については dma_map_ops から辿れます。
--[[linux-4.4.1/dma_map_ops]]
--[[linux-4.4.1/debug_dma_alloc_coherent()]]
return cpu_addr;
}
**CONFIG_HAS_DMA 無効: include/asm-generic/dma-mapping-br...
static inline void *dma_alloc_attrs(struct device *dev, ...
dma_addr_t *dma_hand...
struct dma_attrs *at...
{
/* attrs is not supported and ignored */
return dma_alloc_coherent(dev, size, dma_handle,...
-
--[[linux-4.4.1/dma_alloc_coherent()]]
}
*コメント [#l6a285fa]
ページ名: