diff options
author | Deepak SIKRI <deepak.sikri@st.com> | 2012-04-04 00:33:20 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-04-04 18:39:23 -0400 |
commit | 55f9a4d6facb35198ddb88a8fe21ca2ee753af7a (patch) | |
tree | 7d5117dcf6ec24bb4b501d95992d3ce25725ce4b /include/linux/stmmac.h | |
parent | f142af2e2064546ac470e8690acbd189b3584e67 (diff) |
stmmac: Define CSUM offload engine Types
This patch explicitly defines the CSUM offload engine type which need
(not mandatory) to be passed from the platform code.
STMMAC core supports two check sum offload engine types- Type-1 & Type-2.
Also, there are STMMAC cores that do not have the check sum offload
capabilities.
The behaviour of Type-1 & Type-2 cores related to provision of checksum
increases the packet length for Type-1 cores by 2, as the checksum is appended
at the end of data packet and the same is made accountable in the DMA status.
The STMMAC cores beyond Version-3.5 provide HW interface registers which allows
the user to read the HW capabilities, while to support the previous cores the
information related to HW capabilities has to be provided from the platform
code.
The Type-1 cores which do not have the HW register interface need this
information.
This patch also updates the driver's doc.
Signed-off-by: Deepak Sikri <deepak.sikri@st.com>
Hacked-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/stmmac.h')
-rw-r--r-- | include/linux/stmmac.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h index 172b5e15df2e..a9b4d6cb96e9 100644 --- a/include/linux/stmmac.h +++ b/include/linux/stmmac.h | |||
@@ -28,6 +28,10 @@ | |||
28 | 28 | ||
29 | #include <linux/platform_device.h> | 29 | #include <linux/platform_device.h> |
30 | 30 | ||
31 | #define STMMAC_RX_COE_NONE 0 | ||
32 | #define STMMAC_RX_COE_TYPE1 1 | ||
33 | #define STMMAC_RX_COE_TYPE2 2 | ||
34 | |||
31 | /* Platfrom data for platform device structure's platform_data field */ | 35 | /* Platfrom data for platform device structure's platform_data field */ |
32 | 36 | ||
33 | struct stmmac_mdio_bus_data { | 37 | struct stmmac_mdio_bus_data { |
@@ -49,6 +53,7 @@ struct plat_stmmacenet_data { | |||
49 | int has_gmac; | 53 | int has_gmac; |
50 | int enh_desc; | 54 | int enh_desc; |
51 | int tx_coe; | 55 | int tx_coe; |
56 | int rx_coe; | ||
52 | int bugged_jumbo; | 57 | int bugged_jumbo; |
53 | int pmt; | 58 | int pmt; |
54 | int force_sf_dma_mode; | 59 | int force_sf_dma_mode; |