Quoting Chris Wilson (2017-06-22 14:30:08)
> static void *vgem_prime_vmap(struct drm_gem_object *obj)
> {
> + struct drm_vgem_gem_object *bo = to_vgem_bo(obj);
> long n_pages = obj->size >> PAGE_SHIFT;
> struct page **pages;
> void *addr;
>
> - pages = drm_gem_get_pages(obj);
> + pages = vgem_pin_pages(bo);
> if (IS_ERR(pages))
> return NULL;
>
> addr = vmap(pages, n_pages, 0, pgprot_writecombine(PAGE_KERNEL));
> - drm_gem_put_pages(obj, pages, false, false);
> +
> + vgem_unpin_pages(bo);
Ho hum, memory says vmap() itself doesn't pin the pages, so we need to
drop the pin on prime_vunamp.
-Chris
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel