summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/cirrus/cs89x0.c
diff options
context:
space:
mode:
authorfrançois romieu <romieu@fr.zoreil.com>2011-12-04 20:30:45 +0000
committerDavid S. Miller <davem@davemloft.net>2011-12-05 18:31:42 -0500
commit811fd3010cf512f2e23e6c4c912aad54516dc706 (patch)
tree2b03937f3ccac46b09fa1030108f57b259769143 /drivers/net/ethernet/cirrus/cs89x0.c
parent321f3b8708e853695a4ff4a1a95b6fa0965b06e5 (diff)
r8169: Rx FIFO overflow fixes.
Realtek has specified that the post 8168c gigabit chips and the post 8105e fast ethernet chips recover automatically from a Rx FIFO overflow. The driver does not need to clear the RxFIFOOver bit of IntrStatus and it should rather avoid messing it. The implementation deserves some explanation: 1. events outside of the intr_event bit mask are now ignored. It enforces a no-processing policy for the events that either should not be there or should be ignored. 2. RxFIFOOver was already ignored in rtl_cfg_infos[RTL_CFG_1] for the whole 8168 line of chips with two exceptions: - RTL_GIGA_MAC_VER_22 since b5ba6d12bdac21bc0620a5089e0f24e362645efd ("use RxFIFO overflow workaround for 8168c chipset."). This one should now be correctly handled. - RTL_GIGA_MAC_VER_11 (8168b) which requires a different Rx FIFO overflow processing. Though it does not conform to Realtek suggestion above, the updated driver includes no change for RTL_GIGA_MAC_VER_12 and RTL_GIGA_MAC_VER_17. Both are 8168b. RTL_GIGA_MAC_VER_12 is common and a bit old so I'd rather wait for experimental evidence that the change suggested by Realtek really helps or does not hurt in unexpected ways. Removed case statements in rtl8169_interrupt are only 8168 relevant. 3. RxFIFOOver is masked for post 8105e 810x chips, namely the sole 8105e (RTL_GIGA_MAC_VER_30) itself. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Cc: hayeswang <hayeswang@realtek.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/cirrus/cs89x0.c')
0 files changed, 0 insertions, 0 deletions