linux-4.4.1/swiotlb_tbl_sync_single()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#r5a6ed5d]
#backlinks
*説明 [#n84fb878]
-パス: [[linux-4.4.1/lib/swiotlb.c]]
-FIXME: これは何?
--説明
**引数 [#e76d6a19]
-struct device *hwdev
--
--[[linux-4.4.1/device]]
-phys_addr_t tlb_addr
--
--[[linux-4.4.1/phys_addr_t]]
-size_t size
--
-enum dma_data_direction dir
--
--[[linux-4.4.1/dma_data_direction]]
-enum dma_sync_target target
--
--[[linux-4.4.1/dma_sync_target]]
**返り値 [#x8820020]
-なし
**参考 [#r8fb8612]
*実装 [#a11d0007]
void swiotlb_tbl_sync_single(struct device *hwdev, phys_...
size_t size, enum dma_data_...
enum dma_sync_target target)
{
int index = (tlb_addr - io_tlb_start) >> IO_TLB_...
phys_addr_t orig_addr = io_tlb_orig_addr[index];
-
--[[linux-4.4.1/io_tlb_start(global)]]
--[[linux-4.4.1/io_tlb_orig_addr(global)]]
if (orig_addr == INVALID_PHYS_ADDR)
return;
orig_addr += (unsigned long)tlb_addr & ((1 << IO...
switch (target) {
case SYNC_FOR_CPU:
if (likely(dir == DMA_FROM_DEVICE || dir...
swiotlb_bounce(orig_addr, tlb_ad...
size, DMA_FROM_DE...
else
BUG_ON(dir != DMA_TO_DEVICE);
break;
-
--[[linux-4.4.1/swiotlb_bounce()]]
--[[linux-4.4.1/BUG_ON()]]
case SYNC_FOR_DEVICE:
if (likely(dir == DMA_TO_DEVICE || dir =...
swiotlb_bounce(orig_addr, tlb_ad...
size, DMA_TO_DEVI...
else
BUG_ON(dir != DMA_FROM_DEVICE);
break;
default:
BUG();
-
--[[linux-4.4.1/BUG()]]
}
}
EXPORT_SYMBOL_GPL(swiotlb_tbl_sync_single);
-
--[[linux-4.4.1/EXPORT_SYMBOL_GPL()]]
*コメント [#sa4152b7]
終了行:
*参照元 [#r5a6ed5d]
#backlinks
*説明 [#n84fb878]
-パス: [[linux-4.4.1/lib/swiotlb.c]]
-FIXME: これは何?
--説明
**引数 [#e76d6a19]
-struct device *hwdev
--
--[[linux-4.4.1/device]]
-phys_addr_t tlb_addr
--
--[[linux-4.4.1/phys_addr_t]]
-size_t size
--
-enum dma_data_direction dir
--
--[[linux-4.4.1/dma_data_direction]]
-enum dma_sync_target target
--
--[[linux-4.4.1/dma_sync_target]]
**返り値 [#x8820020]
-なし
**参考 [#r8fb8612]
*実装 [#a11d0007]
void swiotlb_tbl_sync_single(struct device *hwdev, phys_...
size_t size, enum dma_data_...
enum dma_sync_target target)
{
int index = (tlb_addr - io_tlb_start) >> IO_TLB_...
phys_addr_t orig_addr = io_tlb_orig_addr[index];
-
--[[linux-4.4.1/io_tlb_start(global)]]
--[[linux-4.4.1/io_tlb_orig_addr(global)]]
if (orig_addr == INVALID_PHYS_ADDR)
return;
orig_addr += (unsigned long)tlb_addr & ((1 << IO...
switch (target) {
case SYNC_FOR_CPU:
if (likely(dir == DMA_FROM_DEVICE || dir...
swiotlb_bounce(orig_addr, tlb_ad...
size, DMA_FROM_DE...
else
BUG_ON(dir != DMA_TO_DEVICE);
break;
-
--[[linux-4.4.1/swiotlb_bounce()]]
--[[linux-4.4.1/BUG_ON()]]
case SYNC_FOR_DEVICE:
if (likely(dir == DMA_TO_DEVICE || dir =...
swiotlb_bounce(orig_addr, tlb_ad...
size, DMA_TO_DEVI...
else
BUG_ON(dir != DMA_FROM_DEVICE);
break;
default:
BUG();
-
--[[linux-4.4.1/BUG()]]
}
}
EXPORT_SYMBOL_GPL(swiotlb_tbl_sync_single);
-
--[[linux-4.4.1/EXPORT_SYMBOL_GPL()]]
*コメント [#sa4152b7]
ページ名: