Tony,
The following patch fixes a bug in the SGI Altix sn_dma_flush code.
sn_dma_flush is broken in 2.6. The code isn't waiting for the DMA
data to be flushed out of the PIC ASIC. This patch is based off the
linux-ia64-test-2.6.12 tree
Signed-off-by: Mike Habeck <[EMAIL PROTECTED]>
Index: test-2.6.12/arch/ia64/sn/pci/pcibr/pcibr_dma.c
===================================================================
--- test-2.6.12.orig/arch/ia64/sn/pci/pcibr/pcibr_dma.c 2005-03-24
14:34:42.591117130 -0600
+++ test-2.6.12/arch/ia64/sn/pci/pcibr/pcibr_dma.c 2005-03-24
15:56:33.535718144 -0600
@@ -301,7 +301,7 @@
spin_lock_irqsave(&((struct sn_flush_device_list *)p)->
sfdl_flush_lock, flags);
- p->sfdl_flush_value = 0;
+ *p->sfdl_flush_addr = 0;
/* force an interrupt. */
*(volatile uint32_t *)(p->sfdl_force_int_addr) = 1;