History

ice: Add support Flex RXD

Add new VIRTCHNL_VF_OFFLOAD_RX_FLEX_DESC flag, opcode VIRTCHNL_OP_GET_SUPPORTED_RXDIDS and add member rxdid in struct virtchnl_rxq_info to support AVF Flex RXD extension. Add support to allow VF to query flexible descriptor RXDIDs supported by DDP package and configure Rx queues with selected RXDID for IAVF. Add code to allow VIRTCHNL_OP_GET_SUPPORTED_RXDIDS message to be processed. Add necessary macros for registers.

Michal Jaron committed 4 years ago

Commit e753df81 parent 3a1cc236 files · +111 −2Browse files

Showing the changes to include/linux/avf (1 of 6 files). Show all

Unified · Split

include/linux/avf/virtchnl.h+12−2
@@ -136,7 +136,8 @@ enum virtchnl_ops { · 135 unmodified lines
136136 VIRTCHNL_OP_DISABLE_CHANNELS = 31,
137137 VIRTCHNL_OP_ADD_CLOUD_FILTER = 32,
138138 VIRTCHNL_OP_DEL_CLOUD_FILTER = 33,
139− /* opcode 34 - 44 are reserved */
139+ /* opcode 34 - 43 are reserved */
140+ VIRTCHNL_OP_GET_SUPPORTED_RXDIDS = 44,
140141 VIRTCHNL_OP_ADD_RSS_CFG = 45,
141142 VIRTCHNL_OP_DEL_RSS_CFG = 46,
142143 VIRTCHNL_OP_ADD_FDIR_FILTER = 47,
@@ -263,6 +264,7 @@ VIRTCHNL_CHECK_STRUCT_LEN(16, virtchnl_vsi_resource); · 120 unmodified lines
263264 #define VIRTCHNL_VF_OFFLOAD_RX_ENCAP_CSUM BIT(22)
264265 #define VIRTCHNL_VF_OFFLOAD_ADQ BIT(23)
265266 #define VIRTCHNL_VF_OFFLOAD_USO BIT(25)
267+#define VIRTCHNL_VF_OFFLOAD_RX_FLEX_DESC BIT(26)
266268 #define VIRTCHNL_VF_OFFLOAD_ADV_RSS_PF BIT(27)
267269 #define VIRTCHNL_VF_OFFLOAD_FDIR_PF BIT(28)
268270
@@ -318,7 +320,9 @@ struct virtchnl_rxq_info { · 49 unmodified lines
318320 u16 splithdr_enabled; /* deprecated with AVF 1.0 */
319321 u32 databuffer_size;
320322 u32 max_pkt_size;
321− u32 pad1;
323+ u8 pad0;
324+ u8 rxdid;
325+ u8 pad1[2];
322326 u64 dma_ring_addr;
323327 enum virtchnl_rx_hsplit rx_split_pos; /* deprecated with AVF 1.0 */
324328 u32 pad2;
@@ -970,6 +974,10 @@ struct virtchnl_filter { · 645 unmodified lines
970974
971975 VIRTCHNL_CHECK_STRUCT_LEN(272, virtchnl_filter);
972976
977+struct virtchnl_supported_rxdids {
978+ u64 supported_rxdids;
979+};
980+
973981 /* VIRTCHNL_OP_EVENT
974982 * PF sends this message to inform the VF driver of events that may affect it.
975983 * No direct response is expected from the VF, though it may generate other
@@ -1499,6 +1507,8 @@ virtchnl_vc_validate_vf_msg(struct virtchnl_version_info *ver, u32 v_opcode, · 523 unmodified lines
14991507 case VIRTCHNL_OP_DEL_CLOUD_FILTER:
15001508 valid_len = sizeof(struct virtchnl_filter);
15011509 break;
1510+ case VIRTCHNL_OP_GET_SUPPORTED_RXDIDS:
1511+ break;
15021512 case VIRTCHNL_OP_ADD_RSS_CFG:
15031513 case VIRTCHNL_OP_DEL_RSS_CFG:
15041514 valid_len = sizeof(struct virtchnl_rss_cfg);