linux/drivers/net/stmmac
Giuseppe CAVALLARO ebbb293f8b stmmac: consolidate and tidy-up the COE support
The first version of the driver had hard-coded the logic
for handling the checksum offloading.
This was designed according to the chips included in
the STM platforms where:
o MAC10/100 supports no COE at all.
o GMAC fully supports RX/TX COE.

This is not good for other chip configurations where,
for example, the mac10/100 supports the tx csum in HW
or when the GMAC has no IPC.

Thanks to Johannes Stezenbach; he provided me a first
draft of this patch that only reviewed the IPC for the
GMAC devices.

This patch also helps on SPEAr platforms where the
MAC10/100 can perform the TX csum in HW.
Thanks to Deepak SIKRI for his support on this.

In the end, GMAC devices for STM platforms have
a bugged Jumbo frame support that needs to have
the Tx COE disabled for oversized frames (due to
limited buffer sizes). This information is also
passed through the driver's platform structure.

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: Johannes Stezenbach <js@sig21.net>
Signed-off-by: Deepak SIKRI <deepak.sikri@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-09-17 16:12:57 -07:00
..
common.h stmmac: consolidate and tidy-up the COE support 2010-09-17 16:12:57 -07:00
descs.h stmmac: rename the gmac as dwmac1000 and split core and dma parts 2010-01-07 17:06:10 -08:00
dwmac100_core.c stmmac: consolidate and tidy-up the COE support 2010-09-17 16:12:57 -07:00
dwmac100_dma.c stmmac: make ioaddr 'void __iomem *' rather than unsigned long 2010-08-25 16:30:51 -07:00
dwmac100.h stmmac: rework normal and enhanced descriptors 2010-04-14 04:49:50 -07:00
dwmac1000_core.c stmmac: consolidate and tidy-up the COE support 2010-09-17 16:12:57 -07:00
dwmac1000_dma.c stmmac: make ioaddr 'void __iomem *' rather than unsigned long 2010-08-25 16:30:51 -07:00
dwmac1000.h stmmac: consolidate and tidy-up the COE support 2010-09-17 16:12:57 -07:00
dwmac_dma.h stmmac: make ioaddr 'void __iomem *' rather than unsigned long 2010-08-25 16:30:51 -07:00
dwmac_lib.c stmmac: make ioaddr 'void __iomem *' rather than unsigned long 2010-08-25 16:30:51 -07:00
enh_desc.c stmmac: make ioaddr 'void __iomem *' rather than unsigned long 2010-08-25 16:30:51 -07:00
Kconfig stmmac: Make time functionality depend upon RTC_HCTOSYS_DEVICE 2010-08-26 20:32:02 -07:00
Makefile stmmac: rework normal and enhanced descriptors 2010-04-14 04:49:50 -07:00
norm_desc.c stmmac: make ioaddr 'void __iomem *' rather than unsigned long 2010-08-25 16:30:51 -07:00
stmmac_ethtool.c stmmac: consolidate and tidy-up the COE support 2010-09-17 16:12:57 -07:00
stmmac_main.c stmmac: consolidate and tidy-up the COE support 2010-09-17 16:12:57 -07:00
stmmac_mdio.c stmmac: add CSR Clock range selection 2010-09-17 16:12:56 -07:00
stmmac_timer.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
stmmac_timer.h stmmac: do not fail when the timer cannot be used. 2009-11-23 10:37:52 -08:00
stmmac.h stmmac: consolidate and tidy-up the COE support 2010-09-17 16:12:57 -07:00