public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* Support for zerocopy to DSP on OMAP3
@ 2010-03-03 14:12 Arnout Vandecappelle
  2010-03-03 19:11 ` [PATCH RFCv1] " Arnout Vandecappelle
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Arnout Vandecappelle @ 2010-03-03 14:12 UTC (permalink / raw)
  To: linux-media

 Hoi,

 [Please CC me, I'm not subscribed.]

 I'm implementing zerocopy transfer from a v4l2 camera to the DSP on an 
OMAP3 (based on earlier work by Stefan Kost [1][2]).  Therefore I'm using 
V4L2_MEMORY_USERPTR to pass in the memory area allocated by TI's DMAI 
driver.  However, this has flags VM_IO | VM_PFNMAP.  This means that it is 
not possible to do get_user_pages() on it - it's an area that is not 
pageable and possibly even doesn't pass the MMU.

 In order to support this kind of zerocopy construct, I propose to add 
checks for VM_IO | VM_PFNMAP and only get pages from areas that don't have 
these flags set.

 If I get positive feedback on this, I'll supply a patch.


[1] https://bugzilla.gnome.org/show_bug.cgi?id=583890
[2] http://thread.gmane.org/gmane.linux.drivers.video-input-
infrastructure/6209

-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  31BB CF53 8660 6F88 345D  54CC A836 5879 20D7 CF43

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

* [PATCH RFCv1] Support for zerocopy to DSP on OMAP3
  2010-03-03 14:12 Support for zerocopy to DSP on OMAP3 Arnout Vandecappelle
@ 2010-03-03 19:11 ` Arnout Vandecappelle
  2010-03-04  9:52   ` Laurent Pinchart
  2010-03-04 16:00 ` [PATCHv2] " Arnout Vandecappelle
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 11+ messages in thread
From: Arnout Vandecappelle @ 2010-03-03 19:11 UTC (permalink / raw)
  To: linux-media

 Here's a first attempt at allowing IO memory for USERPTR buffers.

 It also fixes another issue: it was assumed that 
dma->sglen == dma->nr_pages.  I'll split that up in a separate patch in the 
final version.

 Regards,
 Arnout

On Wednesday 03 March 2010 15:12:44, Arnout Vandecappelle wrote:
>  Hoi,
> 
>  [Please CC me, I'm not subscribed.]
> 
>  I'm implementing zerocopy transfer from a v4l2 camera to the DSP on an
> OMAP3 (based on earlier work by Stefan Kost [1][2]).  Therefore I'm using
> V4L2_MEMORY_USERPTR to pass in the memory area allocated by TI's DMAI
> driver.  However, this has flags VM_IO | VM_PFNMAP.  This means that it
> is not possible to do get_user_pages() on it - it's an area that is not
> pageable and possibly even doesn't pass the MMU.
> 
>  In order to support this kind of zerocopy construct, I propose to add
> checks for VM_IO | VM_PFNMAP and only get pages from areas that don't
> have these flags set.
> 
>  If I get positive feedback on this, I'll supply a patch.
> 
> 
> [1] https://bugzilla.gnome.org/show_bug.cgi?id=583890
> [2] http://thread.gmane.org/gmane.linux.drivers.video-input-
> infrastructure/6209

-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  31BB CF53 8660 6F88 345D  54CC A836 5879 20D7 CF43

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

* Re: [PATCH RFCv1] Support for zerocopy to DSP on OMAP3
  2010-03-03 19:11 ` [PATCH RFCv1] " Arnout Vandecappelle
@ 2010-03-04  9:52   ` Laurent Pinchart
  0 siblings, 0 replies; 11+ messages in thread
From: Laurent Pinchart @ 2010-03-04  9:52 UTC (permalink / raw)
  To: Arnout Vandecappelle; +Cc: linux-media, Sakari Ailus

Hi Arnout,

On Wednesday 03 March 2010 20:11:06 Arnout Vandecappelle wrote:
>  Here's a first attempt at allowing IO memory for USERPTR buffers.
> 
>  It also fixes another issue: it was assumed that
> dma->sglen == dma->nr_pages.  I'll split that up in a separate patch in the
> final version.

-EMISSINGPATCH :-)

Please split the patch and CC Sakari Ailus when you submit them.

-- 
Regards,

Laurent Pinchart

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

* [PATCHv2] Support for zerocopy to DSP on OMAP3
  2010-03-03 14:12 Support for zerocopy to DSP on OMAP3 Arnout Vandecappelle
  2010-03-03 19:11 ` [PATCH RFCv1] " Arnout Vandecappelle
@ 2010-03-04 16:00 ` Arnout Vandecappelle
  2010-03-04 16:00 ` [PATCH 1/2] V4L/DVB: buf-dma-sg.c: don't assume nr_pages == sglen Arnout Vandecappelle
  2010-03-04 16:00 ` [PATCH 2/2] V4L/DVB: buf-dma-sg.c: support non-pageable user-allocated memory Arnout Vandecappelle
  3 siblings, 0 replies; 11+ messages in thread
From: Arnout Vandecappelle @ 2010-03-04 16:00 UTC (permalink / raw)
  To: linux-media, Sakari Ailus, mchehab

 Here is an updated patch, properly split up and with commit messages.

 I've tested it on my OMAP3 board an it works.  I don't have anything else
to test it with.

 Regards,
 Arnout

 [PATCH 1/2] V4L/DVB: buf-dma-sg.c: don't assume nr_pages == sglen
 [PATCH 2/2] V4L/DVB: buf-dma-sg.c: support non-pageable user-allocated memory

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

* [PATCH 1/2] V4L/DVB: buf-dma-sg.c: don't assume nr_pages == sglen
  2010-03-03 14:12 Support for zerocopy to DSP on OMAP3 Arnout Vandecappelle
  2010-03-03 19:11 ` [PATCH RFCv1] " Arnout Vandecappelle
  2010-03-04 16:00 ` [PATCHv2] " Arnout Vandecappelle
@ 2010-03-04 16:00 ` Arnout Vandecappelle
  2010-03-17 20:57   ` Sakari Ailus
  2010-03-04 16:00 ` [PATCH 2/2] V4L/DVB: buf-dma-sg.c: support non-pageable user-allocated memory Arnout Vandecappelle
  3 siblings, 1 reply; 11+ messages in thread
From: Arnout Vandecappelle @ 2010-03-04 16:00 UTC (permalink / raw)
  To: linux-media, Sakari Ailus, mchehab; +Cc: Arnout Vandecappelle

videobuf_pages_to_sg() and videobuf_vmalloc_to_sg() happen to create
a scatterlist element for every page.  However, this is not true for
bus addresses, so other functions shouldn't rely on the length of the
scatter list being equal to nr_pages.
---
 drivers/media/video/videobuf-dma-sg.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/media/video/videobuf-dma-sg.c b/drivers/media/video/videobuf-dma-sg.c
index da1790e..3b6f1b8 100644
--- a/drivers/media/video/videobuf-dma-sg.c
+++ b/drivers/media/video/videobuf-dma-sg.c
@@ -244,7 +244,7 @@ int videobuf_dma_map(struct videobuf_queue* q, struct videobuf_dmabuf *dma)
 	}
 	if (!dma->bus_addr) {
 		dma->sglen = dma_map_sg(q->dev, dma->sglist,
-					dma->nr_pages, dma->direction);
+					dma->sglen, dma->direction);
 		if (0 == dma->sglen) {
 			printk(KERN_WARNING
 			       "%s: videobuf_map_sg failed\n",__func__);
@@ -262,7 +262,7 @@ int videobuf_dma_sync(struct videobuf_queue *q, struct videobuf_dmabuf *dma)
 	MAGIC_CHECK(dma->magic, MAGIC_DMABUF);
 	BUG_ON(!dma->sglen);
 
-	dma_sync_sg_for_cpu(q->dev, dma->sglist, dma->nr_pages, dma->direction);
+	dma_sync_sg_for_cpu(q->dev, dma->sglist, dma->sglen, dma->direction);
 	return 0;
 }
 
@@ -272,7 +272,7 @@ int videobuf_dma_unmap(struct videobuf_queue* q,struct videobuf_dmabuf *dma)
 	if (!dma->sglen)
 		return 0;
 
-	dma_unmap_sg(q->dev, dma->sglist, dma->nr_pages, dma->direction);
+	dma_unmap_sg(q->dev, dma->sglist, dma->sglen, dma->direction);
 
 	kfree(dma->sglist);
 	dma->sglist = NULL;
-- 
1.6.3.3


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

* [PATCH 2/2] V4L/DVB: buf-dma-sg.c: support non-pageable user-allocated memory
  2010-03-03 14:12 Support for zerocopy to DSP on OMAP3 Arnout Vandecappelle
                   ` (2 preceding siblings ...)
  2010-03-04 16:00 ` [PATCH 1/2] V4L/DVB: buf-dma-sg.c: don't assume nr_pages == sglen Arnout Vandecappelle
@ 2010-03-04 16:00 ` Arnout Vandecappelle
  3 siblings, 0 replies; 11+ messages in thread
From: Arnout Vandecappelle @ 2010-03-04 16:00 UTC (permalink / raw)
  To: linux-media, Sakari Ailus, mchehab; +Cc: Arnout Vandecappelle

videobuf_dma_init_user_locked() uses get_user_pages() to get the
virtual-to-physical address mapping for user-allocated memory.
However, the user-allocated memory may be non-pageable because it
is an I/O range or similar.  get_user_pages() fails with -EFAULT
in that case.

If the user-allocated memory is physically contiguous, the approach
of V4L2_MEMORY_OVERLAY can be used.  If it is not, -EFAULT is still
returned.
---
 drivers/media/video/videobuf-dma-sg.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/drivers/media/video/videobuf-dma-sg.c b/drivers/media/video/videobuf-dma-sg.c
index 3b6f1b8..7884207 100644
--- a/drivers/media/video/videobuf-dma-sg.c
+++ b/drivers/media/video/videobuf-dma-sg.c
@@ -136,6 +136,7 @@ static int videobuf_dma_init_user_locked(struct videobuf_dmabuf *dma,
 {
 	unsigned long first,last;
 	int err, rw = 0;
+	struct vm_area_struct *vma;
 
 	dma->direction = direction;
 	switch (dma->direction) {
@@ -153,6 +154,23 @@ static int videobuf_dma_init_user_locked(struct videobuf_dmabuf *dma,
 	last  = ((data+size-1) & PAGE_MASK) >> PAGE_SHIFT;
 	dma->offset   = data & ~PAGE_MASK;
 	dma->nr_pages = last-first+1;
+
+	/* In case the buffer is user-allocated and is actually an IO buffer for
+	   some other hardware, we cannot map pages for it.  It in fact behaves
+	   the same as an overlay. */
+	vma = find_vma (current->mm, data);
+	if (vma && (vma->vm_flags & VM_IO)) {
+		/* Only a single contiguous buffer is supported. */
+		if (vma->vm_end < data + size) {
+			dprintk(1, "init user: non-contiguous IO buffer.\n");
+			return -EFAULT; /* same error that get_user_pages() would give */
+		}
+		dma->bus_addr = (vma->vm_pgoff << PAGE_SHIFT) +	(data - vma->vm_start);
+		dprintk(1,"init user IO [0x%lx+0x%lx => %d pages at 0x%x]\n",
+			data, size, dma->nr_pages, dma->bus_addr);
+		return 0;
+	}
+
 	dma->pages = kmalloc(dma->nr_pages * sizeof(struct page*),
 			     GFP_KERNEL);
 	if (NULL == dma->pages)
-- 
1.6.3.3


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

* Re: [PATCH 1/2] V4L/DVB: buf-dma-sg.c: don't assume nr_pages == sglen
  2010-03-04 16:00 ` [PATCH 1/2] V4L/DVB: buf-dma-sg.c: don't assume nr_pages == sglen Arnout Vandecappelle
@ 2010-03-17 20:57   ` Sakari Ailus
  2010-03-17 22:50     ` Arnout Vandecappelle
  0 siblings, 1 reply; 11+ messages in thread
From: Sakari Ailus @ 2010-03-17 20:57 UTC (permalink / raw)
  To: Arnout Vandecappelle; +Cc: linux-media, mchehab

Hi Arnout,

Arnout Vandecappelle wrote:
> videobuf_pages_to_sg() and videobuf_vmalloc_to_sg() happen to create
> a scatterlist element for every page.  However, this is not true for
> bus addresses, so other functions shouldn't rely on the length of the
> scatter list being equal to nr_pages.
> ---
>  drivers/media/video/videobuf-dma-sg.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/media/video/videobuf-dma-sg.c b/drivers/media/video/videobuf-dma-sg.c
> index da1790e..3b6f1b8 100644
> --- a/drivers/media/video/videobuf-dma-sg.c
> +++ b/drivers/media/video/videobuf-dma-sg.c
> @@ -244,7 +244,7 @@ int videobuf_dma_map(struct videobuf_queue* q, struct videobuf_dmabuf *dma)
>  	}
>  	if (!dma->bus_addr) {
>  		dma->sglen = dma_map_sg(q->dev, dma->sglist,
> -					dma->nr_pages, dma->direction);
> +					dma->sglen, dma->direction);
>  		if (0 == dma->sglen) {
>  			printk(KERN_WARNING
>  			       "%s: videobuf_map_sg failed\n",__func__);

Where is dma->sglen actually set?

videobuf_dma_map() is used in __videobuf_iolock
(drivers/media/video/videobuf-dma-sg.c) but neither
videobuf_dma_init_kernel() nor videobuf_dma_init_user() seem to set it.
This apparently leaves the value uninitialised.

I definitely think it should be assigned somewhere. :-)

-- 
Sakari Ailus
sakari.ailus@maxwell.research.nokia.com

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

* Re: [PATCH 1/2] V4L/DVB: buf-dma-sg.c: don't assume nr_pages == sglen
  2010-03-17 20:57   ` Sakari Ailus
@ 2010-03-17 22:50     ` Arnout Vandecappelle
  0 siblings, 0 replies; 11+ messages in thread
From: Arnout Vandecappelle @ 2010-03-17 22:50 UTC (permalink / raw)
  To: Sakari Ailus; +Cc: linux-media, mchehab


On Wednesday 17 March 2010 21:57:18, Sakari Ailus wrote:
> Arnout Vandecappelle wrote:
> > diff --git a/drivers/media/video/videobuf-dma-sg.c
> > b/drivers/media/video/videobuf-dma-sg.c index da1790e..3b6f1b8 100644
> > --- a/drivers/media/video/videobuf-dma-sg.c
> > +++ b/drivers/media/video/videobuf-dma-sg.c
> > @@ -244,7 +244,7 @@ int videobuf_dma_map(struct videobuf_queue* q,
> > struct videobuf_dmabuf *dma)
> > 
> >  	}
> >  	if (!dma->bus_addr) {
> >  	
> >  		dma->sglen = dma_map_sg(q->dev, dma->sglist,
> > 
> > -					dma->nr_pages, dma->direction);
> > +					dma->sglen, dma->direction);
> > 
> >  		if (0 == dma->sglen) {
> >  		
> >  			printk(KERN_WARNING
> >  			
> >  			       "%s: videobuf_map_sg failed\n",__func__);
> 
> Where is dma->sglen actually set?
> 
> videobuf_dma_map() is used in __videobuf_iolock
> (drivers/media/video/videobuf-dma-sg.c) but neither
> videobuf_dma_init_kernel() nor videobuf_dma_init_user() seem to set it.
> This apparently leaves the value uninitialised.
> 
> I definitely think it should be assigned somewhere. :-)

 It's assigned there exactly - nr_pages shouldn't have been replaced there.

 Updated patches follow.

 Regards,
 Arnout

-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  31BB CF53 8660 6F88 345D  54CC A836 5879 20D7 CF43

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

* [PATCH 1/2] V4L/DVB: buf-dma-sg.c: don't assume nr_pages == sglen
  2010-03-17 22:53 [PATCH v3] Support for zerocopy to DMA buffers Arnout Vandecappelle
@ 2010-03-17 22:53 ` Arnout Vandecappelle
  2010-03-24  5:43   ` Sakari Ailus
  0 siblings, 1 reply; 11+ messages in thread
From: Arnout Vandecappelle @ 2010-03-17 22:53 UTC (permalink / raw)
  To: linux-media, mchehab, arnout

videobuf_pages_to_sg() and videobuf_vmalloc_to_sg() happen to create
a scatterlist element for every page.  However, this is not true for
bus addresses, so other functions shouldn't rely on the length of the
scatter list being equal to nr_pages.
---
 drivers/media/video/videobuf-dma-sg.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/video/videobuf-dma-sg.c b/drivers/media/video/videobuf-dma-sg.c
index da1790e..18aaf54 100644
--- a/drivers/media/video/videobuf-dma-sg.c
+++ b/drivers/media/video/videobuf-dma-sg.c
@@ -262,7 +262,7 @@ int videobuf_dma_sync(struct videobuf_queue *q, struct videobuf_dmabuf *dma)
 	MAGIC_CHECK(dma->magic, MAGIC_DMABUF);
 	BUG_ON(!dma->sglen);
 
-	dma_sync_sg_for_cpu(q->dev, dma->sglist, dma->nr_pages, dma->direction);
+	dma_sync_sg_for_cpu(q->dev, dma->sglist, dma->sglen, dma->direction);
 	return 0;
 }
 
@@ -272,7 +272,7 @@ int videobuf_dma_unmap(struct videobuf_queue* q,struct videobuf_dmabuf *dma)
 	if (!dma->sglen)
 		return 0;
 
-	dma_unmap_sg(q->dev, dma->sglist, dma->nr_pages, dma->direction);
+	dma_unmap_sg(q->dev, dma->sglist, dma->sglen, dma->direction);
 
 	kfree(dma->sglist);
 	dma->sglist = NULL;
-- 
1.6.3.3


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

* Re: [PATCH 1/2] V4L/DVB: buf-dma-sg.c: don't assume nr_pages == sglen
  2010-03-17 22:53 ` [PATCH 1/2] V4L/DVB: buf-dma-sg.c: don't assume nr_pages == sglen Arnout Vandecappelle
@ 2010-03-24  5:43   ` Sakari Ailus
  2010-03-30 10:27     ` Arnout Vandecappelle
  0 siblings, 1 reply; 11+ messages in thread
From: Sakari Ailus @ 2010-03-24  5:43 UTC (permalink / raw)
  To: Arnout Vandecappelle; +Cc: linux-media, mchehab

Hi Arnout,

Thanks for the patch.

Arnout Vandecappelle wrote:
> videobuf_pages_to_sg() and videobuf_vmalloc_to_sg() happen to create
> a scatterlist element for every page.  However, this is not true for
> bus addresses, so other functions shouldn't rely on the length of the
> scatter list being equal to nr_pages.
> ---
>  drivers/media/video/videobuf-dma-sg.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/media/video/videobuf-dma-sg.c b/drivers/media/video/videobuf-dma-sg.c
> index da1790e..18aaf54 100644
> --- a/drivers/media/video/videobuf-dma-sg.c
> +++ b/drivers/media/video/videobuf-dma-sg.c
> @@ -262,7 +262,7 @@ int videobuf_dma_sync(struct videobuf_queue *q, struct videobuf_dmabuf *dma)
>  	MAGIC_CHECK(dma->magic, MAGIC_DMABUF);
>  	BUG_ON(!dma->sglen);
>  
> -	dma_sync_sg_for_cpu(q->dev, dma->sglist, dma->nr_pages, dma->direction);
> +	dma_sync_sg_for_cpu(q->dev, dma->sglist, dma->sglen, dma->direction);
>  	return 0;
>  }

I think the same problem still exists --- dma->sglen is not initialised
anywhere, is it?

> @@ -272,7 +272,7 @@ int videobuf_dma_unmap(struct videobuf_queue* q,struct videobuf_dmabuf *dma)
>  	if (!dma->sglen)
>  		return 0;
>  
> -	dma_unmap_sg(q->dev, dma->sglist, dma->nr_pages, dma->direction);
> +	dma_unmap_sg(q->dev, dma->sglist, dma->sglen, dma->direction);
>  
>  	kfree(dma->sglist);
>  	dma->sglist = NULL;


-- 
Sakari Ailus
sakari.ailus@maxwell.research.nokia.com

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

* Re: [PATCH 1/2] V4L/DVB: buf-dma-sg.c: don't assume nr_pages == sglen
  2010-03-24  5:43   ` Sakari Ailus
@ 2010-03-30 10:27     ` Arnout Vandecappelle
  0 siblings, 0 replies; 11+ messages in thread
From: Arnout Vandecappelle @ 2010-03-30 10:27 UTC (permalink / raw)
  To: Sakari Ailus; +Cc: linux-media, mchehab


On Wednesday 24 March 2010 06:43:22, Sakari Ailus wrote:
> Hi Arnout,
> 
> Thanks for the patch.
> 
> Arnout Vandecappelle wrote:
[snip]
> > -	dma_sync_sg_for_cpu(q->dev, dma->sglist, dma->nr_pages, dma->direction); 
> > +	dma_sync_sg_for_cpu(q->dev, dma->sglist, dma->sglen, dma->direction);
> 
> I think the same problem still exists --- dma->sglen is not initialised
> anywhere, is it?

 Yes it is.
 In videobuf_dma_map (where dma->sglist is set), there are two conditions:

        if (dma->bus_addr) {
                dma->sglist = kmalloc(sizeof(struct scatterlist), GFP_KERNEL);
                if (NULL != dma->sglist) {
                        dma->sglen  = 1;
...
                }
        }
...
        if (!dma->bus_addr) {
                dma->sglen = dma_map_sg(q->dev, dma->sglist,
                                        dma->nr_pages, dma->direction);
...
        }


 Regards,
 Arnout
-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  31BB CF53 8660 6F88 345D  54CC A836 5879 20D7 CF43

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

end of thread, other threads:[~2010-03-30 10:28 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-03 14:12 Support for zerocopy to DSP on OMAP3 Arnout Vandecappelle
2010-03-03 19:11 ` [PATCH RFCv1] " Arnout Vandecappelle
2010-03-04  9:52   ` Laurent Pinchart
2010-03-04 16:00 ` [PATCHv2] " Arnout Vandecappelle
2010-03-04 16:00 ` [PATCH 1/2] V4L/DVB: buf-dma-sg.c: don't assume nr_pages == sglen Arnout Vandecappelle
2010-03-17 20:57   ` Sakari Ailus
2010-03-17 22:50     ` Arnout Vandecappelle
2010-03-04 16:00 ` [PATCH 2/2] V4L/DVB: buf-dma-sg.c: support non-pageable user-allocated memory Arnout Vandecappelle
  -- strict thread matches above, loose matches on Subject: below --
2010-03-17 22:53 [PATCH v3] Support for zerocopy to DMA buffers Arnout Vandecappelle
2010-03-17 22:53 ` [PATCH 1/2] V4L/DVB: buf-dma-sg.c: don't assume nr_pages == sglen Arnout Vandecappelle
2010-03-24  5:43   ` Sakari Ailus
2010-03-30 10:27     ` Arnout Vandecappelle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox