[dpdk-dev] [PATCH 09/36] net/sfc: add caps to specify if libefx supports Rx/Tx
Andrew Rybchenko
arybchenko at solarflare.com
Tue Oct 13 15:45:26 CEST 2020
libefx usage may be limitted to control path only and its
implementation of datapath may not support NIC family or
PMD efx Rx/Tx datapaths implementation may be not yet ported
to updated libefx.
Signed-off-by: Andrew Rybchenko <arybchenko at solarflare.com>
---
drivers/net/sfc/sfc_dp.h | 2 ++
drivers/net/sfc/sfc_ethdev.c | 2 ++
drivers/net/sfc/sfc_rx.c | 2 +-
drivers/net/sfc/sfc_tx.c | 2 +-
4 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/net/sfc/sfc_dp.h b/drivers/net/sfc/sfc_dp.h
index a161b0b07c..0c11cb09d0 100644
--- a/drivers/net/sfc/sfc_dp.h
+++ b/drivers/net/sfc/sfc_dp.h
@@ -81,6 +81,8 @@ struct sfc_dp {
unsigned int hw_fw_caps;
#define SFC_DP_HW_FW_CAP_EF10 0x1
#define SFC_DP_HW_FW_CAP_RX_ES_SUPER_BUFFER 0x2
+#define SFC_DP_HW_FW_CAP_RX_EFX 0x4
+#define SFC_DP_HW_FW_CAP_TX_EFX 0x8
};
/** List of datapath variants */
diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c
index ca1b99a00f..2140ac5d98 100644
--- a/drivers/net/sfc/sfc_ethdev.c
+++ b/drivers/net/sfc/sfc_ethdev.c
@@ -1924,6 +1924,8 @@ sfc_eth_dev_set_ops(struct rte_eth_dev *dev)
case EFX_FAMILY_MEDFORD:
case EFX_FAMILY_MEDFORD2:
avail_caps |= SFC_DP_HW_FW_CAP_EF10;
+ avail_caps |= SFC_DP_HW_FW_CAP_RX_EFX;
+ avail_caps |= SFC_DP_HW_FW_CAP_TX_EFX;
break;
default:
break;
diff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c
index 7c50fe58b8..a9217ada9d 100644
--- a/drivers/net/sfc/sfc_rx.c
+++ b/drivers/net/sfc/sfc_rx.c
@@ -624,7 +624,7 @@ struct sfc_dp_rx sfc_efx_rx = {
.dp = {
.name = SFC_KVARG_DATAPATH_EFX,
.type = SFC_DP_RX,
- .hw_fw_caps = 0,
+ .hw_fw_caps = SFC_DP_HW_FW_CAP_RX_EFX,
},
.features = SFC_DP_RX_FEAT_INTR,
.dev_offload_capa = DEV_RX_OFFLOAD_CHECKSUM |
diff --git a/drivers/net/sfc/sfc_tx.c b/drivers/net/sfc/sfc_tx.c
index 05a2cf009e..4ea614816a 100644
--- a/drivers/net/sfc/sfc_tx.c
+++ b/drivers/net/sfc/sfc_tx.c
@@ -1138,7 +1138,7 @@ struct sfc_dp_tx sfc_efx_tx = {
.dp = {
.name = SFC_KVARG_DATAPATH_EFX,
.type = SFC_DP_TX,
- .hw_fw_caps = 0,
+ .hw_fw_caps = SFC_DP_HW_FW_CAP_TX_EFX,
},
.features = 0,
.dev_offload_capa = DEV_TX_OFFLOAD_VLAN_INSERT |
--
2.17.1
More information about the dev
mailing list