[IA64-SGI] Altix only: Fix for sn_dma_flush
authorMike Habeck <habeck@sgi.com>
Sat, 26 Mar 2005 02:34:00 +0000 (19:34 -0700)
committerTony Luck <tony.luck@intel.com>
Tue, 3 May 2005 20:36:09 +0000 (13:36 -0700)
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 <habeck@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/sn/pci/pcibr/pcibr_dma.c

index c90685985d815fc4225d384ee95c5a98d8aa65ec..64af2b2c17879181e0610cdaa7fb10dfdb8bf26e 100644 (file)
@@ -301,7 +301,7 @@ void sn_dma_flush(uint64_t addr)
                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;