[PATCH] net: NEWEMAC: Support for Pause packets in EMAC driver
Jeff Garzik
jeff at garzik.org
Mon Mar 17 23:08:35 EST 2008
Stefan Roese wrote:
> From: Pravin M. Bathija <pbathija at amcc.com>
>
> Problem Description and Fix
> ---------------------------
> When a pause packet(with destination as reserved Multicast address) is
> received by the EMAC hardware to control the flow of frames being
> transmitted by it, it is dropped by the hardware unless the reserved
> Multicast address is hashed in to the GAHT[1-4] registers. This code fix
> adds the default reserved multicast address to the GAHT[1-4] registers
> in the EMAC(s) present on the chip. The flow control with Pause packets
> will only work if the following register bits are programmed in EMAC:
> EMACx_MR1[APP] = 1
> EMACx_RMR[BAE] = 1
> EMACx_RMR[MAE] = 1
>
> Behavior that may be observed in a running system
> -------------------------------------------------
> A host transferring data from a PPC based system may send a Pause packet
> to the PPC EMAC requesting it to slow down the flow of packets. If the
> default reserved multicast MAC address is not programmed into the
> GAHT[1-4] registers this Pause packet will be dropped by PPC EMAC and no
> Flow Control will be done.
>
> Signed-off-by: Pravin M. Bathija <pbathija at amcc.com>
> Signed-off-by: Stefan Roese <sr at denx.de>
> ---
> drivers/net/ibm_newemac/core.c | 7 +++++++
> 1 files changed, 7 insertions(+), 0 deletions(-)
applied
More information about the Linuxppc-dev
mailing list