Deleted Added
full compact
efx.h (293817) efx.h (293891)
1/*-
2 * Copyright (c) 2006-2015 Solarflare Communications Inc.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright notice,

--- 13 unchanged lines hidden (view full) ---

22 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
23 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
24 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 *
26 * The views and conclusions contained in the software and documentation are
27 * those of the authors and should not be interpreted as representing official
28 * policies, either expressed or implied, of the FreeBSD Project.
29 *
1/*-
2 * Copyright (c) 2006-2015 Solarflare Communications Inc.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright notice,

--- 13 unchanged lines hidden (view full) ---

22 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
23 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
24 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 *
26 * The views and conclusions contained in the software and documentation are
27 * those of the authors and should not be interpreted as representing official
28 * policies, either expressed or implied, of the FreeBSD Project.
29 *
30 * $FreeBSD: head/sys/dev/sfxge/common/efx.h 293817 2016-01-13 07:46:21Z arybchik $
30 * $FreeBSD: head/sys/dev/sfxge/common/efx.h 293891 2016-01-14 09:05:51Z arybchik $
31 */
32
33#ifndef _SYS_EFX_H
34#define _SYS_EFX_H
35
36#include "efsys.h"
37#include "efx_phy_ids.h"
38

--- 1027 unchanged lines hidden (view full) ---

1066#define EFX_FEATURE_MCDI 0x00000020
1067#define EFX_FEATURE_LOOKAHEAD_SPLIT 0x00000040
1068#define EFX_FEATURE_MAC_HEADER_FILTERS 0x00000080
1069#define EFX_FEATURE_TURBO 0x00000100
1070#define EFX_FEATURE_MCDI_DMA 0x00000200
1071#define EFX_FEATURE_TX_SRC_FILTERS 0x00000400
1072#define EFX_FEATURE_PIO_BUFFERS 0x00000800
1073#define EFX_FEATURE_FW_ASSISTED_TSO 0x00001000
31 */
32
33#ifndef _SYS_EFX_H
34#define _SYS_EFX_H
35
36#include "efsys.h"
37#include "efx_phy_ids.h"
38

--- 1027 unchanged lines hidden (view full) ---

1066#define EFX_FEATURE_MCDI 0x00000020
1067#define EFX_FEATURE_LOOKAHEAD_SPLIT 0x00000040
1068#define EFX_FEATURE_MAC_HEADER_FILTERS 0x00000080
1069#define EFX_FEATURE_TURBO 0x00000100
1070#define EFX_FEATURE_MCDI_DMA 0x00000200
1071#define EFX_FEATURE_TX_SRC_FILTERS 0x00000400
1072#define EFX_FEATURE_PIO_BUFFERS 0x00000800
1073#define EFX_FEATURE_FW_ASSISTED_TSO 0x00001000
1074#define EFX_FEATURE_FW_ASSISTED_TSO_V2 0x00002000
1074
1075typedef struct efx_nic_cfg_s {
1076 uint32_t enc_board_type;
1077 uint32_t enc_phy_type;
1078#if EFSYS_OPT_NAMES
1079 char enc_phy_name[21];
1080#endif
1081 char enc_phy_revision[21];

--- 65 unchanged lines hidden (view full) ---

1147 /* Number of rx descriptors the hardware requires for a push. */
1148 uint32_t enc_rx_push_align;
1149 /*
1150 * Maximum number of bytes into the packet the TCP header can start for
1151 * the hardware to apply TSO packet edits.
1152 */
1153 uint32_t enc_tx_tso_tcp_header_offset_limit;
1154 boolean_t enc_fw_assisted_tso_enabled;
1075
1076typedef struct efx_nic_cfg_s {
1077 uint32_t enc_board_type;
1078 uint32_t enc_phy_type;
1079#if EFSYS_OPT_NAMES
1080 char enc_phy_name[21];
1081#endif
1082 char enc_phy_revision[21];

--- 65 unchanged lines hidden (view full) ---

1148 /* Number of rx descriptors the hardware requires for a push. */
1149 uint32_t enc_rx_push_align;
1150 /*
1151 * Maximum number of bytes into the packet the TCP header can start for
1152 * the hardware to apply TSO packet edits.
1153 */
1154 uint32_t enc_tx_tso_tcp_header_offset_limit;
1155 boolean_t enc_fw_assisted_tso_enabled;
1156 boolean_t enc_fw_assisted_tso_v2_enabled;
1155 boolean_t enc_hw_tx_insert_vlan_enabled;
1156 /* Datapath firmware vadapter/vport/vswitch support */
1157 boolean_t enc_datapath_cap_evb;
1158 boolean_t enc_rx_disable_scatter_supported;
1159 boolean_t enc_allow_set_mac_with_installed_filters;
1160 /* External port identifier */
1161 uint8_t enc_external_port;
1162 uint32_t enc_mcdi_max_payload_length;

--- 834 unchanged lines hidden (view full) ---

1997#define EFX_TXQ_NBUFS(_ndescs) (EFX_TXQ_SIZE(_ndescs) / EFX_BUF_SIZE)
1998#define EFX_TXQ_LIMIT(_ndescs) ((_ndescs) - 16)
1999#define EFX_TXQ_DC_NDESCS(_dcsize) (8 << _dcsize)
2000
2001#define EFX_TXQ_MAX_BUFS 8 /* Maximum independent of EFX_BUG35388_WORKAROUND. */
2002
2003#define EFX_TXQ_CKSUM_IPV4 0x0001
2004#define EFX_TXQ_CKSUM_TCPUDP 0x0002
1157 boolean_t enc_hw_tx_insert_vlan_enabled;
1158 /* Datapath firmware vadapter/vport/vswitch support */
1159 boolean_t enc_datapath_cap_evb;
1160 boolean_t enc_rx_disable_scatter_supported;
1161 boolean_t enc_allow_set_mac_with_installed_filters;
1162 /* External port identifier */
1163 uint8_t enc_external_port;
1164 uint32_t enc_mcdi_max_payload_length;

--- 834 unchanged lines hidden (view full) ---

1999#define EFX_TXQ_NBUFS(_ndescs) (EFX_TXQ_SIZE(_ndescs) / EFX_BUF_SIZE)
2000#define EFX_TXQ_LIMIT(_ndescs) ((_ndescs) - 16)
2001#define EFX_TXQ_DC_NDESCS(_dcsize) (8 << _dcsize)
2002
2003#define EFX_TXQ_MAX_BUFS 8 /* Maximum independent of EFX_BUG35388_WORKAROUND. */
2004
2005#define EFX_TXQ_CKSUM_IPV4 0x0001
2006#define EFX_TXQ_CKSUM_TCPUDP 0x0002
2007#define EFX_TXQ_FATSOV2 0x0004
2005
2006extern __checkReturn efx_rc_t
2007efx_tx_qcreate(
2008 __in efx_nic_t *enp,
2009 __in unsigned int index,
2010 __in unsigned int label,
2011 __in efsys_mem_t *esmp,
2012 __in size_t n,

--- 71 unchanged lines hidden (view full) ---

2084extern void
2085efx_tx_qdesc_tso_create(
2086 __in efx_txq_t *etp,
2087 __in uint16_t ipv4_id,
2088 __in uint32_t tcp_seq,
2089 __in uint8_t tcp_flags,
2090 __out efx_desc_t *edp);
2091
2008
2009extern __checkReturn efx_rc_t
2010efx_tx_qcreate(
2011 __in efx_nic_t *enp,
2012 __in unsigned int index,
2013 __in unsigned int label,
2014 __in efsys_mem_t *esmp,
2015 __in size_t n,

--- 71 unchanged lines hidden (view full) ---

2087extern void
2088efx_tx_qdesc_tso_create(
2089 __in efx_txq_t *etp,
2090 __in uint16_t ipv4_id,
2091 __in uint32_t tcp_seq,
2092 __in uint8_t tcp_flags,
2093 __out efx_desc_t *edp);
2094
2095/* Number of FATSOv2 option descriptors */
2096#define EFX_TX_FATSOV2_OPT_NDESCS 2
2097
2098/* Maximum number of DMA segments per TSO packet (not superframe) */
2099#define EFX_TX_FATSOV2_DMA_SEGS_PER_PKT_MAX 24
2100
2092extern void
2101extern void
2102efx_tx_qdesc_tso2_create(
2103 __in efx_txq_t *etp,
2104 __in uint16_t ipv4_id,
2105 __in uint32_t tcp_seq,
2106 __in uint16_t tcp_mss,
2107 __out_ecount(count) efx_desc_t *edp,
2108 __in int count);
2109
2110extern void
2093efx_tx_qdesc_vlantci_create(
2094 __in efx_txq_t *etp,
2095 __in uint16_t tci,
2096 __out efx_desc_t *edp);
2097
2098#if EFSYS_OPT_QSTATS
2099
2100#if EFSYS_OPT_NAMES

--- 199 unchanged lines hidden ---
2111efx_tx_qdesc_vlantci_create(
2112 __in efx_txq_t *etp,
2113 __in uint16_t tci,
2114 __out efx_desc_t *edp);
2115
2116#if EFSYS_OPT_QSTATS
2117
2118#if EFSYS_OPT_NAMES

--- 199 unchanged lines hidden ---