videobuf-dma-contig: remove sync operation

Message ID 20090428084539.16911.79893.sendpatchset@rx1.opensource.se (mailing list archive)
State Superseded, archived
Headers

Commit Message

Magnus Damm April 28, 2009, 8:45 a.m. UTC
  From: Magnus Damm <damm@igel.co.jp>

Remove the videobuf-dma-contig sync operation. Sync is only needed
for noncoherent buffers, and since videobuf-dma-contig is built on
coherent memory allocators the memory is by definition always in sync.

Reported-by: Matthieu CASTET <matthieu.castet@parrot.com>
Signed-off-by: Magnus Damm <damm@igel.co.jp>
---

 Thanks to Mattieu, Paul and Paulius for all the help!
 Tested on SH7722 Migo-R with CEU and ov7725.

 drivers/media/video/videobuf-dma-contig.c |   14 --------------
 1 file changed, 14 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  

Comments

Paul Mundt April 28, 2009, 8:51 a.m. UTC | #1
On Tue, Apr 28, 2009 at 05:45:39PM +0900, Magnus Damm wrote:
> From: Magnus Damm <damm@igel.co.jp>
> 
> Remove the videobuf-dma-contig sync operation. Sync is only needed
> for noncoherent buffers, and since videobuf-dma-contig is built on
> coherent memory allocators the memory is by definition always in sync.
> 
Note that this also fixes a bogus oops, which is what caused this to be
brought up in the first place..

> Reported-by: Matthieu CASTET <matthieu.castet@parrot.com>
> Signed-off-by: Magnus Damm <damm@igel.co.jp>
> ---
> 
>  Thanks to Mattieu, Paul and Paulius for all the help!
>  Tested on SH7722 Migo-R with CEU and ov7725.
> 
>  drivers/media/video/videobuf-dma-contig.c |   14 --------------
>  1 file changed, 14 deletions(-)
> 
Reviewed-by: Paul Mundt <lethal@linux-sh.org>
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
Matthieu CASTET May 5, 2009, 7:28 a.m. UTC | #2
Paul Mundt a écrit :
> On Tue, Apr 28, 2009 at 05:45:39PM +0900, Magnus Damm wrote:
>> From: Magnus Damm <damm@igel.co.jp>
>>
>> Remove the videobuf-dma-contig sync operation. Sync is only needed
>> for noncoherent buffers, and since videobuf-dma-contig is built on
>> coherent memory allocators the memory is by definition always in sync.
>>
> Note that this also fixes a bogus oops, which is what caused this to be
> brought up in the first place..
> 
>> Reported-by: Matthieu CASTET <matthieu.castet@parrot.com>
>> Signed-off-by: Magnus Damm <damm@igel.co.jp>
>> ---
>>
>>  Thanks to Mattieu, Paul and Paulius for all the help!
>>  Tested on SH7722 Migo-R with CEU and ov7725.
>>
>>  drivers/media/video/videobuf-dma-contig.c |   14 --------------
>>  1 file changed, 14 deletions(-)
>>
> Reviewed-by: Paul Mundt <lethal@linux-sh.org>
Test-by : Matthieu CASTET <matthieu.castet@parrot.com>

Well I backport it on a older kernel (2.6.27), but the result should be
the same.
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  

Patch

--- 0001/drivers/media/video/videobuf-dma-contig.c
+++ work/drivers/media/video/videobuf-dma-contig.c	2009-04-28 13:09:37.000000000 +0900
@@ -182,19 +182,6 @@  static int __videobuf_iolock(struct vide
 	return 0;
 }
 
-static int __videobuf_sync(struct videobuf_queue *q,
-			   struct videobuf_buffer *buf)
-{
-	struct videobuf_dma_contig_memory *mem = buf->priv;
-
-	BUG_ON(!mem);
-	MAGIC_CHECK(mem->magic, MAGIC_DC_MEM);
-
-	dma_sync_single_for_cpu(q->dev, mem->dma_handle, mem->size,
-				DMA_FROM_DEVICE);
-	return 0;
-}
-
 static int __videobuf_mmap_free(struct videobuf_queue *q)
 {
 	unsigned int i;
@@ -356,7 +343,6 @@  static struct videobuf_qtype_ops qops = 
 
 	.alloc        = __videobuf_alloc,
 	.iolock       = __videobuf_iolock,
-	.sync         = __videobuf_sync,
 	.mmap_free    = __videobuf_mmap_free,
 	.mmap_mapper  = __videobuf_mmap_mapper,
 	.video_copy_to_user = __videobuf_copy_to_user,