[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Relax the bounce-buffer copying constraints in dma_sync_single_for_*



# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 35b74976f5986786e00cc51f8c2b7cf2c5d0f768
# Parent  ebfde26a769a123dcb3b19ab03881a02ee2404fc

Relax the bounce-buffer copying constraints in dma_sync_single_for_*
functions. This fixes certain drivers (e.g., ivtv).
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>

diff -r ebfde26a769a -r 35b74976f598 
linux-2.6-xen-sparse/arch/xen/i386/kernel/pci-dma.c
--- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/pci-dma.c       Fri Jul 15 
09:24:29 2005
+++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/pci-dma.c       Fri Jul 15 
12:52:02 2005
@@ -248,7 +248,7 @@
                if (&ent->list != &dma_map_head) {
                        off = dma_handle - ent->dma;
                        BUG_ON((off + size) > ent->size);
-                       if (direction != DMA_TO_DEVICE)
+                       /*if (direction != DMA_TO_DEVICE)*/
                                memcpy(ent->host+off, ent->bounce+off, size);
                }
        }
@@ -272,7 +272,7 @@
                if (&ent->list != &dma_map_head) {
                        off = dma_handle - ent->dma;
                        BUG_ON((off + size) > ent->size);
-                       if (direction != DMA_FROM_DEVICE)
+                       /*if (direction != DMA_FROM_DEVICE)*/
                                memcpy(ent->bounce+off, ent->host+off, size);
                }
        }
diff -r ebfde26a769a -r 35b74976f598 
linux-2.6-xen-sparse/arch/xen/x86_64/kernel/pci-dma.c
--- a/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/pci-dma.c     Fri Jul 15 
09:24:29 2005
+++ b/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/pci-dma.c     Fri Jul 15 
12:52:02 2005
@@ -302,7 +302,7 @@
                if (&ent->list != &dma_map_head) {
                        off = dma_handle - ent->dma;
                        BUG_ON((off + size) > ent->size);
-                       if (direction != DMA_TO_DEVICE)
+                       /*if (direction != DMA_TO_DEVICE)*/
                                memcpy(ent->host+off, ent->bounce+off, size);
                }
        }
@@ -326,7 +326,7 @@
                if (&ent->list != &dma_map_head) {
                        off = dma_handle - ent->dma;
                        BUG_ON((off + size) > ent->size);
-                       if (direction != DMA_FROM_DEVICE)
+                       /*if (direction != DMA_FROM_DEVICE)*/
                                memcpy(ent->bounce+off, ent->host+off, size);
                }
        }

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.