aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorAlexandre TORGUE <alexandre.torgue@st.com>2016-04-01 05:37:35 -0400
committerDavid S. Miller <davem@davemloft.net>2016-04-02 20:23:09 -0400
commit0b7a43d37633614113ac54af73c193862dff4e50 (patch)
tree8f78663c4bbc782676dfc764a4798095c80632a9 /Documentation
parentf748be531d7012c456b97f66091d86b3675c5fef (diff)
Documentation: networking: update stmmac
Update stmmac driver documentation according to new GMAC 4.x family. Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/networking/stmmac.txt44
1 files changed, 38 insertions, 6 deletions
diff --git a/Documentation/networking/stmmac.txt b/Documentation/networking/stmmac.txt
index d64a14714236..671fe3dd56d3 100644
--- a/Documentation/networking/stmmac.txt
+++ b/Documentation/networking/stmmac.txt
@@ -1,6 +1,6 @@
1 STMicroelectronics 10/100/1000 Synopsys Ethernet driver 1 STMicroelectronics 10/100/1000 Synopsys Ethernet driver
2 2
3Copyright (C) 2007-2014 STMicroelectronics Ltd 3Copyright (C) 2007-2015 STMicroelectronics Ltd
4Author: Giuseppe Cavallaro <peppe.cavallaro@st.com> 4Author: Giuseppe Cavallaro <peppe.cavallaro@st.com>
5 5
6This is the driver for the MAC 10/100/1000 on-chip Ethernet controllers 6This is the driver for the MAC 10/100/1000 on-chip Ethernet controllers
@@ -138,6 +138,8 @@ struct plat_stmmacenet_data {
138 int (*init)(struct platform_device *pdev, void *priv); 138 int (*init)(struct platform_device *pdev, void *priv);
139 void (*exit)(struct platform_device *pdev, void *priv); 139 void (*exit)(struct platform_device *pdev, void *priv);
140 void *bsp_priv; 140 void *bsp_priv;
141 int has_gmac4;
142 bool tso_en;
141}; 143};
142 144
143Where: 145Where:
@@ -181,6 +183,8 @@ Where:
181 registers. init/exit callbacks should not use or modify 183 registers. init/exit callbacks should not use or modify
182 platform data. 184 platform data.
183 o bsp_priv: another private pointer. 185 o bsp_priv: another private pointer.
186 o has_gmac4: uses GMAC4 core.
187 o tso_en: Enables TSO (TCP Segmentation Offload) feature.
184 188
185For MDIO bus The we have: 189For MDIO bus The we have:
186 190
@@ -278,6 +282,13 @@ Please see the following document:
278 o stmmac_ethtool.c: to implement the ethtool support; 282 o stmmac_ethtool.c: to implement the ethtool support;
279 o stmmac.h: private driver structure; 283 o stmmac.h: private driver structure;
280 o common.h: common definitions and VFTs; 284 o common.h: common definitions and VFTs;
285 o mmc_core.c/mmc.h: Management MAC Counters;
286 o stmmac_hwtstamp.c: HW timestamp support for PTP;
287 o stmmac_ptp.c: PTP 1588 clock;
288 o dwmac-<XXX>.c: these are for the platform glue-logic file; e.g. dwmac-sti.c
289 for STMicroelectronics SoCs.
290
291- GMAC 3.x
281 o descs.h: descriptor structure definitions; 292 o descs.h: descriptor structure definitions;
282 o dwmac1000_core.c: dwmac GiGa core functions; 293 o dwmac1000_core.c: dwmac GiGa core functions;
283 o dwmac1000_dma.c: dma functions for the GMAC chip; 294 o dwmac1000_dma.c: dma functions for the GMAC chip;
@@ -289,11 +300,32 @@ Please see the following document:
289 o enh_desc.c: functions for handling enhanced descriptors; 300 o enh_desc.c: functions for handling enhanced descriptors;
290 o norm_desc.c: functions for handling normal descriptors; 301 o norm_desc.c: functions for handling normal descriptors;
291 o chain_mode.c/ring_mode.c:: functions to manage RING/CHAINED modes; 302 o chain_mode.c/ring_mode.c:: functions to manage RING/CHAINED modes;
292 o mmc_core.c/mmc.h: Management MAC Counters; 303
293 o stmmac_hwtstamp.c: HW timestamp support for PTP; 304- GMAC4.x generation
294 o stmmac_ptp.c: PTP 1588 clock; 305 o dwmac4_core.c: dwmac GMAC4.x core functions;
295 o dwmac-<XXX>.c: these are for the platform glue-logic file; e.g. dwmac-sti.c 306 o dwmac4_desc.c: functions for handling GMAC4.x descriptors;
296 for STMicroelectronics SoCs. 307 o dwmac4_descs.h: descriptor definitions;
308 o dwmac4_dma.c: dma functions for the GMAC4.x chip;
309 o dwmac4_dma.h: dma definitions for the GMAC4.x chip;
310 o dwmac4.h: core definitions for the GMAC4.x chip;
311 o dwmac4_lib.c: generic GMAC4.x functions;
312
3134.12) TSO support (GMAC4.x)
314
315TSO (Tcp Segmentation Offload) feature is supported by GMAC 4.x chip family.
316When a packet is sent through TCP protocol, the TCP stack ensures that
317the SKB provided to the low level driver (stmmac in our case) matches with
318the maximum frame len (IP header + TCP header + payload <= 1500 bytes (for
319MTU set to 1500)). It means that if an application using TCP want to send a
320packet which will have a length (after adding headers) > 1514 the packet
321will be split in several TCP packets: The data payload is split and headers
322(TCP/IP ..) are added. It is done by software.
323
324When TSO is enabled, the TCP stack doesn't care about the maximum frame
325length and provide SKB packet to stmmac as it is. The GMAC IP will have to
326perform the segmentation by it self to match with maximum frame length.
327
328This feature can be enabled in device tree through "snps,tso" entry.
297 329
2985) Debug Information 3305) Debug Information
299 331