Subject: [PATCH 1/1] myri10ge: write as 2 32-byte blocks in myri10ge_submit_8rx

From: Brice Goglin <[email-masked]>
Date: Tue, 05 Dec 2006 17:26:27 +0100

In the myri10ge_submit_8rx() routine, write the 64 byte request block as
2 32-byte blocks so that it is handled by the hardware pio write handler
if write-combining is enabled.

Signed-off-by: Brice Goglin <[email-masked]>
---
 drivers/net/myri10ge/myri10ge.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Index: netdev-2.6/drivers/net/myri10ge/myri10ge.c
===================================================================
--- netdev-2.6.orig/drivers/net/myri10ge/myri10ge.c	2006-12-05 16:29:14.000000000 +0100
+++ netdev-2.6/drivers/net/myri10ge/myri10ge.c	2006-12-05 16:30:08.000000000 +0100
@@ -795,7 +795,9 @@
 
 	low = src->addr_low;
 	src->addr_low = htonl(DMA_32BIT_MASK);
-	myri10ge_pio_copy(dst, src, 8 * sizeof(*src));
+	myri10ge_pio_copy(dst, src, 4 * sizeof(*src));
+	mb();
+	myri10ge_pio_copy(dst + 4, src + 4, 4 * sizeof(*src));
 	mb();
 	src->addr_low = low;
 	put_be32(low, &dst->addr_low);