Lines Matching refs:pages
222 struct scif_range **pages) in scif_get_pages() argument
261 *pages = kzalloc(sizeof(**pages), GFP_KERNEL); in scif_get_pages()
262 if (!*pages) { in scif_get_pages()
268 (*pages)->phys_addr = scif_zalloc(nr_pages * sizeof(dma_addr_t)); in scif_get_pages()
269 if (!((*pages)->phys_addr)) { in scif_get_pages()
276 ((*pages)->va = scif_zalloc(nr_pages * sizeof(void *))); in scif_get_pages()
277 if (!(*pages)->va) { in scif_get_pages()
283 (*pages)->cookie = window; in scif_get_pages()
284 (*pages)->nr_pages = nr_pages; in scif_get_pages()
285 (*pages)->prot_flags = window->prot; in scif_get_pages()
288 (*pages)->phys_addr[i] = in scif_get_pages()
291 (*pages)->phys_addr[i] = scif_get_phys((*pages)->phys_addr[i], in scif_get_pages()
294 (*pages)->va[i] = in scif_get_pages()
296 (*pages)->phys_addr[i] - in scif_get_pages()
304 if (*pages) { in scif_get_pages()
305 scif_free((*pages)->phys_addr, in scif_get_pages()
307 scif_free((*pages)->va, in scif_get_pages()
309 kfree(*pages); in scif_get_pages()
310 *pages = NULL; in scif_get_pages()
319 int scif_put_pages(struct scif_range *pages) in scif_put_pages() argument
325 if (!pages || !pages->cookie) in scif_put_pages()
328 window = pages->cookie; in scif_put_pages()
345 scif_put_window(window, pages->nr_pages); in scif_put_pages()
365 scif_free(pages->phys_addr, pages->nr_pages * sizeof(dma_addr_t)); in scif_put_pages()
366 scif_free(pages->va, pages->nr_pages * sizeof(void *)); in scif_put_pages()
367 kfree(pages); in scif_put_pages()