bus_dmamem_alloc
    Mark Tinguely 
    tinguely at casselton.net
       
    Thu Mar 20 10:29:24 PDT 2008
    
    
  
>  so I'm running:
>
>  err =
>  bus_dmamem_alloc(ring->dma_tag, &ring->buf,
>  BUS_DMA_NOWAIT|BUS_DMA_ALLOCNOW, &ring->dma_map);
>
>  but after calling bus_dmamem_allloc the dma_map variable is still NULL. is
>  this OK?
Sure, you are allocating with BUS_DMA_NOWAIT. err is probably equal to ENOMEM.
If allocation size is larger than a PAGE_SIZE or specific alignment is
require then contigmalloc() is called to satisfy the allocation.
contigmalloc() can fail even when specifying WAITOK.
--Mark Tinguely.
    
    
More information about the freebsd-questions
mailing list