a question on coherent_dma_mask

Chan Kim ckim at etri.re.kr
Fri May 23 07:24:14 EDT 2014


Dear folks,

I have a basic question, in __dma_alloc_buffer function (arch/arm/mm/dma-mapping.c, v3.3)

u64 mask = get_coherent_dma_mask(dev);
        if (!mask)
                return NULL;

        if (mask < 0xffffffffULL)
                gfp |= GFP_DMA;
        page = alloc_pages(gfp, order);
        if (!page)
                return NULL;
...

what does the second if statement mean? 
(I'm accessing this function to get memory for DMA. then should I have coherent_dma_mask < 0xffffffff ? if so, what does it mean? )

Thanks,

Chan


More information about the Kernelnewbies mailing list