linux/drivers/net/ethernet/oki-semi/pch_gbe
Veaceslav Falico a35279f002 pch_gbe: don't reset MAC_RX on FIFO overflow
Currently, when FIFO_ERR happens, we stop the dma, wait for it to become
idle and then reset the whole MAC_RX logic (and after that we must re-set
multicast addresses and also re-enable MAC_RX when we're finally ready to
accept new packets). This leads to CRC errors on high number of incoming
packets and is not needed according to the datasheet.

This patch fixes it by the following steps:

1) remove this reset in pch_gbe_stop_receive(), which causes some functions
to not be used anywhere
2) remove already unused functions pch_gbe_wait_clr_bit_irq() and
pch_gbe_mac_reset_rx() to correctly build
3) move pch_gbe_enable_mac_rx() out of pch_gbe_start_receive() to
pch_gbe_up() where it's only needed after we've removed the MAC_RX reset
4) rename pch_gbe_start/stop_receive() to pch_gbe_enable/disable_dma_rx()
to more precisely reflect what the functions are now doing.

After these changes we already don't see the CRC errors and gain some
increase in RX processing speed.

Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-10-23 02:31:15 -04:00
..
Kconfig pch_gbe: Fix build error by selecting all the possible dependencies. 2012-10-09 13:50:56 -04:00
Makefile
pch_gbe_api.c drivers/net/ethernet: Fix (nearly-)kernel-doc comments for various functions 2012-07-10 23:13:46 -07:00
pch_gbe_api.h
pch_gbe_ethtool.c net/pch_gpe: Cannot disable ethernet autonegation 2012-07-25 15:24:13 -07:00
pch_gbe_main.c pch_gbe: don't reset MAC_RX on FIFO overflow 2012-10-23 02:31:15 -04:00
pch_gbe_param.c drivers/net/ethernet: Fix (nearly-)kernel-doc comments for various functions 2012-07-10 23:13:46 -07:00
pch_gbe_phy.c
pch_gbe_phy.h
pch_gbe.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-05-16 22:17:37 -04:00