void udl_gem_vunmap(struct udl_gem_object *obj) { if (obj->vmapping) vunmap(obj->vmapping); udl_gem_put_pages(obj); }
void udl_gem_vunmap(struct udl_gem_object *obj) { if (obj->base.import_attach) { dma_buf_vunmap(obj->base.import_attach->dmabuf, obj->vmapping); return; } vunmap(obj->vmapping); udl_gem_put_pages(obj); }
void udl_gem_vunmap(struct udl_gem_object *obj) { if (obj->base.import_attach) { dma_buf_vunmap(obj->base.import_attach->dmabuf, obj->vmapping); dma_buf_end_cpu_access(obj->base.import_attach->dmabuf, 0, obj->base.size, DMA_BIDIRECTIONAL); return; } if (obj->vmapping) vunmap(obj->vmapping); udl_gem_put_pages(obj); }
void udl_gem_free_object(struct drm_gem_object *gem_obj) { struct udl_gem_object *obj = to_udl_bo(gem_obj); if (obj->vmapping) udl_gem_vunmap(obj); if (gem_obj->import_attach) drm_prime_gem_destroy(gem_obj, obj->sg); if (obj->pages) udl_gem_put_pages(obj); drm_gem_free_mmap_offset(gem_obj); }