*参照元 [#jaa0c915]
#backlinks

*説明 [#x6074dee]
-パス: [[linux-4.4.1/arch/arm/mm/dma-mapping.c]]

-FIXME: これは何?
--説明


**引数 [#f83af901]
-struct device *dev
--
--[[linux-4.4.1/device]]
-size_t size
--
-gfp_t gfp
--
--[[linux-4.4.1/gfp_t]]
-pgprot_t prot
--
--[[linux-4.4.1/pgprot_t]]
-struct page **ret_page
--
--[[linux-4.4.1/page]]
-const void *caller
--
-bool want_vaddr
--


**返り値 [#lf75dcc5]
-void *
--


**参考 [#rdddca05]


*実装 [#fe962985]

**CONFIG_MMU 有効 [#v9cdcf63]

-
--[[linux-4.4.1/CONFIG_MMU]]

 static void *__alloc_remap_buffer(struct device *dev, size_t size, gfp_t gfp,
                                  pgprot_t prot, struct page **ret_page,
                                  const void *caller, bool want_vaddr)
 {
         struct page *page;
         void *ptr = NULL;
         page = __dma_alloc_buffer(dev, size, gfp);
         if (!page)
                 return NULL;
         if (!want_vaddr)
                 goto out;
 
-
--[[linux-4.4.1/__dma_alloc_buffer()]]

         ptr = __dma_alloc_remap(page, size, gfp, prot, caller);
-
--[[linux-4.4.1/__dma_alloc_remap()]]

         if (!ptr) {
                 __dma_free_buffer(page, size);
                 return NULL;
         }
-
--[[linux-4.4.1/__dma_free_buffer()]]

 
  out:
         *ret_page = page;
         return ptr;
 }


**CONFIG_MMU 無効 [#w27aa0cc]

 #define __alloc_remap_buffer(dev, size, gfp, prot, ret, c, wv)  NULL
-常に NULL を返す。


*コメント [#l96caa8d]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS