summaryrefslogtreecommitdiff
path: root/drivers/net/myri10ge
diff options
context:
space:
mode:
authorBrice Goglin <brice@myri.com>2006-12-05 19:26:27 +0300
committerJeff Garzik <jeff@garzik.org>2006-12-07 12:59:20 +0300
commite67bda55e27d3308ba0b4ce8cf2da51850ef1453 (patch)
tree58ad7a5c0dcfcbfc5ca259b8a4acaae6402b3e08 /drivers/net/myri10ge
parentc3905bc4b71ab562acf69765e8c4778bd263b9db (diff)
downloadlinux-e67bda55e27d3308ba0b4ce8cf2da51850ef1453.tar.xz
[PATCH] myri10ge: write as 2 32-byte blocks in myri10ge_submit_8rx
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 <brice@myri.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/myri10ge')
-rw-r--r--drivers/net/myri10ge/myri10ge.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
index b8f57df1091a..81f127a78afa 100644
--- a/drivers/net/myri10ge/myri10ge.c
+++ b/drivers/net/myri10ge/myri10ge.c
@@ -795,7 +795,9 @@ myri10ge_submit_8rx(struct mcp_kreq_ether_recv __iomem * dst,
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);