From: Mateusz Polchlopek <mateusz.polchlo...@intel.com>
Date: Tue, 30 Jul 2024 05:14:58 -0400

> From: Jacob Keller <jacob.e.kel...@intel.com>
> 
> Support for allowing VF to negotiate the descriptor format requires that
> the VF specify which descriptor format to use when requesting Rx queues.
> The VF is supposed to request the set of supported formats via the new
> VIRTCHNL_OP_GET_SUPPORTED_RXDIDS, and then set one of the supported
> formats in the rxdid field of the virtchnl_rxq_info structure.

[...]

> +/* RX descriptor ID bitmasks */
> +enum virtchnl_rx_desc_id_bitmasks {
> +     VIRTCHNL_RXDID_0_16B_BASE_M             = 
> BIT(VIRTCHNL_RXDID_0_16B_BASE),
> +     VIRTCHNL_RXDID_1_32B_BASE_M             = 
> BIT(VIRTCHNL_RXDID_1_32B_BASE),
> +     VIRTCHNL_RXDID_2_FLEX_SQ_NIC_M          = 
> BIT(VIRTCHNL_RXDID_2_FLEX_SQ_NIC),
> +     VIRTCHNL_RXDID_3_FLEX_SQ_SW_M           = 
> BIT(VIRTCHNL_RXDID_3_FLEX_SQ_SW),

Macro compression? ^.^

#define VIRTCHNL_RXDID_BIT(x)   BIT(VIRTCHNL_RXDID_##x)

        VIRTCHNL_RXDID_0_16B_BASE_M             = 
VIRTCHNL_RXDID_BIT(0_16B_BASE),

and so on...

(optionally)

> +     VIRTCHNL_RXDID_4_FLEX_SQ_NIC_VEB_M      = 
> BIT(VIRTCHNL_RXDID_4_FLEX_SQ_NIC_VEB),
> +     VIRTCHNL_RXDID_5_FLEX_SQ_NIC_ACL_M      = 
> BIT(VIRTCHNL_RXDID_5_FLEX_SQ_NIC_ACL),
> +     VIRTCHNL_RXDID_6_FLEX_SQ_NIC_2_M        = 
> BIT(VIRTCHNL_RXDID_6_FLEX_SQ_NIC_2),
> +     VIRTCHNL_RXDID_7_HW_RSVD_M              = BIT(VIRTCHNL_RXDID_7_HW_RSVD),
> +     /* 8 through 15 are reserved */
> +     VIRTCHNL_RXDID_16_COMMS_GENERIC_M       = 
> BIT(VIRTCHNL_RXDID_16_COMMS_GENERIC),
> +     VIRTCHNL_RXDID_17_COMMS_AUX_VLAN_M      = 
> BIT(VIRTCHNL_RXDID_17_COMMS_AUX_VLAN),
> +     VIRTCHNL_RXDID_18_COMMS_AUX_IPV4_M      = 
> BIT(VIRTCHNL_RXDID_18_COMMS_AUX_IPV4),
> +     VIRTCHNL_RXDID_19_COMMS_AUX_IPV6_M      = 
> BIT(VIRTCHNL_RXDID_19_COMMS_AUX_IPV6),
> +     VIRTCHNL_RXDID_20_COMMS_AUX_FLOW_M      = 
> BIT(VIRTCHNL_RXDID_20_COMMS_AUX_FLOW),
> +     VIRTCHNL_RXDID_21_COMMS_AUX_TCP_M       = 
> BIT(VIRTCHNL_RXDID_21_COMMS_AUX_TCP),
> +     /* 22 through 63 are reserved */
> +};
> +
>  /* virtchnl_rxq_info_flags
>   *
>   * Definition of bits in the flags field of the virtchnl_rxq_info structure.
> @@ -338,6 +378,11 @@ struct virtchnl_rxq_info {
>       u32 databuffer_size;
>       u32 max_pkt_size;
>       u8 crc_disable;
> +     /* see enum virtchnl_rx_desc_ids;
> +      * only used when VIRTCHNL_VF_OFFLOAD_RX_FLEX_DESC is supported. Note
> +      * that when the offload is not supported, the descriptor format aligns
> +      * with VIRTCHNL_RXDID_1_32B_BASE.
> +      */
>       u8 rxdid;

Same as in the previous patch, this can be enum:8.

>       u8 flags; /* see virtchnl_rxq_info_flags */
>       u8 pad1;
> @@ -1041,6 +1086,7 @@ struct virtchnl_filter {
>  VIRTCHNL_CHECK_STRUCT_LEN(272, virtchnl_filter);
>  
>  struct virtchnl_supported_rxdids {
> +     /* see enum virtchnl_rx_desc_id_bitmasks */
>       u64 supported_rxdids;

If this is u64, then virtchnl_rx_desc_id_bitmasks should use BIT_ULL(),
not BIT().

>  };

Thanks,
Olek

Reply via email to