All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: Rob Herring <robh@kernel.org>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v2] drm/gem: Fix mmap fake offset handling for drm_gem_object_funcs.mmap
Date: Fri, 25 Oct 2019 07:34:07 +0200	[thread overview]
Message-ID: <20191025053407.aufzf7wqkcjxd3f2@sirius.home.kraxel.org> (raw)
In-Reply-To: <20191024191859.31700-1-robh@kernel.org>

On Thu, Oct 24, 2019 at 02:18:59PM -0500, Rob Herring wrote:
> Commit c40069cb7bd6 ("drm: add mmap() to drm_gem_object_funcs")
> introduced a GEM object mmap() hook which is expected to subtract the
> fake offset from vm_pgoff. However, for mmap() on dmabufs, there is not
> a fake offset.
> 
> To fix this, let's always call mmap() object callback with an offset of 0,
> and leave it up to drm_gem_mmap_obj() to remove the fake offset.
> 
> TTM still needs the fake offset, so we have to add it back until that's
> fixed.

Fixing ttm looks easy, there are not many calls to drm_vma_node_start()
the ttm code.  Can look into this when I'm back from kvm forum @ lyon.

>  int ttm_bo_mmap_obj(struct vm_area_struct *vma, struct ttm_buffer_object *bo)
>  {
>  	ttm_bo_get(bo);
> +
> +	/*
> +	 * FIXME: &drm_gem_object_funcs.mmap is called with the fake offset
> +	 * removed. Add it back here until the rest of TTM works without it.
> +	 */
> +	vma->vm_pgoff += drm_vma_node_start(&bo->base.vma_node);
> +
>  	ttm_bo_mmap_vma_setup(bo, vma);
>  	return 0;
>  }

Yes, that should keep ttm happy for now.  Survived a quick smoke test
with qemu and bochs.

Acked-by: Gerd Hoffmann <kraxel@redhat.com>

cheers,
  Gerd

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

  reply	other threads:[~2019-10-25  5:34 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-24 19:18 [PATCH v2] drm/gem: Fix mmap fake offset handling for drm_gem_object_funcs.mmap Rob Herring
2019-10-25  5:34 ` Gerd Hoffmann [this message]
2019-10-25  7:30 ` Daniel Vetter
2019-11-08 16:27   ` Daniel Vetter
2019-11-08 16:55     ` Daniel Vetter
2019-11-12  8:52       ` Gerd Hoffmann
2019-11-12  9:35         ` Daniel Vetter
2019-11-12 15:37           ` Rob Herring
2019-11-12 19:06             ` Daniel Vetter
2019-11-12 21:31               ` Rob Herring
2019-11-12 22:14                 ` Daniel Vetter
2019-11-13  7:53                   ` Gerd Hoffmann
2019-11-12  9:26     ` Thomas Zimmermann
2019-11-12  9:32       ` Daniel Vetter
2019-11-12  9:49         ` Thomas Zimmermann
2019-11-12 10:38           ` Gerd Hoffmann
2019-11-12 14:44             ` Daniel Vetter
2019-11-13  7:39               ` Gerd Hoffmann
2019-11-13  8:17                 ` Daniel Vetter
2019-11-13 13:51                   ` Gerd Hoffmann
2019-11-13 16:27                     ` Daniel Vetter
2019-11-15  9:37                       ` Gerd Hoffmann
2019-11-15 10:18                         ` Daniel Vetter
2019-11-15 10:56                           ` Gerd Hoffmann
2019-11-15 15:31                             ` Daniel Vetter
2019-11-18 10:40                               ` Gerd Hoffmann
2019-11-18 16:49                                 ` Daniel Vetter
2019-11-20  8:05                                   ` Gerd Hoffmann
2019-11-20 10:39                                     ` Daniel Vetter
2019-11-20 11:40                                       ` Gerd Hoffmann
2019-11-20 12:04                                         ` Daniel Vetter
2019-11-20 12:18                                           ` Gerd Hoffmann
2019-11-20 12:34                                             ` Daniel Vetter
2019-11-20 13:08                                               ` Gerd Hoffmann
2019-11-20 13:40                                                 ` Daniel Vetter
2019-11-21  8:10                                                   ` Gerd Hoffmann
2019-11-21  8:47                                                     ` Daniel Vetter
2019-11-21  8:02                                   ` Gerd Hoffmann
2019-11-21  8:49                                     ` Daniel Vetter
2019-11-21 10:18                                       ` Gerd Hoffmann
2019-11-21 10:36                                         ` Daniel Vetter
2019-11-13 13:53                   ` Rob Herring
2019-11-13 16:28                     ` Daniel Vetter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191025053407.aufzf7wqkcjxd3f2@sirius.home.kraxel.org \
    --to=kraxel@redhat.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=robh@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.