# 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
|