*参照元 [#ba7757ed]
#backlinks

*説明 [#i7be32dc]
-パス: [[linux-4.4.1/drivers/staging/android/ion/ion_carveout_heap.c]]

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


**引数 [#e7f5e665]
-struct ion_buffer *buffer
--
--[[linux-4.4.1/ion_buffer]]


**返り値 [#jcf38159]
-なし


**参考 [#v95a6d2c]


*実装 [#b8f0968e]
 static void ion_carveout_heap_free(struct ion_buffer *buffer)
 {
         struct ion_heap *heap = buffer->heap;
         struct sg_table *table = buffer->priv_virt;
         struct page *page = sg_page(table->sgl);
         ion_phys_addr_t paddr = PFN_PHYS(page_to_pfn(page));
 
-
--[[linux-4.4.1/ion_heap]]
--[[linux-4.4.1/sg_table]]
--[[linux-4.4.1/page]]
--[[linux-4.4.1/sg_page()]]
--[[linux-4.4.1/ion_phys_addr_t]]
--[[linux-4.4.1/PFN_PHYS()]]
--[[linux-4.4.1/page_to_pfn()]]

         ion_heap_buffer_zero(buffer);
 
-
--[[linux-4.4.1/ion_heap_buffer_zero()]]

         if (ion_buffer_cached(buffer))
                 dma_sync_sg_for_device(NULL, table->sgl, table->nents,
                                                         DMA_BIDIRECTIONAL);
 
-
--[[linux-4.4.1/ion_buffer_cached()]]
--[[linux-4.4.1/dma_sync_sg_for_device()]]

         ion_carveout_free(heap, paddr, buffer->size);
         sg_free_table(table);
         kfree(table);
-
--[[linux-4.4.1/ion_carveout_free()]]
--[[linux-4.4.1/sg_free_table()]]
--[[linux-4.4.1/kfree()]]

 }


*コメント [#g6ee6969]


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