Lines Matching refs:dma

270 	struct saa7134_dmasound *dma = &dev->dmasound;  in saa7134_alsa_dma_init()  local
274 dma->vaddr = vmalloc_32(nr_pages << PAGE_SHIFT); in saa7134_alsa_dma_init()
275 if (NULL == dma->vaddr) { in saa7134_alsa_dma_init()
281 (unsigned long)dma->vaddr, in saa7134_alsa_dma_init()
284 memset(dma->vaddr, 0, nr_pages << PAGE_SHIFT); in saa7134_alsa_dma_init()
285 dma->nr_pages = nr_pages; in saa7134_alsa_dma_init()
287 dma->sglist = vzalloc(dma->nr_pages * sizeof(*dma->sglist)); in saa7134_alsa_dma_init()
288 if (NULL == dma->sglist) in saa7134_alsa_dma_init()
291 sg_init_table(dma->sglist, dma->nr_pages); in saa7134_alsa_dma_init()
292 for (i = 0; i < dma->nr_pages; i++) { in saa7134_alsa_dma_init()
293 pg = vmalloc_to_page(dma->vaddr + i * PAGE_SIZE); in saa7134_alsa_dma_init()
296 sg_set_page(&dma->sglist[i], pg, PAGE_SIZE, 0); in saa7134_alsa_dma_init()
301 vfree(dma->sglist); in saa7134_alsa_dma_init()
302 dma->sglist = NULL; in saa7134_alsa_dma_init()
304 vfree(dma->vaddr); in saa7134_alsa_dma_init()
305 dma->vaddr = NULL; in saa7134_alsa_dma_init()
311 struct saa7134_dmasound *dma = &dev->dmasound; in saa7134_alsa_dma_map() local
313 dma->sglen = dma_map_sg(&dev->pci->dev, dma->sglist, in saa7134_alsa_dma_map()
314 dma->nr_pages, PCI_DMA_FROMDEVICE); in saa7134_alsa_dma_map()
316 if (0 == dma->sglen) { in saa7134_alsa_dma_map()
325 struct saa7134_dmasound *dma = &dev->dmasound; in saa7134_alsa_dma_unmap() local
327 if (!dma->sglen) in saa7134_alsa_dma_unmap()
330 dma_unmap_sg(&dev->pci->dev, dma->sglist, dma->sglen, PCI_DMA_FROMDEVICE); in saa7134_alsa_dma_unmap()
331 dma->sglen = 0; in saa7134_alsa_dma_unmap()
335 static int saa7134_alsa_dma_free(struct saa7134_dmasound *dma) in saa7134_alsa_dma_free() argument
337 vfree(dma->sglist); in saa7134_alsa_dma_free()
338 dma->sglist = NULL; in saa7134_alsa_dma_free()
339 vfree(dma->vaddr); in saa7134_alsa_dma_free()
340 dma->vaddr = NULL; in saa7134_alsa_dma_free()
573 (dev->dmasound.pt.dma >> 12); in snd_card_saa7134_capture_prepare()