From c3b7c12cd78d5c8264c87c29dcd9a8f1819f8313 Mon Sep 17 00:00:00 2001 From: "Steven J. Magnani" Date: Wed, 17 Feb 2010 07:14:20 +0000 Subject: [PATCH] ll_temac: Add support for V2 LLTEMAC core LLTEMAC V1 cores place only received packet length in the app4 word. V2 cores place additional information in app4. Mask out the additional information when retrieving the packet length. Signed-off-by: Steven J. Magnani Signed-off-by: David S. Miller --- drivers/net/ll_temac_main.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/ll_temac_main.c b/drivers/net/ll_temac_main.c index 8442c47e93e8..d7eb24cc2648 100644 --- a/drivers/net/ll_temac_main.c +++ b/drivers/net/ll_temac_main.c @@ -615,7 +615,7 @@ static void ll_temac_recv(struct net_device *ndev) while ((bdstat & STS_CTRL_APP0_CMPLT)) { skb = lp->rx_skb[lp->rx_bd_ci]; - length = cur_p->app4; + length = cur_p->app4 & 0x3FFF; skb_vaddr = virt_to_bus(skb->data); dma_unmap_single(ndev->dev.parent, skb_vaddr, length, @@ -938,6 +938,9 @@ static int __devexit temac_of_remove(struct of_device *op) static struct of_device_id temac_of_match[] __devinitdata = { { .compatible = "xlnx,xps-ll-temac-1.01.b", }, + { .compatible = "xlnx,xps-ll-temac-2.00.a", }, + { .compatible = "xlnx,xps-ll-temac-2.02.a", }, + { .compatible = "xlnx,xps-ll-temac-2.03.a", }, {}, }; MODULE_DEVICE_TABLE(of, temac_of_match); -- 2.20.1