[PATCH] drm/shmem-helpers: vunmap: Don't put pages for dma-buf
Daniel Vetter
daniel at ffwll.ch
Thu Feb 25 10:49:01 UTC 2021
On Thu, Feb 25, 2021 at 10:52:14AM +0100, Thomas Zimmermann wrote:
> Hi
>
> Am 25.02.21 um 10:43 schrieb Daniel Vetter:
> > On Wed, Feb 24, 2021 at 6:14 PM Noralf Trønnes <noralf at tronnes.org> wrote:
> > >
> > >
> > >
> > > Den 19.02.2021 14.54, skrev Thomas Zimmermann:
> > > > Hi
> > > >
> > > > Am 19.02.21 um 13:22 schrieb Noralf Trønnes:
> > > > > dma-buf importing was reworked in commit 7d2cd72a9aa3
> > > > > ("drm/shmem-helpers: Simplify dma-buf importing"). Before that commit
> > > > > drm_gem_shmem_prime_import_sg_table() did set ->pages_use_count=1 and
> > > > > drm_gem_shmem_vunmap_locked() could call drm_gem_shmem_put_pages()
> > > > > unconditionally. Now without the use count set, put pages is called also
> > > > > on dma-bufs. Fix this by only putting pages if it's not imported.
> > > > >
> > > > > Fixes: 7d2cd72a9aa3 ("drm/shmem-helpers: Simplify dma-buf importing")
> > > > > Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> > > > > Cc: Thomas Zimmermann <tzimmermann at suse.de>
> > > > > Signed-off-by: Noralf Trønnes <noralf at tronnes.org>
> > > >
> > > > Just when I saw the error. Nice. :)
> > > >
> > > > Acked-by: Thomas Zimmermann <tzimmermann at suse.de>
> > > > Tested-by: Thomas Zimmermann <tzimmermann at suse.de>
> > > >
> > >
> > > Should I apply this to drm-misc-fixes?
> >
> > drm-misc-next-fixes because we're in the merge window.
>
> Too late. Can/should I cherry-pick the patch from drm-misc-next?
Maarten just send the pull around, so pls coordinate with him. Maybe best
if Maarten cherry-picks onto drm-misc-fixes after -rc1 is out.
-Daniel
>
> Best regards
> Thomas
>
> > -Daniel
> >
> > >
> > > Noralf.
> > >
> > > > For testing the GUD driver, you may also want to keep an eye at [1]
> > > >
> > > > Best regards
> > > > Thomas
> > > >
> > > > [1]
> > > > https://lore.kernel.org/dri-devel/02a45c11-fc73-1e5a-3839-30b080950af8@amd.com/T/#t
> > > >
> > > >
> > > > > ---
> > > > > drivers/gpu/drm/drm_gem_shmem_helper.c | 7 ++++---
> > > > > 1 file changed, 4 insertions(+), 3 deletions(-)
> > > > >
> > > > > diff --git a/drivers/gpu/drm/drm_gem_shmem_helper.c
> > > > > b/drivers/gpu/drm/drm_gem_shmem_helper.c
> > > > > index 9825c378dfa6..c8a6547a1757 100644
> > > > > --- a/drivers/gpu/drm/drm_gem_shmem_helper.c
> > > > > +++ b/drivers/gpu/drm/drm_gem_shmem_helper.c
> > > > > @@ -357,13 +357,14 @@ static void drm_gem_shmem_vunmap_locked(struct
> > > > > drm_gem_shmem_object *shmem,
> > > > > if (--shmem->vmap_use_count > 0)
> > > > > return;
> > > > > - if (obj->import_attach)
> > > > > + if (obj->import_attach) {
> > > > > dma_buf_vunmap(obj->import_attach->dmabuf, map);
> > > > > - else
> > > > > + } else {
> > > > > vunmap(shmem->vaddr);
> > > > > + drm_gem_shmem_put_pages(shmem);
> > > > > + }
> > > > > shmem->vaddr = NULL;
> > > > > - drm_gem_shmem_put_pages(shmem);
> > > > > }
> > > > > /*
> > > > >
> > > >
> >
> >
> >
>
> --
> Thomas Zimmermann
> Graphics Driver Developer
> SUSE Software Solutions Germany GmbH
> Maxfeldstr. 5, 90409 Nürnberg, Germany
> (HRB 36809, AG Nürnberg)
> Geschäftsführer: Felix Imendörffer
>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the dri-devel
mailing list