]> err.no Git - linux-2.6/commitdiff
[PATCH] myri10ge: write as 2 32-byte blocks in myri10ge_submit_8rx
authorBrice Goglin <brice@myri.com>
Tue, 5 Dec 2006 16:26:27 +0000 (17:26 +0100)
committerJeff Garzik <jeff@garzik.org>
Thu, 7 Dec 2006 09:59:20 +0000 (04:59 -0500)
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>
drivers/net/myri10ge/myri10ge.c

index b8f57df1091acb8cdee90f0a4f4a63b5135d583f..81f127a78afae71206afde2a32ec4295c068aa20 100644 (file)
@@ -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);