linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] sample/mdev/mbochs: remove mbochs_kmap_atomic_dmabuf
@ 2018-06-25  6:44 Gerd Hoffmann
  2018-06-25  6:44 ` [PATCH 2/2] sample/mdev/mbochs: add mbochs_kunmap_dmabuf Gerd Hoffmann
  2018-06-26  7:16 ` [PATCH 1/2] sample/mdev/mbochs: remove mbochs_kmap_atomic_dmabuf Alex Williamson
  0 siblings, 2 replies; 6+ messages in thread
From: Gerd Hoffmann @ 2018-06-25  6:44 UTC (permalink / raw)
  To: alex.williamson
  Cc: airlied, dri-devel, linux-next, linux-kernel, christian.koenig,
	daniel.vetter, Gerd Hoffmann, Kirti Wankhede,
	open list:VFIO MEDIATED DEVICE DRIVERS

Atomic mapping interface for dmabufs will be removed.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 samples/vfio-mdev/mbochs.c | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/samples/vfio-mdev/mbochs.c b/samples/vfio-mdev/mbochs.c
index 2960e26c6e..aa25cda21d 100644
--- a/samples/vfio-mdev/mbochs.c
+++ b/samples/vfio-mdev/mbochs.c
@@ -803,15 +803,6 @@ static void mbochs_release_dmabuf(struct dma_buf *buf)
 	mutex_unlock(&mdev_state->ops_lock);
 }
 
-static void *mbochs_kmap_atomic_dmabuf(struct dma_buf *buf,
-				       unsigned long page_num)
-{
-	struct mbochs_dmabuf *dmabuf = buf->priv;
-	struct page *page = dmabuf->pages[page_num];
-
-	return kmap_atomic(page);
-}
-
 static void *mbochs_kmap_dmabuf(struct dma_buf *buf, unsigned long page_num)
 {
 	struct mbochs_dmabuf *dmabuf = buf->priv;
@@ -824,7 +815,6 @@ static struct dma_buf_ops mbochs_dmabuf_ops = {
 	.map_dma_buf	  = mbochs_map_dmabuf,
 	.unmap_dma_buf	  = mbochs_unmap_dmabuf,
 	.release	  = mbochs_release_dmabuf,
-	.map_atomic	  = mbochs_kmap_atomic_dmabuf,
 	.map		  = mbochs_kmap_dmabuf,
 	.mmap		  = mbochs_mmap_dmabuf,
 };
-- 
2.9.3


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] sample/mdev/mbochs: add mbochs_kunmap_dmabuf
  2018-06-25  6:44 [PATCH 1/2] sample/mdev/mbochs: remove mbochs_kmap_atomic_dmabuf Gerd Hoffmann
@ 2018-06-25  6:44 ` Gerd Hoffmann
  2018-06-26  7:20   ` Alex Williamson
  2018-06-26  7:16 ` [PATCH 1/2] sample/mdev/mbochs: remove mbochs_kmap_atomic_dmabuf Alex Williamson
  1 sibling, 1 reply; 6+ messages in thread
From: Gerd Hoffmann @ 2018-06-25  6:44 UTC (permalink / raw)
  To: alex.williamson
  Cc: airlied, dri-devel, linux-next, linux-kernel, christian.koenig,
	daniel.vetter, Gerd Hoffmann, Kirti Wankhede,
	open list:VFIO MEDIATED DEVICE DRIVERS

There is no default implementation for dma_buf_ops->unmap.
So add a function unmapping the page, otherwise we'll leak them.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 samples/vfio-mdev/mbochs.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/samples/vfio-mdev/mbochs.c b/samples/vfio-mdev/mbochs.c
index aa25cda21d..85ac603769 100644
--- a/samples/vfio-mdev/mbochs.c
+++ b/samples/vfio-mdev/mbochs.c
@@ -811,11 +811,18 @@ static void *mbochs_kmap_dmabuf(struct dma_buf *buf, unsigned long page_num)
 	return kmap(page);
 }
 
+static void mbochs_kunmap_dmabuf(struct dma_buf *buf, unsigned long page_num,
+				 void *vaddr)
+{
+	kunmap(vaddr);
+}
+
 static struct dma_buf_ops mbochs_dmabuf_ops = {
 	.map_dma_buf	  = mbochs_map_dmabuf,
 	.unmap_dma_buf	  = mbochs_unmap_dmabuf,
 	.release	  = mbochs_release_dmabuf,
 	.map		  = mbochs_kmap_dmabuf,
+	.unmap		  = mbochs_kunmap_dmabuf,
 	.mmap		  = mbochs_mmap_dmabuf,
 };
 
-- 
2.9.3


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] sample/mdev/mbochs: remove mbochs_kmap_atomic_dmabuf
  2018-06-25  6:44 [PATCH 1/2] sample/mdev/mbochs: remove mbochs_kmap_atomic_dmabuf Gerd Hoffmann
  2018-06-25  6:44 ` [PATCH 2/2] sample/mdev/mbochs: add mbochs_kunmap_dmabuf Gerd Hoffmann
@ 2018-06-26  7:16 ` Alex Williamson
  1 sibling, 0 replies; 6+ messages in thread
From: Alex Williamson @ 2018-06-26  7:16 UTC (permalink / raw)
  To: Gerd Hoffmann
  Cc: airlied, dri-devel, linux-next, linux-kernel, christian.koenig,
	daniel.vetter, Kirti Wankhede,
	open list:VFIO MEDIATED DEVICE DRIVERS

On Mon, 25 Jun 2018 08:44:51 +0200
Gerd Hoffmann <kraxel@redhat.com> wrote:

> Atomic mapping interface for dmabufs will be removed.
> 
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

Fixes: f664a5269542 ("dma-buf: remove kmap_atomic interface")

Though really the above commit needs to be updated to include this fix
to preserve bisection since the mbochs sample driver is already
upstream, suggests we only compile tested removing kmap_atomic without
looking for other users.  drm folks, please update.  Thanks,

Alex

> ---
>  samples/vfio-mdev/mbochs.c | 10 ----------
>  1 file changed, 10 deletions(-)
> 
> diff --git a/samples/vfio-mdev/mbochs.c b/samples/vfio-mdev/mbochs.c
> index 2960e26c6e..aa25cda21d 100644
> --- a/samples/vfio-mdev/mbochs.c
> +++ b/samples/vfio-mdev/mbochs.c
> @@ -803,15 +803,6 @@ static void mbochs_release_dmabuf(struct dma_buf *buf)
>  	mutex_unlock(&mdev_state->ops_lock);
>  }
>  
> -static void *mbochs_kmap_atomic_dmabuf(struct dma_buf *buf,
> -				       unsigned long page_num)
> -{
> -	struct mbochs_dmabuf *dmabuf = buf->priv;
> -	struct page *page = dmabuf->pages[page_num];
> -
> -	return kmap_atomic(page);
> -}
> -
>  static void *mbochs_kmap_dmabuf(struct dma_buf *buf, unsigned long page_num)
>  {
>  	struct mbochs_dmabuf *dmabuf = buf->priv;
> @@ -824,7 +815,6 @@ static struct dma_buf_ops mbochs_dmabuf_ops = {
>  	.map_dma_buf	  = mbochs_map_dmabuf,
>  	.unmap_dma_buf	  = mbochs_unmap_dmabuf,
>  	.release	  = mbochs_release_dmabuf,
> -	.map_atomic	  = mbochs_kmap_atomic_dmabuf,
>  	.map		  = mbochs_kmap_dmabuf,
>  	.mmap		  = mbochs_mmap_dmabuf,
>  };


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] sample/mdev/mbochs: add mbochs_kunmap_dmabuf
  2018-06-25  6:44 ` [PATCH 2/2] sample/mdev/mbochs: add mbochs_kunmap_dmabuf Gerd Hoffmann
@ 2018-06-26  7:20   ` Alex Williamson
  2018-06-26  7:32     ` Gerd Hoffmann
  0 siblings, 1 reply; 6+ messages in thread
From: Alex Williamson @ 2018-06-26  7:20 UTC (permalink / raw)
  To: Gerd Hoffmann
  Cc: airlied, dri-devel, linux-next, linux-kernel, christian.koenig,
	daniel.vetter, Kirti Wankhede,
	open list:VFIO MEDIATED DEVICE DRIVERS

On Mon, 25 Jun 2018 08:44:52 +0200
Gerd Hoffmann <kraxel@redhat.com> wrote:

> There is no default implementation for dma_buf_ops->unmap.
> So add a function unmapping the page, otherwise we'll leak them.
> 
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  samples/vfio-mdev/mbochs.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/samples/vfio-mdev/mbochs.c b/samples/vfio-mdev/mbochs.c
> index aa25cda21d..85ac603769 100644
> --- a/samples/vfio-mdev/mbochs.c
> +++ b/samples/vfio-mdev/mbochs.c
> @@ -811,11 +811,18 @@ static void *mbochs_kmap_dmabuf(struct dma_buf *buf, unsigned long page_num)
>  	return kmap(page);
>  }
>  
> +static void mbochs_kunmap_dmabuf(struct dma_buf *buf, unsigned long page_num,
> +				 void *vaddr)
> +{
> +	kunmap(vaddr);
> +}
> +
>  static struct dma_buf_ops mbochs_dmabuf_ops = {
>  	.map_dma_buf	  = mbochs_map_dmabuf,
>  	.unmap_dma_buf	  = mbochs_unmap_dmabuf,
>  	.release	  = mbochs_release_dmabuf,
>  	.map		  = mbochs_kmap_dmabuf,
> +	.unmap		  = mbochs_kunmap_dmabuf,
>  	.mmap		  = mbochs_mmap_dmabuf,
>  };
>  

Is this a fix for v4.18?  AFAICT, the kmap_atomic removal is only in
next, not yet upstream and hopefully includes this sample driver before
hitting mainline.  Should we therefore have a v4.18-rc based patch for
this to include before v4.18 to resolve this?  Thanks,

Alex

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] sample/mdev/mbochs: add mbochs_kunmap_dmabuf
  2018-06-26  7:20   ` Alex Williamson
@ 2018-06-26  7:32     ` Gerd Hoffmann
  2018-06-27  1:55       ` Alex Williamson
  0 siblings, 1 reply; 6+ messages in thread
From: Gerd Hoffmann @ 2018-06-26  7:32 UTC (permalink / raw)
  To: Alex Williamson
  Cc: airlied, dri-devel, linux-next, linux-kernel, christian.koenig,
	daniel.vetter, Kirti Wankhede,
	open list:VFIO MEDIATED DEVICE DRIVERS

> >  	.map		  = mbochs_kmap_dmabuf,
> > +	.unmap		  = mbochs_kunmap_dmabuf,
> >  	.mmap		  = mbochs_mmap_dmabuf,
> >  };
> >  
> 
> Is this a fix for v4.18?

Yes.

> AFAICT, the kmap_atomic removal is only in
> next, not yet upstream and hopefully includes this sample driver before
> hitting mainline.  Should we therefore have a v4.18-rc based patch for
> this to include before v4.18 to resolve this?

The kmap_atomic interface will be removed in 4.19 because nobody uses
it, so dropping the mbochs implementation already in 4.18 should not
cause any issues.

So just queue both for 4.18 would be the easiest way do deal with the
dependency I think.

cheers,
  Gerd


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] sample/mdev/mbochs: add mbochs_kunmap_dmabuf
  2018-06-26  7:32     ` Gerd Hoffmann
@ 2018-06-27  1:55       ` Alex Williamson
  0 siblings, 0 replies; 6+ messages in thread
From: Alex Williamson @ 2018-06-27  1:55 UTC (permalink / raw)
  To: Gerd Hoffmann
  Cc: airlied, dri-devel, linux-next, linux-kernel, christian.koenig,
	daniel.vetter, Kirti Wankhede,
	open list:VFIO MEDIATED DEVICE DRIVERS

On Tue, 26 Jun 2018 09:32:33 +0200
Gerd Hoffmann <kraxel@redhat.com> wrote:

> > >  	.map		  = mbochs_kmap_dmabuf,
> > > +	.unmap		  = mbochs_kunmap_dmabuf,
> > >  	.mmap		  = mbochs_mmap_dmabuf,
> > >  };
> > >    
> > 
> > Is this a fix for v4.18?  
> 
> Yes.
> 
> > AFAICT, the kmap_atomic removal is only in
> > next, not yet upstream and hopefully includes this sample driver before
> > hitting mainline.  Should we therefore have a v4.18-rc based patch for
> > this to include before v4.18 to resolve this?  
> 
> The kmap_atomic interface will be removed in 4.19 because nobody uses
> it, so dropping the mbochs implementation already in 4.18 should not
> cause any issues.
> 
> So just queue both for 4.18 would be the easiest way do deal with the
> dependency I think.

Ok, so I'll drop the fixes tag and apply both to my for-linus branch
for v4.18 and then Christian won't need to include it for the v4.19
patch.  Thanks,

Alex

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-06-27  2:01 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-25  6:44 [PATCH 1/2] sample/mdev/mbochs: remove mbochs_kmap_atomic_dmabuf Gerd Hoffmann
2018-06-25  6:44 ` [PATCH 2/2] sample/mdev/mbochs: add mbochs_kunmap_dmabuf Gerd Hoffmann
2018-06-26  7:20   ` Alex Williamson
2018-06-26  7:32     ` Gerd Hoffmann
2018-06-27  1:55       ` Alex Williamson
2018-06-26  7:16 ` [PATCH 1/2] sample/mdev/mbochs: remove mbochs_kmap_atomic_dmabuf Alex Williamson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).