[U-Boot] [PATCH] net: Fix problem with 405EZ ethernet interrupt

Ben Warren
2009-09-10T23:03:31Z

Stefan Roese wrote:
> From: James Clough <james@rtetc.com>
>
> 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>
> ---
> drivers/net/4xx_enet.c | 9 +++++++++
> 1 files changed, 9 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/4xx_enet.c b/drivers/net/4xx_enet.c
> index 329eef0..9d438b5 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);
>
Applied to net repo.

thanks,
Ben