Lines Matching refs:uiomem
51 struct uio_mem *uiomem; in uio_dmem_genirq_open() local
53 uiomem = &priv->uioinfo->mem[priv->dmem_region_start]; in uio_dmem_genirq_open()
56 while (!priv->refcnt && uiomem < &priv->uioinfo->mem[MAX_UIO_MAPS]) { in uio_dmem_genirq_open()
58 if (!uiomem->size) in uio_dmem_genirq_open()
61 addr = dma_alloc_coherent(&priv->pdev->dev, uiomem->size, in uio_dmem_genirq_open()
62 &uiomem->dma_addr, GFP_KERNEL); in uio_dmem_genirq_open()
63 uiomem->addr = addr ? (uintptr_t) addr : DMEM_MAP_ERROR; in uio_dmem_genirq_open()
64 ++uiomem; in uio_dmem_genirq_open()
77 struct uio_mem *uiomem; in uio_dmem_genirq_release() local
82 uiomem = &priv->uioinfo->mem[priv->dmem_region_start]; in uio_dmem_genirq_release()
87 while (!priv->refcnt && uiomem < &priv->uioinfo->mem[MAX_UIO_MAPS]) { in uio_dmem_genirq_release()
88 if (!uiomem->size) in uio_dmem_genirq_release()
90 if (uiomem->addr) { in uio_dmem_genirq_release()
91 dma_free_coherent(uiomem->dma_device, uiomem->size, in uio_dmem_genirq_release()
92 (void *) (uintptr_t) uiomem->addr, in uio_dmem_genirq_release()
93 uiomem->dma_addr); in uio_dmem_genirq_release()
95 uiomem->addr = DMEM_MAP_ERROR; in uio_dmem_genirq_release()
96 ++uiomem; in uio_dmem_genirq_release()
157 struct uio_mem *uiomem; in uio_dmem_genirq_probe() local
229 uiomem = &uioinfo->mem[0]; in uio_dmem_genirq_probe()
237 if (uiomem >= &uioinfo->mem[MAX_UIO_MAPS]) { in uio_dmem_genirq_probe()
244 uiomem->memtype = UIO_MEM_PHYS; in uio_dmem_genirq_probe()
245 uiomem->addr = r->start; in uio_dmem_genirq_probe()
246 uiomem->size = resource_size(r); in uio_dmem_genirq_probe()
247 ++uiomem; in uio_dmem_genirq_probe()
250 priv->dmem_region_start = uiomem - &uioinfo->mem[0]; in uio_dmem_genirq_probe()
254 if (uiomem >= &uioinfo->mem[MAX_UIO_MAPS]) { in uio_dmem_genirq_probe()
260 uiomem->memtype = UIO_MEM_DMA_COHERENT; in uio_dmem_genirq_probe()
261 uiomem->dma_device = &pdev->dev; in uio_dmem_genirq_probe()
262 uiomem->addr = DMEM_MAP_ERROR; in uio_dmem_genirq_probe()
263 uiomem->size = pdata->dynamic_region_sizes[i]; in uio_dmem_genirq_probe()
264 ++uiomem; in uio_dmem_genirq_probe()
267 while (uiomem < &uioinfo->mem[MAX_UIO_MAPS]) { in uio_dmem_genirq_probe()
268 uiomem->size = 0; in uio_dmem_genirq_probe()
269 ++uiomem; in uio_dmem_genirq_probe()