diff options
author | Sean Bruno <sbruno@FreeBSD.org> | 2016-08-07 18:12:36 +0000 |
---|---|---|
committer | Sean Bruno <sbruno@FreeBSD.org> | 2016-08-07 18:12:36 +0000 |
commit | 4294f337b02257f24cc0177c5031abea7fdc3d75 (patch) | |
tree | f622eff21bd17ccf945f066c6011335e027b4f1e /sys/dev/ixl/ixlv.h | |
parent | b57417e56f51761cc2ad5e47cc62976dee8c569b (diff) | |
download | src-4294f337b02257f24cc0177c5031abea7fdc3d75.tar.gz src-4294f337b02257f24cc0177c5031abea7fdc3d75.zip |
ixl(4): Update to ixl-1.6.6-k.
Submitted by: erj
Reviewed by: jeffrey.e.pieper@intel.com
MFC after: 3 days
Sponsored by: Intel Corporation
Differential Revision: https://reviews.freebsd.org/D7391
Notes
Notes:
svn path=/head/; revision=303816
Diffstat (limited to 'sys/dev/ixl/ixlv.h')
-rw-r--r-- | sys/dev/ixl/ixlv.h | 33 |
1 files changed, 28 insertions, 5 deletions
diff --git a/sys/dev/ixl/ixlv.h b/sys/dev/ixl/ixlv.h index a131ca0a4b22..be4daeefbc83 100644 --- a/sys/dev/ixl/ixlv.h +++ b/sys/dev/ixl/ixlv.h @@ -44,7 +44,7 @@ #define IXLV_AQ_TIMEOUT (1 * hz) #define IXLV_CALLOUT_TIMO (hz / 50) /* 20 msec */ -#define IXLV_FLAG_AQ_ENABLE_QUEUES (u32)(1) +#define IXLV_FLAG_AQ_ENABLE_QUEUES (u32)(1 << 0) #define IXLV_FLAG_AQ_DISABLE_QUEUES (u32)(1 << 1) #define IXLV_FLAG_AQ_ADD_MAC_FILTER (u32)(1 << 2) #define IXLV_FLAG_AQ_ADD_VLAN_FILTER (u32)(1 << 3) @@ -55,6 +55,10 @@ #define IXLV_FLAG_AQ_HANDLE_RESET (u32)(1 << 8) #define IXLV_FLAG_AQ_CONFIGURE_PROMISC (u32)(1 << 9) #define IXLV_FLAG_AQ_GET_STATS (u32)(1 << 10) +#define IXLV_FLAG_AQ_CONFIG_RSS_KEY (u32)(1 << 11) +#define IXLV_FLAG_AQ_SET_RSS_HENA (u32)(1 << 12) +#define IXLV_FLAG_AQ_GET_RSS_HENA_CAPS (u32)(1 << 13) +#define IXLV_FLAG_AQ_CONFIG_RSS_LUT (u32)(1 << 14) /* printf %b arg */ #define IXLV_FLAGS \ @@ -62,9 +66,17 @@ "\4ADD_VLAN_FILTER\5DEL_MAC_FILTER\6DEL_VLAN_FILTER" \ "\7CONFIGURE_QUEUES\10MAP_VECTORS\11HANDLE_RESET" \ "\12CONFIGURE_PROMISC\13GET_STATS" - -/* Hack for compatibility with 1.0.x linux pf driver */ -#define I40E_VIRTCHNL_OP_EVENT 17 +#define IXLV_PRINTF_VF_OFFLOAD_FLAGS \ + "\20\1I40E_VIRTCHNL_VF_OFFLOAD_L2" \ + "\2I40E_VIRTCHNL_VF_OFFLOAD_IWARP" \ + "\3I40E_VIRTCHNL_VF_OFFLOAD_FCOE" \ + "\4I40E_VIRTCHNL_VF_OFFLOAD_RSS_AQ" \ + "\5I40E_VIRTCHNL_VF_OFFLOAD_RSS_REG" \ + "\6I40E_VIRTCHNL_VF_OFFLOAD_WB_ON_ITR" \ + "\21I40E_VIRTCHNL_VF_OFFLOAD_VLAN" \ + "\22I40E_VIRTCHNL_VF_OFFLOAD_RX_POLLING" \ + "\23I40E_VIRTCHNL_VF_OFFLOAD_RSS_PCTYPE_V2" \ + "\24I40E_VIRTCHNL_VF_OFFLOAD_RSS_PF" /* Driver state */ enum ixlv_state_t { @@ -80,9 +92,11 @@ enum ixlv_state_t { IXLV_INIT_MAPPING, IXLV_INIT_ENABLE, IXLV_INIT_COMPLETE, - IXLV_RUNNING, + IXLV_RUNNING, }; +/* Structs */ + struct ixlv_mac_filter { SLIST_ENTRY(ixlv_mac_filter) next; u8 macaddr[ETHER_ADDR_LEN]; @@ -107,6 +121,7 @@ struct ixlv_sc { struct resource *msix_mem; enum ixlv_state_t init_state; + int init_in_progress; /* * Interrupt resources @@ -154,6 +169,10 @@ struct ixlv_sc { struct ixl_vc_cmd del_vlan_cmd; struct ixl_vc_cmd add_multi_cmd; struct ixl_vc_cmd del_multi_cmd; + struct ixl_vc_cmd config_rss_key_cmd; + struct ixl_vc_cmd get_rss_hena_caps_cmd; + struct ixl_vc_cmd set_rss_hena_cmd; + struct ixl_vc_cmd config_rss_lut_cmd; /* Virtual comm channel */ struct i40e_virtchnl_vf_resource *vf_res; @@ -209,5 +228,9 @@ void ixlv_del_vlans(struct ixlv_sc *); void ixlv_update_stats_counters(struct ixlv_sc *, struct i40e_eth_stats *); void ixlv_update_link_status(struct ixlv_sc *); +void ixlv_get_default_rss_key(u32 *, bool); +void ixlv_config_rss_key(struct ixlv_sc *); +void ixlv_set_rss_hena(struct ixlv_sc *); +void ixlv_config_rss_lut(struct ixlv_sc *); #endif /* _IXLV_H_ */ |