[PATCH v4 4/6] net/i40e: avoid using const variable in assertion
Konstantin Ananyev
konstantin.ananyev at huawei.com
Thu Jan 18 10:34:28 CET 2024
> Clang does not allow const variable in a static_assert
> expression.
>
> Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
> ---
> drivers/net/i40e/i40e_ethdev.h | 1 +
> drivers/net/i40e/i40e_rxtx_vec_sse.c | 10 ++++------
> 2 files changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/net/i40e/i40e_ethdev.h b/drivers/net/i40e/i40e_ethdev.h
> index 1bbe7ad37600..445e1c0b381f 100644
> --- a/drivers/net/i40e/i40e_ethdev.h
> +++ b/drivers/net/i40e/i40e_ethdev.h
> @@ -278,6 +278,7 @@ enum i40e_flxpld_layer_idx {
> #define I40E_DEFAULT_DCB_APP_PRIO 3
>
> #define I40E_FDIR_PRG_PKT_CNT 128
> +#define I40E_FDIR_ID_BIT_SHIFT 13
>
> /*
> * Struct to store flow created.
> diff --git a/drivers/net/i40e/i40e_rxtx_vec_sse.c b/drivers/net/i40e/i40e_rxtx_vec_sse.c
> index 9200a23ff662..2d4480a7651b 100644
> --- a/drivers/net/i40e/i40e_rxtx_vec_sse.c
> +++ b/drivers/net/i40e/i40e_rxtx_vec_sse.c
> @@ -143,10 +143,9 @@ descs_to_fdir_32b(volatile union i40e_rx_desc *rxdp, struct rte_mbuf **rx_pkt)
> /* convert fdir_id_mask into a single bit, then shift as required for
> * correct location in the mbuf->olflags
> */
> - const uint32_t FDIR_ID_BIT_SHIFT = 13;
> - RTE_BUILD_BUG_ON(RTE_MBUF_F_RX_FDIR_ID != (1 << FDIR_ID_BIT_SHIFT));
> + RTE_BUILD_BUG_ON(RTE_MBUF_F_RX_FDIR_ID != (1 << I40E_FDIR_ID_BIT_SHIFT));
> v_fd_id_mask = _mm_srli_epi32(v_fd_id_mask, 31);
> - v_fd_id_mask = _mm_slli_epi32(v_fd_id_mask, FDIR_ID_BIT_SHIFT);
> + v_fd_id_mask = _mm_slli_epi32(v_fd_id_mask, I40E_FDIR_ID_BIT_SHIFT);
>
> /* The returned value must be combined into each mbuf. This is already
> * being done for RSS and VLAN mbuf olflags, so return bits to OR in.
> @@ -205,10 +204,9 @@ descs_to_fdir_16b(__m128i fltstat, __m128i descs[4], struct rte_mbuf **rx_pkt)
> descs[0] = _mm_blendv_epi8(descs[0], _mm_setzero_si128(), v_desc0_mask);
>
> /* Shift to 1 or 0 bit per u32 lane, then to RTE_MBUF_F_RX_FDIR_ID offset */
> - const uint32_t FDIR_ID_BIT_SHIFT = 13;
> - RTE_BUILD_BUG_ON(RTE_MBUF_F_RX_FDIR_ID != (1 << FDIR_ID_BIT_SHIFT));
> + RTE_BUILD_BUG_ON(RTE_MBUF_F_RX_FDIR_ID != (1 << I40E_FDIR_ID_BIT_SHIFT));
> __m128i v_mask_one_bit = _mm_srli_epi32(v_fdir_id_mask, 31);
> - return _mm_slli_epi32(v_mask_one_bit, FDIR_ID_BIT_SHIFT);
> + return _mm_slli_epi32(v_mask_one_bit, I40E_FDIR_ID_BIT_SHIFT);
> }
> #endif
>
> --
Acked-by: Konstantin Ananyev <konstantin.ananyev at huawei.com>
> 2.43.0
More information about the dev
mailing list