Lines Matching refs:dma
231 struct videobuf_dmabuf *dma = videobuf_to_dma(vb);
236 if (dma->sglist == NULL)
239 i = dma->sglen;
242 alloc_size = sg_dma_len(&dma->sglist[i]);
243 page = sg_page(&dma->sglist[i]);
247 __free_pages(sg_page(&dma->sglist[i]),
248 get_order(sg_dma_len(&dma->sglist[i])));
251 kfree(dma->sglist);
252 dma->sglist = NULL;
288 struct videobuf_dmabuf *dma = videobuf_to_dma(vb);
295 dma->sglist = kcalloc(max_pages, sizeof(*dma->sglist), GFP_KERNEL);
296 if (dma->sglist == NULL) {
324 sg_set_page(&dma->sglist[i], page, PAGE_SIZE << order, 0);
325 dma->sglen++;
342 dma->nr_pages = dma->sglen;
343 dma->direction = PCI_DMA_FROMDEVICE;
420 struct videobuf_dmabuf *dma = videobuf_to_dma(vb);
425 dma_unmap_sg(vbq->dev, dma->sglist, dma->sglen,
426 dma->direction);
427 dma->direction = DMA_NONE;
462 struct videobuf_dmabuf *dma)
466 dma->direction = PCI_DMA_FROMDEVICE;
467 if (!dma_map_sg(vbq->dev, dma->sglist, dma->sglen, dma->direction)) {
468 kfree(dma->sglist);
469 dma->sglist = NULL;
470 dma->sglen = 0;
573 dev_err(cam->dev, "failed to queue a video buffer for dma!\n");
634 omap24xxcam_dma_hwinit(&cam->sgdma.dma);
638 * Callback for dma transfer stalling.
645 dev_dbg(cam->dev, "dma stalled, resetting camera\n");
746 omap24xxcam_dma_isr(&cam->sgdma.dma);
1403 struct videobuf_dmabuf *dma = videobuf_to_dma(vbq->bufs[i]);
1405 for (j = 0; j < dma->sglen; j++) {
1408 page_to_pfn(sg_page(&dma->sglist[j])),
1409 sg_dma_len(&dma->sglist[j]), vma->vm_page_prot);
1412 size += sg_dma_len(&dma->sglist[j]);