GFP_KERNEL
struct xmm_dev *xmm = kzalloc(sizeof(struct xmm_dev), GFP_KERNEL);
xmm->cp = dma_alloc_coherent(xmm->dev, sizeof(struct control_page), &xmm->cp_phys, GFP_KERNEL);
ring->tds = dma_alloc_coherent(xmm->dev, sizeof(struct td_ring_entry)*depth, &ring->tds_phys, GFP_KERNEL);
ring->pages = kzalloc(sizeof(void*)*depth, GFP_KERNEL);
ring->pages_phys = kzalloc(sizeof(dma_addr_t)*depth, GFP_KERNEL);
ring->pages[i] = dma_alloc_coherent(xmm->dev, ring->page_size, &ring->pages_phys[i], GFP_KERNEL);