Lines Matching +full:spi +full:- +full:crc
1 /* SPDX-License-Identifier: BSD-3-Clause */
36 * This header file describes the Virtual Function (VF) - Physical Function
41 * desc->opcode is always aqc_opc_send_msg_to_pf
87 VIRTCHNL_STATUS_ERR_PARAM = -5,
88 VIRTCHNL_STATUS_ERR_NO_MEMORY = -18,
89 VIRTCHNL_STATUS_ERR_OPCODE_MISMATCH = -38,
90 VIRTCHNL_STATUS_ERR_CQP_COMPL_ERROR = -39,
91 VIRTCHNL_STATUS_ERR_INVALID_VF_ID = -40,
92 VIRTCHNL_STATUS_ERR_ADMIN_QUEUE_ERROR = -53,
93 VIRTCHNL_STATUS_ERR_NOT_SUPPORTED = -64,
136 /* Opcodes for VF-PF communication. These are placed in the v_opcode field
347 /* avoid confusion with desc->opcode */
350 /* ditto for desc->retval */
384 #define VF_IS_V10(_ver) (((_ver)->major == 1) && ((_ver)->minor == 0))
385 #define VF_IS_V11(_ver) (((_ver)->major == 1) && ((_ver)->minor == 1))
386 #define VF_IS_V20(_ver) (((_ver)->major == 2) && ((_ver)->minor == 0))
400 /* VSI types that use VIRTCHNL interface for VF-PF communication. VSI_SRIOV
431 * TX/RX Checksum offloading and TSO for non-tunnelled packets.
545 * crc_disable flag disables CRC stripping on the VF. Setting
546 * the crc_disable flag to 1 will disable CRC stripping for each
773 * VIRTCHNL_VLAN_UNSUPPORTED - This field is not supported and if a VF driver
776 * VIRTCHNL_VLAN_ETHERTYPE_8100 - This field supports 0x8100 ethertype.
777 * VIRTCHNL_VLAN_ETHERTYPE_88A8 - This field supports 0x88A8 ethertype.
778 * VIRTCHNL_VLAN_ETHERTYPE_9100 - This field supports 0x9100 ethertype.
780 * VIRTCHNL_VLAN_ETHERTYPE_AND - Used when multiple ethertypes can be supported
792 * VIRTCHNL_ETHERTYPE_XOR - Used when only a single ethertype can be supported
806 * VIRTCHNL_VLAN_TAG_LOCATION_L2TAG1 - Used to tell the VF to insert and/or
809 * VIRTCHNL_VLAN_TAG_LOCATION_L2TAG2 - Used to tell the VF to insert hardware
812 * VIRTCHNL_VLAN_TAG_LOCATION_L2TAG2 - Used to tell the VF to strip hardware
815 * VIRTCHNL_VLAN_PRIO - This field supports VLAN priority bits. This is used for
818 * VIRTCHNL_VLAN_TOGGLE_ALLOWED - This field is used to say whether a
897 * VIRTCHNL_ETHERTYPE_STRIPPING_MATCHES_INSERTION - The ethertype(s) specified
903 * VIRTCHNL_ETHERTYPE_MATCH_NOT_REQUIRED - The ethertype(s) specified for
965 * actual 2-byte VLAN TPID
1430 /* VF reset states - these are written into the RSTAT register:
1453 #define PROTO_HDR_FIELD_MASK ((1UL << PROTO_HDR_SHIFT) - 1)
1460 * @param field: SRC/DST/TEID/SPI, etc
1463 ((hdr)->field_selector |= BIT((field) & PROTO_HDR_FIELD_MASK))
1465 ((hdr)->field_selector &= ~BIT((field) & PROTO_HDR_FIELD_MASK))
1467 ((hdr)->field_selector & BIT((val) & PROTO_HDR_FIELD_MASK))
1468 #define VIRTCHNL_GET_PROTO_HDR_FIELD(hdr) ((hdr)->field_selector)
1478 ((hdr)->type = VIRTCHNL_PROTO_HDR_ ## hdr_type)
1480 (((hdr)->type) >> PROTO_HDR_SHIFT)
1482 ((hdr)->type == ((s32)((val) >> PROTO_HDR_SHIFT)))
1531 /* S-VLAN */
1534 /* C-VLAN */
1651 /* binary buffer for bit-mask applied to specific header type */
1662 * 0 - from the outer layer
1663 * 1 - from the first inner layer
1664 * 2 - from the second inner layer
1674 * last valid index = count - VIRTCHNL_MAX_NUM_PROTO_HDRS
2079 ((u16)(~0) - sizeof(struct virtchnl_vsi_queue_config_info)) /
2083 ((u16)(~0) - sizeof(struct virtchnl_irq_map_info)) /
2087 ((u16)(~0) - sizeof(struct virtchnl_ether_addr_list)) /
2091 ((u16)(~0) - sizeof(struct virtchnl_vlan_filter_list)) /
2095 ((u16)(~0) - sizeof(struct virtchnl_tc_info)) /
2099 ((u16)(~0) - sizeof(struct virtchnl_del_ena_dis_queues)) /
2103 ((u16)(~0) - sizeof(struct virtchnl_queue_vector_maps)) /
2107 ((u16)(~0) - sizeof(struct virtchnl_vlan_filter_list_v2)) /
2150 if (vqc->num_queue_pairs == 0 || vqc->num_queue_pairs >
2156 valid_len += (vqc->num_queue_pairs *
2167 if (vimi->num_vectors == 0 || vimi->num_vectors >
2173 valid_len += (vimi->num_vectors *
2190 if (veal->num_elements == 0 || veal->num_elements >
2196 valid_len += veal->num_elements *
2207 if (vfl->num_elements == 0 || vfl->num_elements >
2213 valid_len += vfl->num_elements * sizeof(u16);
2228 if (vrk->key_len == 0) {
2233 valid_len += vrk->key_len - 1;
2242 if (vrl->lut_entries == 0) {
2247 valid_len += vrl->lut_entries - 1;
2267 if (vti->num_tc == 0 || vti->num_tc >
2273 valid_len += (vti->num_tc - 1) *
2306 if (q_tc->num_tc == 0) {
2310 valid_len += (q_tc->num_tc - 1) *
2311 sizeof(q_tc->tc[0]);
2319 if (q_bw->num_queues == 0) {
2323 valid_len += (q_bw->num_queues - 1) *
2324 sizeof(q_bw->cfg[0]);
2332 if (q_quanta->quanta_size == 0 ||
2333 q_quanta->queue_select.num_queues == 0) {
2348 if (vfl->num_elements == 0 || vfl->num_elements >
2354 valid_len += (vfl->num_elements - 1) *
2372 if (qs->chunks.num_chunks == 0 ||
2373 qs->chunks.num_chunks > VIRTCHNL_OP_ENABLE_DISABLE_DEL_QUEUES_V2_MAX) {
2377 valid_len += (qs->chunks.num_chunks - 1) *
2386 if (v_qp->num_qv_maps == 0 ||
2387 v_qp->num_qv_maps > VIRTCHNL_OP_MAP_UNMAP_QUEUE_VECTOR_MAX) {
2391 valid_len += (v_qp->num_qv_maps - 1) *