*参照元 [#n8a2d3ac]
#backlinks

*説明 [#c18c2916]
-パス: [[linux-4.4.1/drivers/base/dma-coherent.c]]

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


**引数 [#e50ff405]
-struct reserved_mem *rmem
--
--[[linux-4.4.1/reserved_mem]]


**返り値 [#i53f25b9]
-int
--


**参考 [#tb16e2b0]


*実装 [#i96706df]
 static int __init rmem_dma_setup(struct reserved_mem *rmem)
 {
         unsigned long node = rmem->fdt_node;
 
         if (of_get_flat_dt_prop(node, "reusable", NULL))
                 return -EINVAL;
 
-
--[[linux-4.4.1/of_get_flat_dt_prop()]]

 #ifdef CONFIG_ARM
-
--[[linux-4.4.1/CONFIG_ARM]]

         if (!of_get_flat_dt_prop(node, "no-map", NULL)) {
                 pr_err("Reserved memory: regions without no-map are not yet supported\n");
                 return -EINVAL;
         }
-
-ARM の場合は no-map プロパティが存在しないとエラーになる。
-FIXME: aarch64 はなぜ存在しなくて良い??
--[[linux-4.4.1/CONFIG_ARM]]
--[[linux-4.4.1/of_get_flat_dt_prop()]]
--[[linux-4.4.1/pr_err()]]

 #endif
 
         rmem->ops = &rmem_dma_ops;
-
--[[linux-4.4.1/rmem_dma_ops(global)]]

         pr_info("Reserved memory: created DMA memory pool at %pa, size %ld MiB\n",
                 &rmem->base, (unsigned long)rmem->size / SZ_1M);
-
--[[linux-4.4.1/pr_info()]]

         return 0;
 }
 RESERVEDMEM_OF_DECLARE(dma, "shared-dma-pool", rmem_dma_setup);
-
--[[linux-4.4.1/RESERVEDMEM_OF_DECLARE()]]
--[[linux-4.4.1/__of_table_dma(global)]]


*コメント [#j38aa94c]

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