linux-4.4.1/__dma_clear_buffer()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#e0c9a76a]
#backlinks
*説明 [#n08af9e9]
-パス: [[linux-4.4.1/arch/arm/mm/dma-mapping.c]]
-FIXME: これは何?
--説明
**引数 [#vd860836]
-struct page *page
--
--[[linux-4.4.1/page]]
-size_t size
--
**返り値 [#z45568ba]
-なし
**参考 [#xdc33dd8]
*実装 [#ub46ed69]
static void __dma_clear_buffer(struct page *page, size_t...
{
/*
* Ensure that the allocated pages are zeroed, a...
* lurking in the kernel direct-mapped region is...
*/
if (PageHighMem(page)) {
-
--[[linux-4.4.1/PageHighMem()]]
phys_addr_t base = __pfn_to_phys(page_to...
phys_addr_t end = base + size;
-
--[[linux-4.4.1/__pfn_to_phys()]]
--[[linux-4.4.1/page_to_pfn()]]
while (size > 0) {
void *ptr = kmap_atomic(page);
memset(ptr, 0, PAGE_SIZE);
dmac_flush_range(ptr, ptr + PAGE...
kunmap_atomic(ptr);
-
--[[linux-4.4.1/kmap_atomic()]]
--[[linux-4.4.1/memset()]]
--[[linux-4.4.1/PAGE_SIZE]]
--[[linux-4.4.1/dmac_flush_range()]]
--[[linux-4.4.1/kunmap_atomic()]]
page++;
size -= PAGE_SIZE;
}
outer_flush_range(base, end);
-
--[[linux-4.4.1/outer_flush_range()]]
} else {
void *ptr = page_address(page);
memset(ptr, 0, size);
dmac_flush_range(ptr, ptr + size);
outer_flush_range(__pa(ptr), __pa(ptr) +...
-
--[[linux-4.4.1/page_address()]]
}
}
*コメント [#p7c9dd4b]
終了行:
*参照元 [#e0c9a76a]
#backlinks
*説明 [#n08af9e9]
-パス: [[linux-4.4.1/arch/arm/mm/dma-mapping.c]]
-FIXME: これは何?
--説明
**引数 [#vd860836]
-struct page *page
--
--[[linux-4.4.1/page]]
-size_t size
--
**返り値 [#z45568ba]
-なし
**参考 [#xdc33dd8]
*実装 [#ub46ed69]
static void __dma_clear_buffer(struct page *page, size_t...
{
/*
* Ensure that the allocated pages are zeroed, a...
* lurking in the kernel direct-mapped region is...
*/
if (PageHighMem(page)) {
-
--[[linux-4.4.1/PageHighMem()]]
phys_addr_t base = __pfn_to_phys(page_to...
phys_addr_t end = base + size;
-
--[[linux-4.4.1/__pfn_to_phys()]]
--[[linux-4.4.1/page_to_pfn()]]
while (size > 0) {
void *ptr = kmap_atomic(page);
memset(ptr, 0, PAGE_SIZE);
dmac_flush_range(ptr, ptr + PAGE...
kunmap_atomic(ptr);
-
--[[linux-4.4.1/kmap_atomic()]]
--[[linux-4.4.1/memset()]]
--[[linux-4.4.1/PAGE_SIZE]]
--[[linux-4.4.1/dmac_flush_range()]]
--[[linux-4.4.1/kunmap_atomic()]]
page++;
size -= PAGE_SIZE;
}
outer_flush_range(base, end);
-
--[[linux-4.4.1/outer_flush_range()]]
} else {
void *ptr = page_address(page);
memset(ptr, 0, size);
dmac_flush_range(ptr, ptr + size);
outer_flush_range(__pa(ptr), __pa(ptr) +...
-
--[[linux-4.4.1/page_address()]]
}
}
*コメント [#p7c9dd4b]
ページ名: