*参照元 [#gec5113d] #backlinks *説明 [#qb38e0e9] -パス: [[linux-4.4.1/sound/core/memalloc.c]] -FIXME: これは何? --説明 **引数 [#qdc4a7d5] -struct device *dev -- --[[linux-4.4.1/device]] -size_t size -- -dma_addr_t *dma -- --[[linux-4.4.1/dma\addr_t]] **返り値 [#z9a39692] -void * -- **参考 [#r679b972] *実装 [#w277f430] #ifdef CONFIG_HAS_DMA - --[[linux-4.4.1/CONFIG_HAS_DMA]] /* allocate the coherent DMA pages */ static void *snd_malloc_dev_pages(struct device *dev, size_t size, dma_addr_t *dma) { int pg; gfp_t gfp_flags; - --[[linux-4.4.1/gfp_t]] if (WARN_ON(!dma)) return NULL; - --[[linux-4.4.1/WARN_ON()]] pg = get_order(size); gfp_flags = GFP_KERNEL | __GFP_COMP /* compound page lets parts be mapped */ | __GFP_NORETRY /* don't trigger OOM-killer */ | __GFP_NOWARN; /* no stack trace print - this call is non-critical */ return dma_alloc_coherent(dev, PAGE_SIZE << pg, dma, gfp_flags); - --[[linux-4.4.1/get_order()]] --[[linux-4.4.1/dma_alloc_coherent()]] } *コメント [#hc82266c]