Fixes: 0ebce6129bc6 ("net/dpaa2: support new ethdev offload APIs") Cc: shreyansh.j...@nxp.com
Signed-off-by: Sunil Kumar Kori <sunil.k...@nxp.com> --- drivers/net/dpaa2/dpaa2_ethdev.c | 37 +++++++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c index 54ab9eb..a47c723 100644 --- a/drivers/net/dpaa2/dpaa2_ethdev.c +++ b/drivers/net/dpaa2/dpaa2_ethdev.c @@ -27,6 +27,25 @@ #include "dpaa2_ethdev.h" #include <fsl_qbman_debug.h> +/* Non-Supported Rx offloads */ +static uint64_t dev_rx_offloads_not_supported = + DEV_RX_OFFLOAD_TCP_LRO | + DEV_RX_OFFLOAD_MACSEC_STRIP | + DEV_RX_OFFLOAD_HEADER_SPLIT | + DEV_RX_OFFLOAD_VLAN_EXTEND | + DEV_RX_OFFLOAD_SECURITY; + +/* Non-Supported Tx offloads */ +static uint64_t dev_tx_offloads_not_supported = + DEV_TX_OFFLOAD_TCP_TSO | + DEV_TX_OFFLOAD_UDP_TSO | + DEV_TX_OFFLOAD_VXLAN_TNL_TSO | + DEV_TX_OFFLOAD_GRE_TNL_TSO | + DEV_TX_OFFLOAD_IPIP_TNL_TSO | + DEV_TX_OFFLOAD_GENEVE_TNL_TSO | + DEV_TX_OFFLOAD_MACSEC_INSERT | + DEV_TX_OFFLOAD_SECURITY; + struct rte_dpaa2_xstats_name_off { char name[RTE_ETH_XSTATS_NAME_SIZE]; uint8_t page_id; /* dpni statistics page id */ @@ -289,18 +308,20 @@ dpaa2_eth_dev_configure(struct rte_eth_dev *dev) PMD_INIT_FUNC_TRACE(); dpaa2_dev_info_get(dev, &dev_info); - if ((~(dev_info.rx_offload_capa) & rx_offloads) != 0) { - DPAA2_PMD_ERR("Some Rx offloads are not supported " - "requested 0x%" PRIx64 " supported 0x%" PRIx64, + /* Rx offloads validation */ + if (dev_rx_offloads_not_supported & rx_offloads) { + DPAA2_PMD_ERR( + "Rx offloads not supported - Requested 0x%" PRIx64 " supported 0x%" PRIx64, rx_offloads, dev_info.rx_offload_capa); - return -ENOTSUP; + return -ENOTSUP; } - if ((~(dev_info.tx_offload_capa) & tx_offloads) != 0) { - DPAA2_PMD_ERR("Some Tx offloads are not supported " - "requested 0x%" PRIx64 " supported 0x%" PRIx64, + /* Tx offloads validation */ + if (dev_tx_offloads_not_supported & tx_offloads) { + DPAA2_PMD_ERR( + "Tx offloads not supported - Requested 0x%" PRIx64 " Supported 0x%" PRIx64, tx_offloads, dev_info.tx_offload_capa); - return -ENOTSUP; + return -ENOTSUP; } if (rx_offloads & DEV_RX_OFFLOAD_JUMBO_FRAME) { -- 2.9.3