Rob Herring <r...@kernel.org> writes:

> From: Noralf Trønnes <nor...@tronnes.org>
>
> This adds a library for shmem backed GEM objects.
>
> v7:
> - Use write-combine for mmap instead. This is the more common
>   case. (robher)
>
> v6:
> - Fix uninitialized variable issue in an error path (anholt).
> - Add a drm_gem_shmem_vm_open() to the fops to get proper refcounting
>   of the pages (anholt).
>
> v5:
> - Drop drm_gem_shmem_prime_mmap() (Daniel Vetter)
> - drm_gem_shmem_mmap(): Subtract drm_vma_node_start() to get the real
>   vma->vm_pgoff
> - drm_gem_shmem_fault(): Use vmf->pgoff now that vma->vm_pgoff is correct
>
> v4:
> - Drop cache modes (Thomas Hellstrom)
> - Add a GEM attached vtable
>
> v3:
> - Grammar (Sam Ravnborg)
> - s/drm_gem_shmem_put_pages_unlocked/drm_gem_shmem_put_pages_locked/
>   (Sam Ravnborg)
> - Add debug output in error path (Sam Ravnborg)
>
> Signed-off-by: Noralf Trønnes <nor...@tronnes.org>
> Signed-off-by: Eric Anholt <e...@anholt.net>
> Signed-off-by: Rob Herring <r...@kernel.org>
> ---
> I don't have a user to submit just yet, but we are using this for 
> panfrost which can be seen here[1]. I expect we'll be ready to merge 
> panfrost for 5.2.

Excellent.  I'm taking a look at this for v3d, and I see that on the
panfrost side you're allocating shmem->sgt and doing dma_map_sg() in
your MMU map code, with no error handling.  And, on MMU unmap I see
dma_unmap_sg() unconditionally (won't that unbalance for a prime import
which will presumably do its own unmapping?), but it also looks like the
sgt is not freed.

Can we do something nicer for handling the driver's desire for the sgt
to fill its PTEs, regardless of where the BO came from?

I also hope we can plug this into vkms and turn on prime sharing for it.

Attachment: signature.asc
Description: PGP signature

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to