summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Clough <james@rtetc.com>2009-09-10 09:11:50 +0200
committerBen Warren <biggerbadderben@gmail.com>2009-10-04 22:25:20 -0700
commitc0b46d8ead3c6c5b569c83544fd71b9d73356869 (patch)
treef5e7fd998ba1b740dc631d95e63dcbf01169fecb
parent91b469c95faf92435e3d5d78292ba78075a3c5ca (diff)
downloadu-boot-imx-c0b46d8ead3c6c5b569c83544fd71b9d73356869.zip
u-boot-imx-c0b46d8ead3c6c5b569c83544fd71b9d73356869.tar.gz
u-boot-imx-c0b46d8ead3c6c5b569c83544fd71b9d73356869.tar.bz2
net: Fix problem with 405EZ ethernet interrupt
On 405EZ the RX-/TX-interrupts are coalesced into one IRQ bit in the UIC. We need to acknowledge the RX-/TX-interrupts in the SDR0_ICINTSTAT reg as well. This problem was introduced with commit d1631fe1 [ppc4xx: Consolidate PPC4xx UIC defines] Signed-off-by: James Clough <james@rtetc.com> Signed-off-by: Stefan Roese <sr@denx.de> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
-rw-r--r--drivers/net/4xx_enet.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/4xx_enet.c b/drivers/net/4xx_enet.c
index afd1084..f2c9be0 100644
--- a/drivers/net/4xx_enet.c
+++ b/drivers/net/4xx_enet.c
@@ -1717,6 +1717,15 @@ int enetInt (struct eth_device *dev)
rc = 0;
}
}
+#if defined(CONFIG_405EZ)
+ /*
+ * On 405EZ the RX-/TX-interrupts are coalesced into
+ * one IRQ bit in the UIC. We need to acknowledge the
+ * RX-/TX-interrupts in the SDR0_ICINTSTAT reg as well.
+ */
+ mtsdr(SDR0_ICINTSTAT,
+ SDR_ICRX_STAT | SDR_ICTX0_STAT | SDR_ICTX1_STAT);
+#endif /* defined(CONFIG_405EZ) */
} while (serviced);
return (rc);