linux-4.4.1/__dma_alloc_buffer()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#r9cf43ae]
#backlinks
*説明 [#ye50cf11]
-パス: [[linux-4.4.1/arch/arm/mm/dma-mapping.c]]
-FIXME: これは何?
--説明
**引数 [#se3fdec5]
-struct device *dev
--
--[[linux-4.4.1/device]]
-size_t size
--
-gfp_t gfp
--
--[[linux-4.4.1/gfp_t]]
**返り値 [#zbb033c7]
-struct page *
--
**参考 [#td267c24]
*実装 [#le769183]
/*
* Allocate a DMA buffer for 'dev' of size 'size' using ...
* specified gfp mask. Note that 'size' must be page al...
*/
static struct page *__dma_alloc_buffer(struct device *de...
{
unsigned long order = get_order(size);
struct page *page, *p, *e;
-
--[[linux-4.4.1/get_order()]]
page = alloc_pages(gfp, order);
if (!page)
return NULL;
-
--[[linux-4.4.1/alloc_pages()]]
/*
* Now split the huge page and free the excess p...
*/
split_page(page, order);
-
--[[linux-4.4.1/split_page()]]
for (p = page + (size >> PAGE_SHIFT), e = page +...
__free_page(p);
-
--[[linux-4.4.1/__free_page()]]
__dma_clear_buffer(page, size);
-
--[[linux-4.4.1/__dma_clear_buffer()]]
return page;
}
*コメント [#be52eb8a]
終了行:
*参照元 [#r9cf43ae]
#backlinks
*説明 [#ye50cf11]
-パス: [[linux-4.4.1/arch/arm/mm/dma-mapping.c]]
-FIXME: これは何?
--説明
**引数 [#se3fdec5]
-struct device *dev
--
--[[linux-4.4.1/device]]
-size_t size
--
-gfp_t gfp
--
--[[linux-4.4.1/gfp_t]]
**返り値 [#zbb033c7]
-struct page *
--
**参考 [#td267c24]
*実装 [#le769183]
/*
* Allocate a DMA buffer for 'dev' of size 'size' using ...
* specified gfp mask. Note that 'size' must be page al...
*/
static struct page *__dma_alloc_buffer(struct device *de...
{
unsigned long order = get_order(size);
struct page *page, *p, *e;
-
--[[linux-4.4.1/get_order()]]
page = alloc_pages(gfp, order);
if (!page)
return NULL;
-
--[[linux-4.4.1/alloc_pages()]]
/*
* Now split the huge page and free the excess p...
*/
split_page(page, order);
-
--[[linux-4.4.1/split_page()]]
for (p = page + (size >> PAGE_SHIFT), e = page +...
__free_page(p);
-
--[[linux-4.4.1/__free_page()]]
__dma_clear_buffer(page, size);
-
--[[linux-4.4.1/__dma_clear_buffer()]]
return page;
}
*コメント [#be52eb8a]
ページ名: