Lines Matching refs:pages
30 void _drm_gem_put_pages(struct drm_gem_object *obj, struct page **pages,
88 struct page **pages; member
122 static int get_pages(struct drm_gem_object *obj, struct page ***pages);
229 struct page **pages; in omap_gem_attach_pages() local
234 WARN_ON(omap_obj->pages); in omap_gem_attach_pages()
236 pages = drm_gem_get_pages(obj); in omap_gem_attach_pages()
237 if (IS_ERR(pages)) { in omap_gem_attach_pages()
238 dev_err(obj->dev->dev, "could not get pages: %ld\n", PTR_ERR(pages)); in omap_gem_attach_pages()
239 return PTR_ERR(pages); in omap_gem_attach_pages()
253 addrs[i] = dma_map_page(dev->dev, pages[i], in omap_gem_attach_pages()
265 omap_obj->pages = pages; in omap_gem_attach_pages()
270 drm_gem_put_pages(obj, pages, true, false); in omap_gem_attach_pages()
294 drm_gem_put_pages(obj, omap_obj->pages, true, false); in omap_gem_detach_pages()
295 omap_obj->pages = NULL; in omap_gem_detach_pages()
377 if (omap_obj->pages) { in fault_1d()
379 pfn = page_to_pfn(omap_obj->pages[pgoff]); in fault_1d()
398 struct page *pages[64]; /* XXX is this too much to have on stack? */ in fault_2d() local
464 memcpy(pages, &omap_obj->pages[base_pgoff], in fault_2d()
466 memset(pages + slots, 0, in fault_2d()
469 ret = tiler_pin(entry->block, pages, ARRAY_SIZE(pages), 0, true); in fault_2d()
510 struct page **pages; in omap_gem_fault() local
519 ret = get_pages(obj, &pages); in omap_gem_fault()
678 struct page **pages; in omap_gem_roll() local
679 ret = get_pages(obj, &pages); in omap_gem_roll()
682 ret = tiler_pin(omap_obj->block, pages, npages, roll, true); in omap_gem_roll()
717 struct page **pages = omap_obj->pages; in omap_gem_dma_sync() local
722 omap_obj->addrs[i] = dma_map_page(dev->dev, pages[i], 0, in omap_gem_dma_sync()
750 struct page **pages; in omap_gem_get_paddr() local
757 ret = get_pages(obj, &pages); in omap_gem_get_paddr()
777 ret = tiler_pin(block, pages, npages, in omap_gem_get_paddr()
873 static int get_pages(struct drm_gem_object *obj, struct page ***pages) in get_pages() argument
878 if (is_shmem(obj) && !omap_obj->pages) { in get_pages()
887 *pages = omap_obj->pages; in get_pages()
902 int omap_gem_get_pages(struct drm_gem_object *obj, struct page ***pages, in omap_gem_get_pages() argument
908 if (!omap_obj->pages) in omap_gem_get_pages()
910 *pages = omap_obj->pages; in omap_gem_get_pages()
914 ret = get_pages(obj, pages); in omap_gem_get_pages()
938 struct page **pages; in omap_gem_vaddr() local
939 int ret = get_pages(obj, &pages); in omap_gem_vaddr()
942 omap_obj->vaddr = vmap(pages, obj->size >> PAGE_SHIFT, in omap_gem_vaddr()
961 WARN_ON(!omap_obj->pages); /* this can't happen */ in omap_gem_resume()
963 omap_obj->pages, npages, in omap_gem_resume()
1296 if (omap_obj->pages) in omap_gem_free_object()