[PATCH] IP27: Really set PCI64_ATTR_VIRTUAL, not PCI64_ATTR_PREC.
authorRalf Baechle <ralf@linux-mips.org>
Sat, 17 Jun 2006 17:57:39 +0000 (18:57 +0100)
committerJeff Garzik <jeff@garzik.org>
Fri, 23 Jun 2006 02:52:35 +0000 (22:52 -0400)
IOC3's homegrown DMA mapping functions that are used to optimize things
a little on IP27 set the wrong bit.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/ioc3-eth.c

index ae71ed57c12db04f624f01d4c7c9324576376f06..e76e6e7be0b1b20c46990df26d55b81bc0f4bf9b 100644 (file)
@@ -145,7 +145,7 @@ static inline struct sk_buff * ioc3_alloc_skb(unsigned long length,
 static inline unsigned long ioc3_map(void *ptr, unsigned long vdev)
 {
 #ifdef CONFIG_SGI_IP27
-       vdev <<= 58;   /* Shift to PCI64_ATTR_VIRTUAL */
+       vdev <<= 57;   /* Shift to PCI64_ATTR_VIRTUAL */
 
        return vdev | (0xaUL << PCI64_ATTR_TARG_SHFT) | PCI64_ATTR_PREF |
               ((unsigned long)ptr & TO_PHYS_MASK);