Update ia64 patch to 2.5.69-030521, throwing away the parts included
[linux-flexiantxendom0-3.2.10.git] / include / asm-ia64 / sn / sn2 / io.h
index b0c928f..eff4f86 100644 (file)
@@ -32,8 +32,8 @@ __sn_inb (unsigned long port)
        unsigned char ret;
 
        ret = *addr;
-       sn_dma_flush((unsigned long)addr);
        __sn_mf_a();
+       sn_dma_flush((unsigned long)addr);
        return ret;
 }
 
@@ -44,8 +44,8 @@ __sn_inw (unsigned long port)
        unsigned short ret;
 
        ret = *addr;
-       sn_dma_flush((unsigned long)addr);
        __sn_mf_a();
+       sn_dma_flush((unsigned long)addr);
        return ret;
 }
 
@@ -56,8 +56,8 @@ __sn_inl (unsigned long port)
        unsigned int ret;
 
        ret = *addr;
-       sn_dma_flush((unsigned long)addr);
        __sn_mf_a();
+       sn_dma_flush((unsigned long)addr);
        return ret;
 }
 
@@ -103,6 +103,7 @@ __sn_readb (void *addr)
        unsigned char val;
 
        val = *(volatile unsigned char *)addr;
+       __sn_mf_a();
        sn_dma_flush((unsigned long)addr);
         return val;
 }
@@ -113,6 +114,7 @@ __sn_readw (void *addr)
        unsigned short val;
 
        val = *(volatile unsigned short *)addr;
+       __sn_mf_a();
        sn_dma_flush((unsigned long)addr);
         return val;
 }
@@ -123,6 +125,7 @@ __sn_readl (void *addr)
        unsigned int val;
 
        val = *(volatile unsigned int *) addr;
+       __sn_mf_a();
        sn_dma_flush((unsigned long)addr);
         return val;
 }
@@ -133,6 +136,7 @@ __sn_readq (void *addr)
        unsigned long val;
 
        val = *(volatile unsigned long *) addr;
+       __sn_mf_a();
        sn_dma_flush((unsigned long)addr);
         return val;
 }