linux-2.6.33/dma_cache_maint(arm)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#kbe1ff41]
#backlinks
*説明 [#t00bb5e9]
-パス: [[linux-2.6.33/arch/arm/mm/dma-mapping.c]]
-FIXME: これは何?
--説明
**引数 [#f1e0040c]
-const void *start
--
-size_t size
--
-int direction
--
**返り値 [#g38856b9]
-なし
**参考 [#se1cdf37]
*実装 [#y167ee8d]
/*
* Make an area consistent for devices.
* Note: Drivers should NOT use this function directly, ...
* platforms with CONFIG_DMABOUNCE.
* Use the driver DMA support - see dma-mapping.h (dma_s...
*/
void dma_cache_maint(const void *start, size_t size, int...
{
void (*inner_op)(const void *, const void *);
void (*outer_op)(unsigned long, unsigned long);
BUG_ON(!virt_addr_valid(start) || !virt_addr_valid(star...
-
--[[linux-2.6.33/virt_addr_valid()]]
-
--[[linux-2.6.33/BUG_ON()]]
switch (direction) {
case DMA_FROM_DEVICE: /* invalidate only */
inner_op = dmac_inv_range;
outer_op = outer_inv_range;
-
--[[linux-2.6.33/DMA_FROM_DEVICE]]
--[[linux-2.6.33/dmac_inv_range]]
--[[linux-2.6.33/outer_inv_range]]
break;
case DMA_TO_DEVICE: /* writeback only */
inner_op = dmac_clean_range;
outer_op = outer_clean_range;
-
--[[linux-2.6.33/DMA_TO_DEVICE]]
--[[linux-2.6.33/dmac_clean_range]]
--[[linux-2.6.33/outer_clean_range]]
break;
case DMA_BIDIRECTIONAL: /* writeback and invalidate */
inner_op = dmac_flush_range;
outer_op = outer_flush_range;
-
--[[linux-2.6.33/DMA_BIDIRECTIONAL]]
--[[linux-2.6.33/dmac_flush_range]]
--[[linux-2.6.33/outer_flush_range]]
break;
default:
BUG();
-
--[[linux-2.6.33/BUG()]]
}
inner_op(start, start + size);
outer_op(__pa(start), __pa(start) + size);
}
EXPORT_SYMBOL(dma_cache_maint);
-ライセンスに関係なくシンボルを公開する。
--[[linux-2.6.33/EXPORT_SYMBOL()]]
*コメント [#xbfddf8e]
終了行:
*参照元 [#kbe1ff41]
#backlinks
*説明 [#t00bb5e9]
-パス: [[linux-2.6.33/arch/arm/mm/dma-mapping.c]]
-FIXME: これは何?
--説明
**引数 [#f1e0040c]
-const void *start
--
-size_t size
--
-int direction
--
**返り値 [#g38856b9]
-なし
**参考 [#se1cdf37]
*実装 [#y167ee8d]
/*
* Make an area consistent for devices.
* Note: Drivers should NOT use this function directly, ...
* platforms with CONFIG_DMABOUNCE.
* Use the driver DMA support - see dma-mapping.h (dma_s...
*/
void dma_cache_maint(const void *start, size_t size, int...
{
void (*inner_op)(const void *, const void *);
void (*outer_op)(unsigned long, unsigned long);
BUG_ON(!virt_addr_valid(start) || !virt_addr_valid(star...
-
--[[linux-2.6.33/virt_addr_valid()]]
-
--[[linux-2.6.33/BUG_ON()]]
switch (direction) {
case DMA_FROM_DEVICE: /* invalidate only */
inner_op = dmac_inv_range;
outer_op = outer_inv_range;
-
--[[linux-2.6.33/DMA_FROM_DEVICE]]
--[[linux-2.6.33/dmac_inv_range]]
--[[linux-2.6.33/outer_inv_range]]
break;
case DMA_TO_DEVICE: /* writeback only */
inner_op = dmac_clean_range;
outer_op = outer_clean_range;
-
--[[linux-2.6.33/DMA_TO_DEVICE]]
--[[linux-2.6.33/dmac_clean_range]]
--[[linux-2.6.33/outer_clean_range]]
break;
case DMA_BIDIRECTIONAL: /* writeback and invalidate */
inner_op = dmac_flush_range;
outer_op = outer_flush_range;
-
--[[linux-2.6.33/DMA_BIDIRECTIONAL]]
--[[linux-2.6.33/dmac_flush_range]]
--[[linux-2.6.33/outer_flush_range]]
break;
default:
BUG();
-
--[[linux-2.6.33/BUG()]]
}
inner_op(start, start + size);
outer_op(__pa(start), __pa(start) + size);
}
EXPORT_SYMBOL(dma_cache_maint);
-ライセンスに関係なくシンボルを公開する。
--[[linux-2.6.33/EXPORT_SYMBOL()]]
*コメント [#xbfddf8e]
ページ名: