unsigned int mode; /* RSS mode */
union {
struct {
- uint synmapen:1; /* SYN Map Enable */
- uint syn4tupenipv6:1; /* en 4-tuple IPv6 SYNs hash */
- uint syn2tupenipv6:1; /* en 2-tuple IPv6 SYNs hash */
- uint syn4tupenipv4:1; /* en 4-tuple IPv4 SYNs hash */
- uint syn2tupenipv4:1; /* en 2-tuple IPv4 SYNs hash */
- uint ofdmapen:1; /* Offload Map Enable */
- uint tnlmapen:1; /* Tunnel Map Enable */
- uint tnlalllookup:1; /* Tunnel All Lookup */
- uint hashtoeplitz:1; /* use Toeplitz hash */
+ unsigned int synmapen:1; /* SYN Map Enable */
+ unsigned int syn4tupenipv6:1; /* en 4-tuple IPv6 SYNs hash */
+ unsigned int syn2tupenipv6:1; /* en 2-tuple IPv6 SYNs hash */
+ unsigned int syn4tupenipv4:1; /* en 4-tuple IPv4 SYNs hash */
+ unsigned int syn2tupenipv4:1; /* en 2-tuple IPv4 SYNs hash */
+ unsigned int ofdmapen:1; /* Offload Map Enable */
+ unsigned int tnlmapen:1; /* Tunnel Map Enable */
+ unsigned int tnlalllookup:1; /* Tunnel All Lookup */
+ unsigned int hashtoeplitz:1; /* use Toeplitz hash */
} basicvirtual;
} u;
};
u8 filter2_wr_support; /* FW support for FILTER2_WR */
u32 viid_smt_extn_support:1; /* FW returns vin and smt index */
u32 max_tx_coalesce_num; /* Max # of Tx packets that can be coalesced */
+ u8 vi_enable_rx; /* FW support for enable/disable VI Rx at runtime */
+
+ u16 rawf_start; /* FW supports RAW MAC match-all filters */
+ u16 rawf_size;
};
/* Firmware Port Capabilities types.
int t4_set_link_speed(struct port_info *pi, u32 speed, u32 *new_caps);
int t4_set_link_pause(struct port_info *pi, u8 autoneg, u8 pause_tx,
u8 pause_rx, u32 *new_caps);
+int t4_set_link_fec(struct port_info *pi, u8 fec_rs, u8 fec_baser,
+ u8 fec_none, u32 *new_caps);
unsigned int t4_fwcap_to_speed(u32 caps);
void t4_load_mtus(struct adapter *adap, const unsigned short *mtus,
const unsigned short *alpha, const unsigned short *beta);