Bladeren bron

[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>
Brice Goglin 18 jaren geleden
bovenliggende
commit
e67bda55e2
1 gewijzigde bestanden met toevoegingen van 3 en 1 verwijderingen
  1. 3 1
      drivers/net/myri10ge/myri10ge.c

+ 3 - 1
drivers/net/myri10ge/myri10ge.c

@@ -795,7 +795,9 @@ myri10ge_submit_8rx(struct mcp_kreq_ether_recv __iomem * dst,
 
 
 	low = src->addr_low;
 	low = src->addr_low;
 	src->addr_low = htonl(DMA_32BIT_MASK);
 	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();
 	mb();
 	src->addr_low = low;
 	src->addr_low = low;
 	put_be32(low, &dst->addr_low);
 	put_be32(low, &dst->addr_low);