LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH] dma-mapping.h
@ 2007-02-16 18:50 Gary Zambrano
  2007-03-03  0:43 ` Jeff Garzik
  0 siblings, 1 reply; 3+ messages in thread
From: Gary Zambrano @ 2007-02-16 18:50 UTC (permalink / raw)
  To: jgarzik; +Cc: linux-kernel, akpm, netdev

Added dma_sync_single_range_for_cpu/device to dma-mapping.h in asm-arm &
asm-avr32 to call dma_sync_single_for_cpu/device. This patch enables b44
to compile on systems with these cpus.
This patch was created with the assumption that another method of
dma_sync_single_range_for_cpu/device does not exist on these
architectures.


Signed-off by: Gary Zambrano <zambrano@broadcom.com>

diff --git a/include/asm-arm/dma-mapping.h b/include/asm-arm/dma-mapping.h
index 9bc46b4..7d01450 100644
--- a/include/asm-arm/dma-mapping.h
+++ b/include/asm-arm/dma-mapping.h
@@ -294,6 +294,24 @@ dma_unmap_sg(struct device *dev, struct 
 extern void dma_unmap_sg(struct device *, struct scatterlist *, int, enum dma_data_direction);
 #endif
 
+#ifndef CONFIG_DMABOUNCE
+static inline void
+dma_sync_single_range_for_cpu(struct device *dev, dma_addr_t dma_handle,
+			      unsigned long offset, size_t size,
+			      enum dma_data_direction direction)
+{
+	/* just sync everything, that's all the pci API can do */
+	dma_sync_single_for_cpu(dev, dma_handle, offset+size, direction);
+}
+
+static inline void
+dma_sync_single_range_for_device(struct device *dev, dma_addr_t dma_handle,
+				 unsigned long offset, size_t size,
+				 enum dma_data_direction direction)
+{
+	/* just sync everything, that's all the pci API can do */
+	dma_sync_single_for_device(dev, dma_handle, offset+size, direction);
+}
 
 /**
  * dma_sync_single_for_cpu
@@ -312,7 +330,6 @@ extern void dma_unmap_sg(struct device *
  * must first the perform a dma_sync_for_device, and then the
  * device again owns the buffer.
  */
-#ifndef CONFIG_DMABOUNCE
 static inline void
 dma_sync_single_for_cpu(struct device *dev, dma_addr_t handle, size_t size,
 			enum dma_data_direction dir)
@@ -329,6 +346,8 @@ dma_sync_single_for_device(struct device
 		consistent_sync((void *)dma_to_virt(dev, handle), size, dir);
 }
 #else
+extern void dma_sync_single_range_for_cpu(struct device*, dma_addr_t, unsigned long, size_t, enum dma_data_direction);
+extern void dma_sync_single_range_for_device(struct device*, dma_addr_t, unsigned long, size_t, enum dma_data_direction);
 extern void dma_sync_single_for_cpu(struct device*, dma_addr_t, size_t, enum dma_data_direction);
 extern void dma_sync_single_for_device(struct device*, dma_addr_t, size_t, enum dma_data_direction);
 #endif
diff --git a/include/asm-avr32/dma-mapping.h b/include/asm-avr32/dma-mapping.h
index 115813e..dfd1fb3 100644
--- a/include/asm-avr32/dma-mapping.h
+++ b/include/asm-avr32/dma-mapping.h
@@ -242,6 +242,24 @@ dma_unmap_sg(struct device *dev, struct 
 {
 
 }
+static inline void
+dma_sync_single_range_for_cpu(struct device *dev, dma_addr_t dma_handle,
+			      unsigned long offset, size_t size,
+			      enum dma_data_direction direction)
+{
+	/* just sync everything, that's all the pci API can do */
+	dma_sync_single_for_cpu(dev, dma_handle, offset+size, direction);
+}
+
+static inline void
+dma_sync_single_range_for_device(struct device *dev, dma_addr_t dma_handle,
+				 unsigned long offset, size_t size,
+				 enum dma_data_direction direction)
+{
+	/* just sync everything, that's all the pci API can do */
+	dma_sync_single_for_device(dev, dma_handle, offset+size, direction);
+}
+
 
 /**
  * dma_sync_single_for_cpu



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

* Re: [PATCH] dma-mapping.h
  2007-02-16 18:50 [PATCH] dma-mapping.h Gary Zambrano
@ 2007-03-03  0:43 ` Jeff Garzik
  2007-03-03  0:57   ` Andrew Morton
  0 siblings, 1 reply; 3+ messages in thread
From: Jeff Garzik @ 2007-03-03  0:43 UTC (permalink / raw)
  To: Gary Zambrano, Andrew Morton; +Cc: linux-kernel, netdev

Gary Zambrano wrote:
> Added dma_sync_single_range_for_cpu/device to dma-mapping.h in asm-arm &
> asm-avr32 to call dma_sync_single_for_cpu/device. This patch enables b44
> to compile on systems with these cpus.
> This patch was created with the assumption that another method of
> dma_sync_single_range_for_cpu/device does not exist on these
> architectures.
> 
> 
> Signed-off by: Gary Zambrano <zambrano@broadcom.com>

this patch looks OK to me, but I'm not the one to apply it.  This should 
go through Andrew or linux-arch

	Jeff, passing the buck




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

* Re: [PATCH] dma-mapping.h
  2007-03-03  0:43 ` Jeff Garzik
@ 2007-03-03  0:57   ` Andrew Morton
  0 siblings, 0 replies; 3+ messages in thread
From: Andrew Morton @ 2007-03-03  0:57 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Gary Zambrano, linux-kernel, netdev

On Fri, 02 Mar 2007 19:43:34 -0500
Jeff Garzik <jeff@garzik.org> wrote:

> Gary Zambrano wrote:
> > Added dma_sync_single_range_for_cpu/device to dma-mapping.h in asm-arm &
> > asm-avr32 to call dma_sync_single_for_cpu/device. This patch enables b44
> > to compile on systems with these cpus.
> > This patch was created with the assumption that another method of
> > dma_sync_single_range_for_cpu/device does not exist on these
> > architectures.
> > 
> > 
> > Signed-off by: Gary Zambrano <zambrano@broadcom.com>
> 
> this patch looks OK to me, but I'm not the one to apply it.  This should 
> go through Andrew or linux-arch
> 

yeah, I split this into separate arm and avr32 patches and queued them up a while
back.  I need to send them off to Russell and Haavard.  But I'm a bit sluggish
about forwarding things to the subsystem maintainers.  Perhaps because the
resutls are so disappointing ;)


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

end of thread, other threads:[~2007-03-03  0:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-16 18:50 [PATCH] dma-mapping.h Gary Zambrano
2007-03-03  0:43 ` Jeff Garzik
2007-03-03  0:57   ` Andrew Morton

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).