Lines Matching refs:dma
242 /* start dma */
245 /* stop dma */
258 struct saa7134_dmasound *dma = &dev->dmasound;
262 dma->vaddr = vmalloc_32(nr_pages << PAGE_SHIFT);
263 if (NULL == dma->vaddr) {
269 dma->vaddr, nr_pages << PAGE_SHIFT);
271 memset(dma->vaddr, 0, nr_pages << PAGE_SHIFT);
272 dma->nr_pages = nr_pages;
274 dma->sglist = vzalloc(array_size(sizeof(*dma->sglist), dma->nr_pages));
275 if (NULL == dma->sglist)
278 sg_init_table(dma->sglist, dma->nr_pages);
279 for (i = 0; i < dma->nr_pages; i++) {
280 pg = vmalloc_to_page(dma->vaddr + i * PAGE_SIZE);
283 sg_set_page(&dma->sglist[i], pg, PAGE_SIZE, 0);
288 vfree(dma->sglist);
289 dma->sglist = NULL;
291 vfree(dma->vaddr);
292 dma->vaddr = NULL;
298 struct saa7134_dmasound *dma = &dev->dmasound;
300 dma->sglen = dma_map_sg(&dev->pci->dev, dma->sglist,
301 dma->nr_pages, DMA_FROM_DEVICE);
303 if (0 == dma->sglen) {
312 struct saa7134_dmasound *dma = &dev->dmasound;
314 if (!dma->sglen)
317 dma_unmap_sg(&dev->pci->dev, dma->sglist, dma->nr_pages, DMA_FROM_DEVICE);
318 dma->sglen = 0;
322 static int saa7134_alsa_dma_free(struct saa7134_dmasound *dma)
324 vfree(dma->sglist);
325 dma->sglist = NULL;
326 vfree(dma->vaddr);
327 dma->vaddr = NULL;
557 /* dma: setup channel 6 (= AUDIO) */
560 (dev->dmasound.pt.dma >> 12);