From: Brice Goglin Date: Tue, 5 Dec 2006 16:26:27 +0000 (+0100) Subject: [PATCH] myri10ge: write as 2 32-byte blocks in myri10ge_submit_8rx X-Git-Tag: v2.6.20-rc1~145^2^2~6^2~6 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e67bda55e27d3308ba0b4ce8cf2da51850ef1453;p=linux-2.6 [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 Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c index b8f57df109..81f127a78a 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);