From: Chaoyong He <chaoyong.he@corigine.com>
To: dev@dpdk.org
Cc: oss-drivers@corigine.com, Chaoyong He <chaoyong.he@corigine.com>,
Long Wu <long.wu@corigine.com>,
Peng Zhang <peng.zhang@corigine.com>
Subject: [PATCH v4 12/24] net/nfp: rename parameter in related logic
Date: Fri, 27 Oct 2023 10:59:49 +0800 [thread overview]
Message-ID: <20231027030001.602639-13-chaoyong.he@corigine.com> (raw)
In-Reply-To: <20231027030001.602639-1-chaoyong.he@corigine.com>
Rename parameter 'hw' into 'net_hw' in the related logic, to make the
name more accurate.
Signed-off-by: Chaoyong He <chaoyong.he@corigine.com>
Reviewed-by: Long Wu <long.wu@corigine.com>
Reviewed-by: Peng Zhang <peng.zhang@corigine.com>
---
drivers/net/nfp/flower/nfp_flower.c | 8 +--
drivers/net/nfp/nfp_ethdev.c | 86 +++++++++++------------
drivers/net/nfp/nfp_ethdev_vf.c | 62 +++++++++--------
drivers/net/nfp/nfp_ipsec.c | 82 +++++++++++-----------
drivers/net/nfp/nfp_net_common.c | 102 ++++++++++++++++------------
drivers/net/nfp/nfp_net_ctrl.c | 14 ++--
drivers/net/nfp/nfp_rxtx.c | 16 ++---
7 files changed, 193 insertions(+), 177 deletions(-)
diff --git a/drivers/net/nfp/flower/nfp_flower.c b/drivers/net/nfp/flower/nfp_flower.c
index 831f4a7265..f3fedbf7e5 100644
--- a/drivers/net/nfp/flower/nfp_flower.c
+++ b/drivers/net/nfp/flower/nfp_flower.c
@@ -25,18 +25,18 @@ static void
nfp_pf_repr_enable_queues(struct rte_eth_dev *dev)
{
uint16_t i;
- struct nfp_net_hw *hw;
+ struct nfp_hw *hw;
uint64_t enabled_queues = 0;
struct nfp_flower_representor *repr;
repr = dev->data->dev_private;
- hw = repr->app_fw_flower->pf_hw;
+ hw = &repr->app_fw_flower->pf_hw->super;
/* Enabling the required TX queues in the device */
for (i = 0; i < dev->data->nb_tx_queues; i++)
enabled_queues |= (1 << i);
- nn_cfg_writeq(&hw->super, NFP_NET_CFG_TXRS_ENABLE, enabled_queues);
+ nn_cfg_writeq(hw, NFP_NET_CFG_TXRS_ENABLE, enabled_queues);
enabled_queues = 0;
@@ -44,7 +44,7 @@ nfp_pf_repr_enable_queues(struct rte_eth_dev *dev)
for (i = 0; i < dev->data->nb_rx_queues; i++)
enabled_queues |= (1 << i);
- nn_cfg_writeq(&hw->super, NFP_NET_CFG_RXRS_ENABLE, enabled_queues);
+ nn_cfg_writeq(hw, NFP_NET_CFG_RXRS_ENABLE, enabled_queues);
}
static void
diff --git a/drivers/net/nfp/nfp_ethdev.c b/drivers/net/nfp/nfp_ethdev.c
index a93742a205..3d4b78fbf1 100644
--- a/drivers/net/nfp/nfp_ethdev.c
+++ b/drivers/net/nfp/nfp_ethdev.c
@@ -479,11 +479,11 @@ nfp_net_init(struct rte_eth_dev *eth_dev)
uint16_t port;
uint64_t rx_base;
uint64_t tx_base;
- struct nfp_net_hw *hw;
+ struct nfp_hw *hw;
+ struct nfp_net_hw *net_hw;
struct nfp_pf_dev *pf_dev;
struct rte_pci_device *pci_dev;
struct nfp_app_fw_nic *app_fw_nic;
- struct rte_ether_addr *tmp_ether_addr;
pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
@@ -503,46 +503,47 @@ nfp_net_init(struct rte_eth_dev *eth_dev)
* Use PF array of physical ports to get pointer to
* this specific port.
*/
- hw = app_fw_nic->ports[port];
+ net_hw = app_fw_nic->ports[port];
+ hw = &net_hw->super;
PMD_INIT_LOG(DEBUG, "Working with physical port number: %hu, "
- "NFP internal port number: %d", port, hw->nfp_idx);
+ "NFP internal port number: %d", port, net_hw->nfp_idx);
rte_eth_copy_pci_info(eth_dev, pci_dev);
- hw->super.ctrl_bar = pci_dev->mem_resource[0].addr;
- if (hw->super.ctrl_bar == NULL) {
- PMD_DRV_LOG(ERR, "hw->super.ctrl_bar is NULL. BAR0 not configured");
+ hw->ctrl_bar = pci_dev->mem_resource[0].addr;
+ if (hw->ctrl_bar == NULL) {
+ PMD_DRV_LOG(ERR, "hw->ctrl_bar is NULL. BAR0 not configured");
return -ENODEV;
}
if (port == 0) {
uint32_t min_size;
- hw->super.ctrl_bar = pf_dev->ctrl_bar;
- min_size = NFP_MAC_STATS_SIZE * hw->pf_dev->nfp_eth_table->max_index;
- hw->mac_stats_bar = nfp_rtsym_map(hw->pf_dev->sym_tbl, "_mac_stats",
- min_size, &hw->mac_stats_area);
- if (hw->mac_stats_bar == NULL) {
+ hw->ctrl_bar = pf_dev->ctrl_bar;
+ min_size = NFP_MAC_STATS_SIZE * net_hw->pf_dev->nfp_eth_table->max_index;
+ net_hw->mac_stats_bar = nfp_rtsym_map(net_hw->pf_dev->sym_tbl, "_mac_stats",
+ min_size, &net_hw->mac_stats_area);
+ if (net_hw->mac_stats_bar == NULL) {
PMD_INIT_LOG(ERR, "nfp_rtsym_map fails for _mac_stats_bar");
return -EIO;
}
- hw->mac_stats = hw->mac_stats_bar;
+ net_hw->mac_stats = net_hw->mac_stats_bar;
} else {
if (pf_dev->ctrl_bar == NULL)
return -ENODEV;
/* Use port offset in pf ctrl_bar for this ports control bar */
- hw->super.ctrl_bar = pf_dev->ctrl_bar + (port * NFP_NET_CFG_BAR_SZ);
- hw->mac_stats = app_fw_nic->ports[0]->mac_stats_bar +
- (hw->nfp_idx * NFP_MAC_STATS_SIZE);
+ hw->ctrl_bar = pf_dev->ctrl_bar + (port * NFP_NET_CFG_BAR_SZ);
+ net_hw->mac_stats = app_fw_nic->ports[0]->mac_stats_bar +
+ (net_hw->nfp_idx * NFP_MAC_STATS_SIZE);
}
- PMD_INIT_LOG(DEBUG, "ctrl bar: %p", hw->super.ctrl_bar);
- PMD_INIT_LOG(DEBUG, "MAC stats: %p", hw->mac_stats);
+ PMD_INIT_LOG(DEBUG, "ctrl bar: %p", hw->ctrl_bar);
+ PMD_INIT_LOG(DEBUG, "MAC stats: %p", net_hw->mac_stats);
- err = nfp_net_common_init(pci_dev, hw);
+ err = nfp_net_common_init(pci_dev, net_hw);
if (err != 0)
return err;
@@ -558,38 +559,38 @@ nfp_net_init(struct rte_eth_dev *eth_dev)
return err;
}
- nfp_net_ethdev_ops_mount(hw, eth_dev);
+ nfp_net_ethdev_ops_mount(net_hw, eth_dev);
- hw->eth_xstats_base = rte_malloc("rte_eth_xstat", sizeof(struct rte_eth_xstat) *
+ net_hw->eth_xstats_base = rte_malloc("rte_eth_xstat", sizeof(struct rte_eth_xstat) *
nfp_net_xstats_size(eth_dev), 0);
- if (hw->eth_xstats_base == NULL) {
+ if (net_hw->eth_xstats_base == NULL) {
PMD_INIT_LOG(ERR, "no memory for xstats base values on device %s!",
pci_dev->device.name);
return -ENOMEM;
}
/* Work out where in the BAR the queues start. */
- tx_base = nn_cfg_readl(&hw->super, NFP_NET_CFG_START_TXQ);
- rx_base = nn_cfg_readl(&hw->super, NFP_NET_CFG_START_RXQ);
+ tx_base = nn_cfg_readl(hw, NFP_NET_CFG_START_TXQ);
+ rx_base = nn_cfg_readl(hw, NFP_NET_CFG_START_RXQ);
- hw->tx_bar = pf_dev->qc_bar + tx_base * NFP_QCP_QUEUE_ADDR_SZ;
- hw->rx_bar = pf_dev->qc_bar + rx_base * NFP_QCP_QUEUE_ADDR_SZ;
- eth_dev->data->dev_private = hw;
+ net_hw->tx_bar = pf_dev->qc_bar + tx_base * NFP_QCP_QUEUE_ADDR_SZ;
+ net_hw->rx_bar = pf_dev->qc_bar + rx_base * NFP_QCP_QUEUE_ADDR_SZ;
+ eth_dev->data->dev_private = net_hw;
PMD_INIT_LOG(DEBUG, "ctrl_bar: %p, tx_bar: %p, rx_bar: %p",
- hw->super.ctrl_bar, hw->tx_bar, hw->rx_bar);
+ hw->ctrl_bar, net_hw->tx_bar, net_hw->rx_bar);
- nfp_net_cfg_queue_setup(hw);
- hw->mtu = RTE_ETHER_MTU;
+ nfp_net_cfg_queue_setup(net_hw);
+ net_hw->mtu = RTE_ETHER_MTU;
/* VLAN insertion is incompatible with LSOv2 */
- if ((hw->super.cap & NFP_NET_CFG_CTRL_LSO2) != 0)
- hw->super.cap &= ~NFP_NET_CFG_CTRL_TXVLAN;
+ if ((hw->cap & NFP_NET_CFG_CTRL_LSO2) != 0)
+ hw->cap &= ~NFP_NET_CFG_CTRL_TXVLAN;
- nfp_net_log_device_information(hw);
+ nfp_net_log_device_information(net_hw);
/* Initializing spinlock for reconfigs */
- rte_spinlock_init(&hw->super.reconfig_lock);
+ rte_spinlock_init(&hw->reconfig_lock);
/* Allocating memory for mac addr */
eth_dev->data->mac_addrs = rte_zmalloc("mac_addr", RTE_ETHER_ADDR_LEN, 0);
@@ -599,20 +600,19 @@ nfp_net_init(struct rte_eth_dev *eth_dev)
}
nfp_net_pf_read_mac(app_fw_nic, port);
- nfp_net_write_mac(&hw->super, &hw->super.mac_addr.addr_bytes[0]);
+ nfp_net_write_mac(hw, &hw->mac_addr.addr_bytes[0]);
- tmp_ether_addr = &hw->super.mac_addr;
- if (rte_is_valid_assigned_ether_addr(tmp_ether_addr) == 0) {
+ if (rte_is_valid_assigned_ether_addr(&hw->mac_addr) == 0) {
PMD_INIT_LOG(INFO, "Using random mac address for port %d", port);
/* Using random mac addresses for VFs */
- rte_eth_random_addr(&hw->super.mac_addr.addr_bytes[0]);
- nfp_net_write_mac(&hw->super, &hw->super.mac_addr.addr_bytes[0]);
+ rte_eth_random_addr(&hw->mac_addr.addr_bytes[0]);
+ nfp_net_write_mac(hw, &hw->mac_addr.addr_bytes[0]);
}
/* Copying mac address to DPDK eth_dev struct */
- rte_ether_addr_copy(&hw->super.mac_addr, eth_dev->data->mac_addrs);
+ rte_ether_addr_copy(&hw->mac_addr, eth_dev->data->mac_addrs);
- if ((hw->super.cap & NFP_NET_CFG_CTRL_LIVE_ADDR) == 0)
+ if ((hw->cap & NFP_NET_CFG_CTRL_LIVE_ADDR) == 0)
eth_dev->data->dev_flags |= RTE_ETH_DEV_NOLIVE_MAC_ADDR;
eth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
@@ -621,13 +621,13 @@ nfp_net_init(struct rte_eth_dev *eth_dev)
"mac=" RTE_ETHER_ADDR_PRT_FMT,
eth_dev->data->port_id, pci_dev->id.vendor_id,
pci_dev->id.device_id,
- RTE_ETHER_ADDR_BYTES(&hw->super.mac_addr));
+ RTE_ETHER_ADDR_BYTES(&hw->mac_addr));
/* Registering LSC interrupt handler */
rte_intr_callback_register(pci_dev->intr_handle,
nfp_net_dev_interrupt_handler, (void *)eth_dev);
/* Telling the firmware about the LSC interrupt entry */
- nn_cfg_writeb(&hw->super, NFP_NET_CFG_LSC, NFP_NET_IRQ_LSC_IDX);
+ nn_cfg_writeb(hw, NFP_NET_CFG_LSC, NFP_NET_IRQ_LSC_IDX);
/* Recording current stats counters values */
nfp_net_stats_reset(eth_dev);
diff --git a/drivers/net/nfp/nfp_ethdev_vf.c b/drivers/net/nfp/nfp_ethdev_vf.c
index dead6ca5ab..049728d30c 100644
--- a/drivers/net/nfp/nfp_ethdev_vf.c
+++ b/drivers/net/nfp/nfp_ethdev_vf.c
@@ -254,7 +254,8 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev)
int err;
uint16_t port;
uint32_t start_q;
- struct nfp_net_hw *hw;
+ struct nfp_hw *hw;
+ struct nfp_net_hw *net_hw;
uint64_t tx_bar_off = 0;
uint64_t rx_bar_off = 0;
struct rte_pci_device *pci_dev;
@@ -269,22 +270,23 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev)
return -ENODEV;
}
- hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
- hw->dev_info = dev_info;
+ net_hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
+ net_hw->dev_info = dev_info;
+ hw = &net_hw->super;
- hw->super.ctrl_bar = pci_dev->mem_resource[0].addr;
- if (hw->super.ctrl_bar == NULL) {
+ hw->ctrl_bar = pci_dev->mem_resource[0].addr;
+ if (hw->ctrl_bar == NULL) {
PMD_DRV_LOG(ERR, "hw->super.ctrl_bar is NULL. BAR0 not configured");
return -ENODEV;
}
- PMD_INIT_LOG(DEBUG, "ctrl bar: %p", hw->super.ctrl_bar);
+ PMD_INIT_LOG(DEBUG, "ctrl bar: %p", hw->ctrl_bar);
- err = nfp_net_common_init(pci_dev, hw);
+ err = nfp_net_common_init(pci_dev, net_hw);
if (err != 0)
return err;
- nfp_netvf_ethdev_ops_mount(hw, eth_dev);
+ nfp_netvf_ethdev_ops_mount(net_hw, eth_dev);
/* For secondary processes, the primary has done all the work */
if (rte_eal_process_type() != RTE_PROC_PRIMARY)
@@ -292,37 +294,37 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev)
rte_eth_copy_pci_info(eth_dev, pci_dev);
- hw->eth_xstats_base = rte_malloc("rte_eth_xstat",
+ net_hw->eth_xstats_base = rte_malloc("rte_eth_xstat",
sizeof(struct rte_eth_xstat) * nfp_net_xstats_size(eth_dev), 0);
- if (hw->eth_xstats_base == NULL) {
+ if (net_hw->eth_xstats_base == NULL) {
PMD_INIT_LOG(ERR, "No memory for xstats base values on device %s!",
pci_dev->device.name);
return -ENOMEM;
}
/* Work out where in the BAR the queues start. */
- start_q = nn_cfg_readl(&hw->super, NFP_NET_CFG_START_TXQ);
+ start_q = nn_cfg_readl(hw, NFP_NET_CFG_START_TXQ);
tx_bar_off = nfp_qcp_queue_offset(dev_info, start_q);
- start_q = nn_cfg_readl(&hw->super, NFP_NET_CFG_START_RXQ);
+ start_q = nn_cfg_readl(hw, NFP_NET_CFG_START_RXQ);
rx_bar_off = nfp_qcp_queue_offset(dev_info, start_q);
- hw->tx_bar = (uint8_t *)pci_dev->mem_resource[2].addr + tx_bar_off;
- hw->rx_bar = (uint8_t *)pci_dev->mem_resource[2].addr + rx_bar_off;
+ net_hw->tx_bar = (uint8_t *)pci_dev->mem_resource[2].addr + tx_bar_off;
+ net_hw->rx_bar = (uint8_t *)pci_dev->mem_resource[2].addr + rx_bar_off;
PMD_INIT_LOG(DEBUG, "ctrl_bar: %p, tx_bar: %p, rx_bar: %p",
- hw->super.ctrl_bar, hw->tx_bar, hw->rx_bar);
+ hw->ctrl_bar, net_hw->tx_bar, net_hw->rx_bar);
- nfp_net_cfg_queue_setup(hw);
- hw->mtu = RTE_ETHER_MTU;
+ nfp_net_cfg_queue_setup(net_hw);
+ net_hw->mtu = RTE_ETHER_MTU;
/* VLAN insertion is incompatible with LSOv2 */
- if ((hw->super.cap & NFP_NET_CFG_CTRL_LSO2) != 0)
- hw->super.cap &= ~NFP_NET_CFG_CTRL_TXVLAN;
+ if ((hw->cap & NFP_NET_CFG_CTRL_LSO2) != 0)
+ hw->cap &= ~NFP_NET_CFG_CTRL_TXVLAN;
- nfp_net_log_device_information(hw);
+ nfp_net_log_device_information(net_hw);
/* Initializing spinlock for reconfigs */
- rte_spinlock_init(&hw->super.reconfig_lock);
+ rte_spinlock_init(&hw->reconfig_lock);
/* Allocating memory for mac addr */
eth_dev->data->mac_addrs = rte_zmalloc("mac_addr", RTE_ETHER_ADDR_LEN, 0);
@@ -332,18 +334,18 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev)
goto dev_err_ctrl_map;
}
- nfp_netvf_read_mac(&hw->super);
- if (rte_is_valid_assigned_ether_addr(&hw->super.mac_addr) == 0) {
+ nfp_netvf_read_mac(hw);
+ if (rte_is_valid_assigned_ether_addr(&hw->mac_addr) == 0) {
PMD_INIT_LOG(INFO, "Using random mac address for port %hu", port);
/* Using random mac addresses for VFs */
- rte_eth_random_addr(&hw->super.mac_addr.addr_bytes[0]);
- nfp_net_write_mac(&hw->super, &hw->super.mac_addr.addr_bytes[0]);
+ rte_eth_random_addr(&hw->mac_addr.addr_bytes[0]);
+ nfp_net_write_mac(hw, &hw->mac_addr.addr_bytes[0]);
}
/* Copying mac address to DPDK eth_dev struct */
- rte_ether_addr_copy(&hw->super.mac_addr, eth_dev->data->mac_addrs);
+ rte_ether_addr_copy(&hw->mac_addr, eth_dev->data->mac_addrs);
- if ((hw->super.cap & NFP_NET_CFG_CTRL_LIVE_ADDR) == 0)
+ if ((hw->cap & NFP_NET_CFG_CTRL_LIVE_ADDR) == 0)
eth_dev->data->dev_flags |= RTE_ETH_DEV_NOLIVE_MAC_ADDR;
eth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
@@ -352,14 +354,14 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev)
"mac=" RTE_ETHER_ADDR_PRT_FMT,
port, pci_dev->id.vendor_id,
pci_dev->id.device_id,
- RTE_ETHER_ADDR_BYTES(&hw->super.mac_addr));
+ RTE_ETHER_ADDR_BYTES(&hw->mac_addr));
if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
/* Registering LSC interrupt handler */
rte_intr_callback_register(pci_dev->intr_handle,
nfp_net_dev_interrupt_handler, (void *)eth_dev);
/* Telling the firmware about the LSC interrupt entry */
- nn_cfg_writeb(&hw->super, NFP_NET_CFG_LSC, NFP_NET_IRQ_LSC_IDX);
+ nn_cfg_writeb(hw, NFP_NET_CFG_LSC, NFP_NET_IRQ_LSC_IDX);
/* Recording current stats counters values */
nfp_net_stats_reset(eth_dev);
}
@@ -367,7 +369,7 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev)
return 0;
dev_err_ctrl_map:
- nfp_cpp_area_free(hw->ctrl_area);
+ nfp_cpp_area_free(net_hw->ctrl_area);
return err;
}
diff --git a/drivers/net/nfp/nfp_ipsec.c b/drivers/net/nfp/nfp_ipsec.c
index 0da5c2a3d2..7e26977dc1 100644
--- a/drivers/net/nfp/nfp_ipsec.c
+++ b/drivers/net/nfp/nfp_ipsec.c
@@ -434,7 +434,7 @@ enum nfp_ipsec_df_type {
};
static int
-nfp_ipsec_cfg_cmd_issue(struct nfp_net_hw *hw,
+nfp_ipsec_cfg_cmd_issue(struct nfp_net_hw *net_hw,
struct nfp_ipsec_msg *msg)
{
int ret;
@@ -445,9 +445,9 @@ nfp_ipsec_cfg_cmd_issue(struct nfp_net_hw *hw,
msg->rsp = NFP_IPSEC_CFG_MSG_OK;
for (i = 0; i < msg_size; i++)
- nn_cfg_writel(&hw->super, NFP_NET_CFG_MBOX_VAL + 4 * i, msg->raw[i]);
+ nn_cfg_writel(&net_hw->super, NFP_NET_CFG_MBOX_VAL + 4 * i, msg->raw[i]);
- ret = nfp_net_mbox_reconfig(hw, NFP_NET_CFG_MBOX_CMD_IPSEC);
+ ret = nfp_net_mbox_reconfig(net_hw, NFP_NET_CFG_MBOX_CMD_IPSEC);
if (ret < 0) {
PMD_DRV_LOG(ERR, "Failed to IPsec reconfig mbox");
return ret;
@@ -459,7 +459,7 @@ nfp_ipsec_cfg_cmd_issue(struct nfp_net_hw *hw,
* response. One example where the data is needed is for statistics.
*/
for (i = 0; i < msg_size; i++)
- msg->raw[i] = nn_cfg_readl(&hw->super, NFP_NET_CFG_MBOX_VAL + 4 * i);
+ msg->raw[i] = nn_cfg_readl(&net_hw->super, NFP_NET_CFG_MBOX_VAL + 4 * i);
switch (msg->rsp) {
case NFP_IPSEC_CFG_MSG_OK:
@@ -577,10 +577,10 @@ nfp_aead_map(struct rte_eth_dev *eth_dev,
uint32_t device_id;
const char *iv_str;
const uint32_t *key;
- struct nfp_net_hw *hw;
+ struct nfp_net_hw *net_hw;
- hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
- device_id = hw->device_id;
+ net_hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
+ device_id = net_hw->device_id;
offset = 0;
switch (aead->algo) {
@@ -665,10 +665,10 @@ nfp_cipher_map(struct rte_eth_dev *eth_dev,
uint32_t i;
uint32_t device_id;
const uint32_t *key;
- struct nfp_net_hw *hw;
+ struct nfp_net_hw *net_hw;
- hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
- device_id = hw->device_id;
+ net_hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
+ device_id = net_hw->device_id;
switch (cipher->algo) {
case RTE_CRYPTO_CIPHER_NULL:
@@ -801,15 +801,15 @@ nfp_auth_map(struct rte_eth_dev *eth_dev,
uint8_t key_length;
uint32_t device_id;
const uint32_t *key;
- struct nfp_net_hw *hw;
+ struct nfp_net_hw *net_hw;
if (digest_length == 0) {
PMD_DRV_LOG(ERR, "Auth digest length is illegal!");
return -EINVAL;
}
- hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
- device_id = hw->device_id;
+ net_hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
+ device_id = net_hw->device_id;
digest_length = digest_length << 3;
switch (auth->algo) {
@@ -1068,7 +1068,7 @@ nfp_crypto_create_session(void *device,
{
int ret;
int sa_idx;
- struct nfp_net_hw *hw;
+ struct nfp_net_hw *net_hw;
struct nfp_ipsec_msg msg;
struct rte_eth_dev *eth_dev;
struct nfp_ipsec_session *priv_session;
@@ -1082,14 +1082,14 @@ nfp_crypto_create_session(void *device,
sa_idx = -1;
eth_dev = device;
priv_session = SECURITY_GET_SESS_PRIV(session);
- hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
+ net_hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
- if (hw->ipsec_data->sa_free_cnt == 0) {
+ if (net_hw->ipsec_data->sa_free_cnt == 0) {
PMD_DRV_LOG(ERR, "No space in SA table, spi: %d", conf->ipsec.spi);
return -EINVAL;
}
- nfp_get_sa_entry(hw->ipsec_data, &sa_idx);
+ nfp_get_sa_entry(net_hw->ipsec_data, &sa_idx);
if (sa_idx < 0) {
PMD_DRV_LOG(ERR, "Failed to get SA entry!");
@@ -1105,7 +1105,7 @@ nfp_crypto_create_session(void *device,
msg.cmd = NFP_IPSEC_CFG_MSG_ADD_SA;
msg.sa_idx = sa_idx;
- ret = nfp_ipsec_cfg_cmd_issue(hw, &msg);
+ ret = nfp_ipsec_cfg_cmd_issue(net_hw, &msg);
if (ret < 0) {
PMD_DRV_LOG(ERR, "Failed to add SA to nic");
return -EINVAL;
@@ -1118,8 +1118,8 @@ nfp_crypto_create_session(void *device,
priv_session->dev = eth_dev;
priv_session->user_data = conf->userdata;
- hw->ipsec_data->sa_free_cnt--;
- hw->ipsec_data->sa_entries[sa_idx] = priv_session;
+ net_hw->ipsec_data->sa_free_cnt--;
+ net_hw->ipsec_data->sa_entries[sa_idx] = priv_session;
return 0;
}
@@ -1156,19 +1156,19 @@ nfp_security_set_pkt_metadata(void *device,
{
int offset;
uint64_t *sqn;
- struct nfp_net_hw *hw;
+ struct nfp_net_hw *net_hw;
struct rte_eth_dev *eth_dev;
struct nfp_ipsec_session *priv_session;
sqn = params;
eth_dev = device;
priv_session = SECURITY_GET_SESS_PRIV(session);
- hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
+ net_hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
if (priv_session->ipsec.direction == RTE_SECURITY_IPSEC_SA_DIR_EGRESS) {
struct nfp_tx_ipsec_desc_msg *desc_md;
- offset = hw->ipsec_data->pkt_dynfield_offset;
+ offset = net_hw->ipsec_data->pkt_dynfield_offset;
desc_md = RTE_MBUF_DYNFIELD(m, offset, struct nfp_tx_ipsec_desc_msg *);
if (priv_session->msg.ctrl_word.ext_seq != 0 && sqn != NULL) {
@@ -1223,7 +1223,7 @@ nfp_security_session_get_stats(void *device,
struct rte_security_stats *stats)
{
int ret;
- struct nfp_net_hw *hw;
+ struct nfp_net_hw *net_hw;
struct nfp_ipsec_msg msg;
struct rte_eth_dev *eth_dev;
struct ipsec_get_sa_stats *cfg_s;
@@ -1236,9 +1236,9 @@ nfp_security_session_get_stats(void *device,
memset(&msg, 0, sizeof(msg));
msg.cmd = NFP_IPSEC_CFG_MSG_GET_SA_STATS;
msg.sa_idx = priv_session->sa_index;
- hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
+ net_hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
- ret = nfp_ipsec_cfg_cmd_issue(hw, &msg);
+ ret = nfp_ipsec_cfg_cmd_issue(net_hw, &msg);
if (ret < 0) {
PMD_DRV_LOG(ERR, "Failed to get SA stats");
return ret;
@@ -1284,22 +1284,22 @@ nfp_crypto_remove_sa(struct rte_eth_dev *eth_dev,
{
int ret;
uint32_t sa_index;
- struct nfp_net_hw *hw;
+ struct nfp_net_hw *net_hw;
struct nfp_ipsec_msg cfg;
sa_index = priv_session->sa_index;
- hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
+ net_hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
cfg.cmd = NFP_IPSEC_CFG_MSG_INV_SA;
cfg.sa_idx = sa_index;
- ret = nfp_ipsec_cfg_cmd_issue(hw, &cfg);
+ ret = nfp_ipsec_cfg_cmd_issue(net_hw, &cfg);
if (ret < 0) {
PMD_DRV_LOG(ERR, "Failed to remove SA!");
return -EINVAL;
}
- hw->ipsec_data->sa_free_cnt++;
- hw->ipsec_data->sa_entries[sa_index] = NULL;
+ net_hw->ipsec_data->sa_free_cnt++;
+ net_hw->ipsec_data->sa_entries[sa_index] = NULL;
return 0;
}
@@ -1377,12 +1377,12 @@ nfp_ipsec_init(struct rte_eth_dev *dev)
{
int ret;
uint32_t cap_extend;
- struct nfp_net_hw *hw;
+ struct nfp_net_hw *net_hw;
struct nfp_net_ipsec_data *data;
- hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+ net_hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
- cap_extend = hw->super.cap_ext;
+ cap_extend = net_hw->super.cap_ext;
if ((cap_extend & NFP_NET_CFG_CTRL_IPSEC) == 0) {
PMD_INIT_LOG(INFO, "Unsupported IPsec extend capability");
return 0;
@@ -1396,7 +1396,7 @@ nfp_ipsec_init(struct rte_eth_dev *dev)
data->pkt_dynfield_offset = -1;
data->sa_free_cnt = NFP_NET_IPSEC_MAX_SA_CNT;
- hw->ipsec_data = data;
+ net_hw->ipsec_data = data;
ret = nfp_ipsec_ctx_create(dev, data);
if (ret != 0) {
@@ -1424,12 +1424,12 @@ nfp_ipsec_uninit(struct rte_eth_dev *dev)
{
uint16_t i;
uint32_t cap_extend;
- struct nfp_net_hw *hw;
+ struct nfp_net_hw *net_hw;
struct nfp_ipsec_session *priv_session;
- hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+ net_hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
- cap_extend = hw->super.cap_ext;
+ cap_extend = net_hw->super.cap_ext;
if ((cap_extend & NFP_NET_CFG_CTRL_IPSEC) == 0) {
PMD_INIT_LOG(INFO, "Unsupported IPsec extend capability");
return;
@@ -1437,17 +1437,17 @@ nfp_ipsec_uninit(struct rte_eth_dev *dev)
nfp_ipsec_ctx_destroy(dev);
- if (hw->ipsec_data == NULL) {
+ if (net_hw->ipsec_data == NULL) {
PMD_INIT_LOG(INFO, "IPsec data is NULL!");
return;
}
for (i = 0; i < NFP_NET_IPSEC_MAX_SA_CNT; i++) {
- priv_session = hw->ipsec_data->sa_entries[i];
+ priv_session = net_hw->ipsec_data->sa_entries[i];
if (priv_session != NULL)
memset(priv_session, 0, sizeof(struct nfp_ipsec_session));
}
- rte_free(hw->ipsec_data);
+ rte_free(net_hw->ipsec_data);
}
diff --git a/drivers/net/nfp/nfp_net_common.c b/drivers/net/nfp/nfp_net_common.c
index a760fcf0d2..01574de963 100644
--- a/drivers/net/nfp/nfp_net_common.c
+++ b/drivers/net/nfp/nfp_net_common.c
@@ -336,7 +336,7 @@ nfp_ext_reconfig(struct nfp_hw *hw,
/**
* Reconfigure the firmware via the mailbox
*
- * @param hw
+ * @param net_hw
* Device to reconfigure
* @param mbox_cmd
* The value for the mailbox command
@@ -346,24 +346,24 @@ nfp_ext_reconfig(struct nfp_hw *hw,
* - (-EIO) if I/O err and fail to reconfigure by the mailbox
*/
int
-nfp_net_mbox_reconfig(struct nfp_net_hw *hw,
+nfp_net_mbox_reconfig(struct nfp_net_hw *net_hw,
uint32_t mbox_cmd)
{
int ret;
uint32_t mbox;
- mbox = hw->tlv_caps.mbox_off;
+ mbox = net_hw->tlv_caps.mbox_off;
- rte_spinlock_lock(&hw->super.reconfig_lock);
+ rte_spinlock_lock(&net_hw->super.reconfig_lock);
- nn_cfg_writeq(&hw->super, mbox + NFP_NET_CFG_MBOX_SIMPLE_CMD, mbox_cmd);
- nn_cfg_writel(&hw->super, NFP_NET_CFG_UPDATE, NFP_NET_CFG_UPDATE_MBOX);
+ nn_cfg_writeq(&net_hw->super, mbox + NFP_NET_CFG_MBOX_SIMPLE_CMD, mbox_cmd);
+ nn_cfg_writel(&net_hw->super, NFP_NET_CFG_UPDATE, NFP_NET_CFG_UPDATE_MBOX);
rte_wmb();
- ret = nfp_reconfig_real(&hw->super, NFP_NET_CFG_UPDATE_MBOX);
+ ret = nfp_reconfig_real(&net_hw->super, NFP_NET_CFG_UPDATE_MBOX);
- rte_spinlock_unlock(&hw->super.reconfig_lock);
+ rte_spinlock_unlock(&net_hw->super.reconfig_lock);
if (ret != 0) {
PMD_DRV_LOG(ERR, "Error nft net mailbox reconfig: mbox=%#08x update=%#08x",
@@ -371,7 +371,7 @@ nfp_net_mbox_reconfig(struct nfp_net_hw *hw,
return -EIO;
}
- return nn_cfg_readl(&hw->super, mbox + NFP_NET_CFG_MBOX_SIMPLE_RET);
+ return nn_cfg_readl(&net_hw->super, mbox + NFP_NET_CFG_MBOX_SIMPLE_RET);
}
/*
@@ -625,6 +625,7 @@ nfp_configure_rx_interrupt(struct rte_eth_dev *dev,
uint32_t
nfp_check_offloads(struct rte_eth_dev *dev)
{
+ uint32_t cap;
uint32_t ctrl = 0;
uint64_t rx_offload;
uint64_t tx_offload;
@@ -632,13 +633,14 @@ nfp_check_offloads(struct rte_eth_dev *dev)
struct rte_eth_conf *dev_conf;
hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+ cap = hw->super.cap;
dev_conf = &dev->data->dev_conf;
rx_offload = dev_conf->rxmode.offloads;
tx_offload = dev_conf->txmode.offloads;
if ((rx_offload & RTE_ETH_RX_OFFLOAD_IPV4_CKSUM) != 0) {
- if ((hw->super.cap & NFP_NET_CFG_CTRL_RXCSUM) != 0)
+ if ((cap & NFP_NET_CFG_CTRL_RXCSUM) != 0)
ctrl |= NFP_NET_CFG_CTRL_RXCSUM;
}
@@ -646,25 +648,25 @@ nfp_check_offloads(struct rte_eth_dev *dev)
nfp_net_enable_rxvlan_cap(hw, &ctrl);
if ((rx_offload & RTE_ETH_RX_OFFLOAD_QINQ_STRIP) != 0) {
- if ((hw->super.cap & NFP_NET_CFG_CTRL_RXQINQ) != 0)
+ if ((cap & NFP_NET_CFG_CTRL_RXQINQ) != 0)
ctrl |= NFP_NET_CFG_CTRL_RXQINQ;
}
hw->mtu = dev->data->mtu;
if ((tx_offload & RTE_ETH_TX_OFFLOAD_VLAN_INSERT) != 0) {
- if ((hw->super.cap & NFP_NET_CFG_CTRL_TXVLAN_V2) != 0)
+ if ((cap & NFP_NET_CFG_CTRL_TXVLAN_V2) != 0)
ctrl |= NFP_NET_CFG_CTRL_TXVLAN_V2;
- else if ((hw->super.cap & NFP_NET_CFG_CTRL_TXVLAN) != 0)
+ else if ((cap & NFP_NET_CFG_CTRL_TXVLAN) != 0)
ctrl |= NFP_NET_CFG_CTRL_TXVLAN;
}
/* L2 broadcast */
- if ((hw->super.cap & NFP_NET_CFG_CTRL_L2BC) != 0)
+ if ((cap & NFP_NET_CFG_CTRL_L2BC) != 0)
ctrl |= NFP_NET_CFG_CTRL_L2BC;
/* L2 multicast */
- if ((hw->super.cap & NFP_NET_CFG_CTRL_L2MC) != 0)
+ if ((cap & NFP_NET_CFG_CTRL_L2MC) != 0)
ctrl |= NFP_NET_CFG_CTRL_L2MC;
/* TX checksum offload */
@@ -676,7 +678,7 @@ nfp_check_offloads(struct rte_eth_dev *dev)
/* LSO offload */
if ((tx_offload & RTE_ETH_TX_OFFLOAD_TCP_TSO) != 0 ||
(tx_offload & RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO) != 0) {
- if ((hw->super.cap & NFP_NET_CFG_CTRL_LSO) != 0)
+ if ((cap & NFP_NET_CFG_CTRL_LSO) != 0)
ctrl |= NFP_NET_CFG_CTRL_LSO;
else
ctrl |= NFP_NET_CFG_CTRL_LSO2;
@@ -1194,6 +1196,7 @@ nfp_net_tx_desc_limits(struct nfp_net_hw *hw,
int
nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
{
+ uint32_t cap;
uint32_t cap_extend;
uint16_t min_rx_desc;
uint16_t max_rx_desc;
@@ -1224,32 +1227,34 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
/* Next should change when PF support is implemented */
dev_info->max_mac_addrs = 1;
- if ((hw->super.cap & (NFP_NET_CFG_CTRL_RXVLAN | NFP_NET_CFG_CTRL_RXVLAN_V2)) != 0)
+ cap = hw->super.cap;
+
+ if ((cap & (NFP_NET_CFG_CTRL_RXVLAN | NFP_NET_CFG_CTRL_RXVLAN_V2)) != 0)
dev_info->rx_offload_capa = RTE_ETH_RX_OFFLOAD_VLAN_STRIP;
- if ((hw->super.cap & NFP_NET_CFG_CTRL_RXQINQ) != 0)
+ if ((cap & NFP_NET_CFG_CTRL_RXQINQ) != 0)
dev_info->rx_offload_capa |= RTE_ETH_RX_OFFLOAD_QINQ_STRIP;
- if ((hw->super.cap & NFP_NET_CFG_CTRL_RXCSUM) != 0)
+ if ((cap & NFP_NET_CFG_CTRL_RXCSUM) != 0)
dev_info->rx_offload_capa |= RTE_ETH_RX_OFFLOAD_IPV4_CKSUM |
RTE_ETH_RX_OFFLOAD_UDP_CKSUM |
RTE_ETH_RX_OFFLOAD_TCP_CKSUM;
- if ((hw->super.cap & (NFP_NET_CFG_CTRL_TXVLAN | NFP_NET_CFG_CTRL_TXVLAN_V2)) != 0)
+ if ((cap & (NFP_NET_CFG_CTRL_TXVLAN | NFP_NET_CFG_CTRL_TXVLAN_V2)) != 0)
dev_info->tx_offload_capa = RTE_ETH_TX_OFFLOAD_VLAN_INSERT;
- if ((hw->super.cap & NFP_NET_CFG_CTRL_TXCSUM) != 0)
+ if ((cap & NFP_NET_CFG_CTRL_TXCSUM) != 0)
dev_info->tx_offload_capa |= RTE_ETH_TX_OFFLOAD_IPV4_CKSUM |
RTE_ETH_TX_OFFLOAD_UDP_CKSUM |
RTE_ETH_TX_OFFLOAD_TCP_CKSUM;
- if ((hw->super.cap & NFP_NET_CFG_CTRL_LSO_ANY) != 0) {
+ if ((cap & NFP_NET_CFG_CTRL_LSO_ANY) != 0) {
dev_info->tx_offload_capa |= RTE_ETH_TX_OFFLOAD_TCP_TSO;
- if ((hw->super.cap & NFP_NET_CFG_CTRL_VXLAN) != 0)
+ if ((cap & NFP_NET_CFG_CTRL_VXLAN) != 0)
dev_info->tx_offload_capa |= RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO;
}
- if ((hw->super.cap & NFP_NET_CFG_CTRL_GATHER) != 0)
+ if ((cap & NFP_NET_CFG_CTRL_GATHER) != 0)
dev_info->tx_offload_capa |= RTE_ETH_TX_OFFLOAD_MULTI_SEGS;
cap_extend = hw->super.cap_ext;
@@ -1292,7 +1297,7 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
.nb_mtu_seg_max = NFP_TX_MAX_MTU_SEG,
};
- if ((hw->super.cap & NFP_NET_CFG_CTRL_RSS_ANY) != 0) {
+ if ((cap & NFP_NET_CFG_CTRL_RSS_ANY) != 0) {
dev_info->rx_offload_capa |= RTE_ETH_RX_OFFLOAD_RSS_HASH;
dev_info->flow_type_rss_offloads = RTE_ETH_RSS_IPV4 |
@@ -1615,9 +1620,11 @@ nfp_net_rss_reta_write(struct rte_eth_dev *dev,
uint8_t mask;
uint32_t reta;
uint16_t shift;
- struct nfp_net_hw *hw;
+ struct nfp_hw *hw;
+ struct nfp_net_hw *net_hw;
- hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+ net_hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+ hw = &net_hw->super;
if (reta_size != NFP_NET_CFG_RSS_ITBL_SZ) {
PMD_DRV_LOG(ERR, "The size of hash lookup table configured (%hu)"
@@ -1642,7 +1649,7 @@ nfp_net_rss_reta_write(struct rte_eth_dev *dev,
/* If all 4 entries were set, don't need read RETA register */
if (mask != 0xF)
- reta = nn_cfg_readl(&hw->super, NFP_NET_CFG_RSS_ITBL + i);
+ reta = nn_cfg_readl(hw, NFP_NET_CFG_RSS_ITBL + i);
for (j = 0; j < 4; j++) {
if ((mask & (0x1 << j)) == 0)
@@ -1655,7 +1662,7 @@ nfp_net_rss_reta_write(struct rte_eth_dev *dev,
reta |= reta_conf[idx].reta[shift + j] << (8 * j);
}
- nn_cfg_writel(&hw->super, NFP_NET_CFG_RSS_ITBL + (idx * 64) + shift, reta);
+ nn_cfg_writel(hw, NFP_NET_CFG_RSS_ITBL + (idx * 64) + shift, reta);
}
return 0;
@@ -1702,10 +1709,13 @@ nfp_net_reta_query(struct rte_eth_dev *dev,
uint8_t mask;
uint32_t reta;
uint16_t shift;
- struct nfp_net_hw *hw;
+ struct nfp_hw *hw;
+ struct nfp_net_hw *net_hw;
- hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
- if ((hw->super.ctrl & NFP_NET_CFG_CTRL_RSS_ANY) == 0)
+ net_hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+ hw = &net_hw->super;
+
+ if ((hw->ctrl & NFP_NET_CFG_CTRL_RSS_ANY) == 0)
return -EINVAL;
if (reta_size != NFP_NET_CFG_RSS_ITBL_SZ) {
@@ -1728,7 +1738,7 @@ nfp_net_reta_query(struct rte_eth_dev *dev,
if (mask == 0)
continue;
- reta = nn_cfg_readl(&hw->super, NFP_NET_CFG_RSS_ITBL + (idx * 64) + shift);
+ reta = nn_cfg_readl(hw, NFP_NET_CFG_RSS_ITBL + (idx * 64) + shift);
for (j = 0; j < 4; j++) {
if ((mask & (0x1 << j)) == 0)
continue;
@@ -1748,15 +1758,17 @@ nfp_net_rss_hash_write(struct rte_eth_dev *dev,
uint8_t i;
uint8_t key;
uint64_t rss_hf;
- struct nfp_net_hw *hw;
+ struct nfp_hw *hw;
+ struct nfp_net_hw *net_hw;
uint32_t cfg_rss_ctrl = 0;
- hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+ net_hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+ hw = &net_hw->super;
/* Writing the key byte by byte */
for (i = 0; i < rss_conf->rss_key_len; i++) {
memcpy(&key, &rss_conf->rss_key[i], 1);
- nn_cfg_writeb(&hw->super, NFP_NET_CFG_RSS_KEY + i, key);
+ nn_cfg_writeb(hw, NFP_NET_CFG_RSS_KEY + i, key);
}
rss_hf = rss_conf->rss_hf;
@@ -1789,10 +1801,10 @@ nfp_net_rss_hash_write(struct rte_eth_dev *dev,
cfg_rss_ctrl |= NFP_NET_CFG_RSS_TOEPLITZ;
/* Configuring where to apply the RSS hash */
- nn_cfg_writel(&hw->super, NFP_NET_CFG_RSS_CTRL, cfg_rss_ctrl);
+ nn_cfg_writel(hw, NFP_NET_CFG_RSS_CTRL, cfg_rss_ctrl);
/* Writing the key size */
- nn_cfg_writeb(&hw->super, NFP_NET_CFG_RSS_KEY_SZ, rss_conf->rss_key_len);
+ nn_cfg_writeb(hw, NFP_NET_CFG_RSS_KEY_SZ, rss_conf->rss_key_len);
return 0;
}
@@ -1843,16 +1855,18 @@ nfp_net_rss_hash_conf_get(struct rte_eth_dev *dev,
uint8_t i;
uint8_t key;
uint64_t rss_hf;
+ struct nfp_hw *hw;
uint32_t cfg_rss_ctrl;
- struct nfp_net_hw *hw;
+ struct nfp_net_hw *net_hw;
- hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+ net_hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+ hw = &net_hw->super;
- if ((hw->super.ctrl & NFP_NET_CFG_CTRL_RSS_ANY) == 0)
+ if ((hw->ctrl & NFP_NET_CFG_CTRL_RSS_ANY) == 0)
return -EINVAL;
rss_hf = rss_conf->rss_hf;
- cfg_rss_ctrl = nn_cfg_readl(&hw->super, NFP_NET_CFG_RSS_CTRL);
+ cfg_rss_ctrl = nn_cfg_readl(hw, NFP_NET_CFG_RSS_CTRL);
if ((cfg_rss_ctrl & NFP_NET_CFG_RSS_IPV4) != 0)
rss_hf |= RTE_ETH_RSS_IPV4;
@@ -1882,11 +1896,11 @@ nfp_net_rss_hash_conf_get(struct rte_eth_dev *dev,
rss_conf->rss_hf = rss_hf;
/* Reading the key size */
- rss_conf->rss_key_len = nn_cfg_readl(&hw->super, NFP_NET_CFG_RSS_KEY_SZ);
+ rss_conf->rss_key_len = nn_cfg_readl(hw, NFP_NET_CFG_RSS_KEY_SZ);
/* Reading the key byte a byte */
for (i = 0; i < rss_conf->rss_key_len; i++) {
- key = nn_cfg_readb(&hw->super, NFP_NET_CFG_RSS_KEY + i);
+ key = nn_cfg_readb(hw, NFP_NET_CFG_RSS_KEY + i);
memcpy(&rss_conf->rss_key[i], &key, 1);
}
diff --git a/drivers/net/nfp/nfp_net_ctrl.c b/drivers/net/nfp/nfp_net_ctrl.c
index d469896a64..8848fa38fe 100644
--- a/drivers/net/nfp/nfp_net_ctrl.c
+++ b/drivers/net/nfp/nfp_net_ctrl.c
@@ -29,15 +29,15 @@ nfp_net_tlv_caps_parse(struct rte_eth_dev *dev)
uint32_t length;
uint32_t offset;
uint32_t tlv_type;
- struct nfp_net_hw *hw;
+ struct nfp_net_hw *net_hw;
struct nfp_net_tlv_caps *caps;
- hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
- caps = &hw->tlv_caps;
+ net_hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+ caps = &net_hw->tlv_caps;
nfp_net_tlv_caps_reset(caps);
- data = hw->super.ctrl_bar + NFP_NET_CFG_TLV_BASE;
- end = hw->super.ctrl_bar + NFP_NET_CFG_BAR_SZ;
+ data = net_hw->super.ctrl_bar + NFP_NET_CFG_TLV_BASE;
+ end = net_hw->super.ctrl_bar + NFP_NET_CFG_BAR_SZ;
hdr = rte_read32(data);
if (hdr == 0) {
@@ -46,7 +46,7 @@ nfp_net_tlv_caps_parse(struct rte_eth_dev *dev)
}
for (; ; data += length) {
- offset = data - hw->super.ctrl_bar;
+ offset = data - net_hw->super.ctrl_bar;
if (data + NFP_NET_CFG_TLV_VALUE > end) {
PMD_DRV_LOG(ERR, "Reached end of BAR without END TLV");
@@ -87,7 +87,7 @@ nfp_net_tlv_caps_parse(struct rte_eth_dev *dev)
caps->mbox_len = length;
if (length != 0)
- caps->mbox_off = data - hw->super.ctrl_bar;
+ caps->mbox_off = data - net_hw->super.ctrl_bar;
else
caps->mbox_off = 0;
break;
diff --git a/drivers/net/nfp/nfp_rxtx.c b/drivers/net/nfp/nfp_rxtx.c
index f17cc13cc1..fc94e5f0b9 100644
--- a/drivers/net/nfp/nfp_rxtx.c
+++ b/drivers/net/nfp/nfp_rxtx.c
@@ -336,10 +336,10 @@ nfp_net_parse_meta_vlan(const struct nfp_meta_parsed *meta,
struct nfp_net_rxq *rxq,
struct rte_mbuf *mb)
{
- struct nfp_net_hw *hw = rxq->hw;
+ uint32_t ctrl = rxq->hw->super.ctrl;
- /* Skip if firmware don't support setting vlan. */
- if ((hw->super.ctrl & (NFP_NET_CFG_CTRL_RXVLAN | NFP_NET_CFG_CTRL_RXVLAN_V2)) == 0)
+ /* Skip if hardware don't support setting vlan. */
+ if ((ctrl & (NFP_NET_CFG_CTRL_RXVLAN | NFP_NET_CFG_CTRL_RXVLAN_V2)) == 0)
return;
/*
@@ -347,12 +347,12 @@ nfp_net_parse_meta_vlan(const struct nfp_meta_parsed *meta,
* 1. Using the metadata when NFP_NET_CFG_CTRL_RXVLAN_V2 is set,
* 2. Using the descriptor when NFP_NET_CFG_CTRL_RXVLAN is set.
*/
- if ((hw->super.ctrl & NFP_NET_CFG_CTRL_RXVLAN_V2) != 0) {
+ if ((ctrl & NFP_NET_CFG_CTRL_RXVLAN_V2) != 0) {
if (meta->vlan_layer > 0 && meta->vlan[0].offload != 0) {
mb->vlan_tci = rte_cpu_to_le_32(meta->vlan[0].tci);
mb->ol_flags |= RTE_MBUF_F_RX_VLAN | RTE_MBUF_F_RX_VLAN_STRIPPED;
}
- } else if ((hw->super.ctrl & NFP_NET_CFG_CTRL_RXVLAN) != 0) {
+ } else if ((ctrl & NFP_NET_CFG_CTRL_RXVLAN) != 0) {
if ((rxd->rxd.flags & PCIE_DESC_RX_VLAN) != 0) {
mb->vlan_tci = rte_cpu_to_le_32(rxd->rxd.offload_info);
mb->ol_flags |= RTE_MBUF_F_RX_VLAN | RTE_MBUF_F_RX_VLAN_STRIPPED;
@@ -383,10 +383,10 @@ nfp_net_parse_meta_qinq(const struct nfp_meta_parsed *meta,
struct nfp_net_rxq *rxq,
struct rte_mbuf *mb)
{
- struct nfp_net_hw *hw = rxq->hw;
+ struct nfp_hw *hw = &rxq->hw->super;
- if ((hw->super.ctrl & NFP_NET_CFG_CTRL_RXQINQ) == 0 ||
- (hw->super.cap & NFP_NET_CFG_CTRL_RXQINQ) == 0)
+ if ((hw->ctrl & NFP_NET_CFG_CTRL_RXQINQ) == 0 ||
+ (hw->cap & NFP_NET_CFG_CTRL_RXQINQ) == 0)
return;
if (meta->vlan_layer < NFP_META_MAX_VLANS)
--
2.39.1
next prev parent reply other threads:[~2023-10-27 3:02 UTC|newest]
Thread overview: 121+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-17 5:45 [PATCH 00/25] add the NFP vDPA PMD Chaoyong He
2023-10-17 5:45 ` [PATCH 01/25] drivers: introduce the NFP common library Chaoyong He
2023-10-17 5:45 ` [PATCH 02/25] net/nfp: make VF PMD using of NFP common module Chaoyong He
2023-10-17 5:45 ` [PATCH 03/25] net/nfp: rename common module name Chaoyong He
2023-10-17 5:45 ` [PATCH 04/25] net/nfp: rename ctrl " Chaoyong He
2023-10-17 5:45 ` [PATCH 05/25] net/nfp: extract the cap data field Chaoyong He
2023-10-17 5:45 ` [PATCH 06/25] net/nfp: extract the qcp " Chaoyong He
2023-10-17 5:45 ` [PATCH 07/25] net/nfp: extract the ctrl BAR " Chaoyong He
2023-10-17 5:45 ` [PATCH 08/25] net/nfp: extract the ctrl " Chaoyong He
2023-10-17 5:45 ` [PATCH 09/25] net/nfp: change the parameter of APIs Chaoyong He
2023-10-17 5:45 ` [PATCH 10/25] net/nfp: change the parameter of reconfig Chaoyong He
2023-10-17 5:45 ` [PATCH 11/25] net/nfp: extract the MAC address data field Chaoyong He
2023-10-17 5:45 ` [PATCH 12/25] net/nfp: rename parameter in related logic Chaoyong He
2023-10-17 5:45 ` [PATCH 13/25] drivers: add the common ctrl module Chaoyong He
2023-10-17 5:45 ` [PATCH 14/25] drivers: add the nfp common module Chaoyong He
2023-10-17 5:45 ` [PATCH 15/25] drivers: move queue logic to " Chaoyong He
2023-10-17 5:45 ` [PATCH 16/25] drivers: move platform module to common library Chaoyong He
2023-10-17 5:45 ` [PATCH 17/25] drivers: move device " Chaoyong He
2023-10-17 5:45 ` [PATCH 18/25] drivers/vdpa: introduce the NFP vDPA library Chaoyong He
2023-10-17 5:45 ` [PATCH 19/25] drivers: add the basic framework of vDPA PMD Chaoyong He
2023-10-17 5:45 ` [PATCH 20/25] vdpa/nfp: add the logic of remap PCI memory Chaoyong He
2023-10-17 5:45 ` [PATCH 21/25] vdpa/nfp: add the hardware init logic Chaoyong He
2023-10-17 5:45 ` [PATCH 22/25] drivers: add the datapath update logic Chaoyong He
2023-10-17 5:45 ` [PATCH 23/25] vdpa/nfp: add the notify related logic Chaoyong He
2023-10-17 5:45 ` [PATCH 24/25] vdpa/nfp: add nfp vDPA device operations Chaoyong He
2023-10-17 5:45 ` [PATCH 25/25] doc: add the common and vDPA document Chaoyong He
2023-10-24 2:28 ` [PATCH v2 00/25] add the NFP vDPA PMD Chaoyong He
2023-10-24 2:28 ` [PATCH v2 01/25] drivers: introduce the NFP common library Chaoyong He
2023-10-24 2:28 ` [PATCH v2 02/25] net/nfp: make VF PMD using of NFP common module Chaoyong He
2023-10-25 16:09 ` Ferruh Yigit
2023-10-26 1:34 ` Chaoyong He
2023-10-24 2:28 ` [PATCH v2 03/25] net/nfp: rename common module name Chaoyong He
2023-10-24 2:28 ` [PATCH v2 04/25] net/nfp: rename ctrl " Chaoyong He
2023-10-24 2:28 ` [PATCH v2 05/25] net/nfp: extract the cap data field Chaoyong He
2023-10-24 2:28 ` [PATCH v2 06/25] net/nfp: extract the qcp " Chaoyong He
2023-10-24 2:28 ` [PATCH v2 07/25] net/nfp: extract the ctrl BAR " Chaoyong He
2023-10-24 2:28 ` [PATCH v2 08/25] net/nfp: extract the ctrl " Chaoyong He
2023-10-24 2:28 ` [PATCH v2 09/25] net/nfp: change the parameter of APIs Chaoyong He
2023-10-24 2:28 ` [PATCH v2 10/25] net/nfp: change the parameter of reconfig Chaoyong He
2023-10-24 2:28 ` [PATCH v2 11/25] net/nfp: extract the MAC address data field Chaoyong He
2023-10-24 2:28 ` [PATCH v2 12/25] net/nfp: rename parameter in related logic Chaoyong He
2023-10-24 2:28 ` [PATCH v2 13/25] drivers: add the common ctrl module Chaoyong He
2023-10-24 2:28 ` [PATCH v2 14/25] drivers: add the nfp common module Chaoyong He
2023-10-24 2:28 ` [PATCH v2 15/25] drivers: move queue logic to " Chaoyong He
2023-10-24 2:28 ` [PATCH v2 16/25] drivers: move platform module to common library Chaoyong He
2023-10-24 2:28 ` [PATCH v2 17/25] drivers: move device " Chaoyong He
2023-10-24 2:28 ` [PATCH v2 18/25] drivers/vdpa: introduce the NFP vDPA library Chaoyong He
2023-10-25 16:09 ` Ferruh Yigit
2023-10-26 1:39 ` Chaoyong He
2023-10-24 2:28 ` [PATCH v2 19/25] drivers: add the basic framework of vDPA PMD Chaoyong He
2023-10-25 16:10 ` Ferruh Yigit
2023-10-26 1:39 ` Chaoyong He
2023-10-24 2:28 ` [PATCH v2 20/25] vdpa/nfp: add the logic of remap PCI memory Chaoyong He
2023-10-24 2:28 ` [PATCH v2 21/25] vdpa/nfp: add the hardware init logic Chaoyong He
2023-10-24 2:28 ` [PATCH v2 22/25] drivers: add the datapath update logic Chaoyong He
2023-10-24 2:28 ` [PATCH v2 23/25] vdpa/nfp: add the notify related logic Chaoyong He
2023-10-24 2:28 ` [PATCH v2 24/25] vdpa/nfp: add nfp vDPA device operations Chaoyong He
2023-10-24 2:28 ` [PATCH v2 25/25] doc: add the common and vDPA document Chaoyong He
2023-10-25 16:11 ` Ferruh Yigit
2023-10-26 1:41 ` Chaoyong He
2023-10-25 16:09 ` [PATCH v2 00/25] add the NFP vDPA PMD Ferruh Yigit
2023-10-26 1:33 ` Chaoyong He
2023-10-26 2:50 ` Chaoyong He
2023-10-26 11:30 ` Ferruh Yigit
2023-10-26 11:33 ` Chaoyong He
2023-10-26 6:42 ` [PATCH v3 " Chaoyong He
2023-10-26 6:43 ` [PATCH v3 01/25] drivers: introduce the NFP common library Chaoyong He
2023-10-26 6:43 ` [PATCH v3 02/25] net/nfp: make VF PMD using of NFP common module Chaoyong He
2023-10-26 6:43 ` [PATCH v3 03/25] net/nfp: rename common module name Chaoyong He
2023-10-26 6:43 ` [PATCH v3 04/25] net/nfp: rename ctrl " Chaoyong He
2023-10-26 6:43 ` [PATCH v3 05/25] net/nfp: extract the cap data field Chaoyong He
2023-10-26 6:43 ` [PATCH v3 06/25] net/nfp: extract the qcp " Chaoyong He
2023-10-26 6:43 ` [PATCH v3 07/25] net/nfp: extract the ctrl BAR " Chaoyong He
2023-10-26 6:43 ` [PATCH v3 08/25] net/nfp: extract the ctrl " Chaoyong He
2023-10-26 6:43 ` [PATCH v3 09/25] net/nfp: change the parameter of APIs Chaoyong He
2023-10-26 6:43 ` [PATCH v3 10/25] net/nfp: change the parameter of reconfig Chaoyong He
2023-10-26 6:43 ` [PATCH v3 11/25] net/nfp: extract the MAC address data field Chaoyong He
2023-10-26 6:43 ` [PATCH v3 12/25] net/nfp: rename parameter in related logic Chaoyong He
2023-10-26 6:43 ` [PATCH v3 13/25] drivers: add the common ctrl module Chaoyong He
2023-10-26 6:43 ` [PATCH v3 14/25] drivers: add the nfp common module Chaoyong He
2023-10-26 6:43 ` [PATCH v3 15/25] drivers: move queue logic to " Chaoyong He
2023-10-26 6:43 ` [PATCH v3 16/25] drivers: move platform module to common library Chaoyong He
2023-10-26 6:43 ` [PATCH v3 17/25] drivers: move device " Chaoyong He
2023-10-26 6:43 ` [PATCH v3 18/25] drivers/vdpa: introduce the NFP vDPA library Chaoyong He
2023-10-26 6:43 ` [PATCH v3 19/25] drivers: add the basic framework of vDPA PMD Chaoyong He
2023-10-26 6:43 ` [PATCH v3 20/25] vdpa/nfp: add the logic of remap PCI memory Chaoyong He
2023-10-26 6:43 ` [PATCH v3 21/25] vdpa/nfp: add the hardware init logic Chaoyong He
2023-10-26 6:43 ` [PATCH v3 22/25] drivers: add the datapath update logic Chaoyong He
2023-10-26 6:43 ` [PATCH v3 23/25] vdpa/nfp: add the notify related logic Chaoyong He
2023-10-26 6:43 ` [PATCH v3 24/25] vdpa/nfp: add nfp vDPA device operations Chaoyong He
2023-10-26 6:43 ` [PATCH v3 25/25] doc: add a entry in the release notes Chaoyong He
2023-10-26 14:55 ` Ferruh Yigit
2023-10-26 14:47 ` [PATCH v3 00/25] add the NFP vDPA PMD Ferruh Yigit
2023-10-26 14:55 ` Ferruh Yigit
2023-10-27 1:23 ` Chaoyong He
2023-10-27 2:59 ` [PATCH v4 00/24] " Chaoyong He
2023-10-27 2:59 ` [PATCH v4 01/24] common/nfp: introduce driver Chaoyong He
2023-10-27 2:59 ` [PATCH v4 02/24] net/nfp: make VF PMD use NFP common driver Chaoyong He
2023-10-27 2:59 ` [PATCH v4 03/24] net/nfp: rename net common module Chaoyong He
2023-10-27 2:59 ` [PATCH v4 04/24] net/nfp: rename ctrl module Chaoyong He
2023-10-27 2:59 ` [PATCH v4 05/24] net/nfp: extract cap data field Chaoyong He
2023-10-27 2:59 ` [PATCH v4 06/24] net/nfp: extract qcp " Chaoyong He
2023-10-27 2:59 ` [PATCH v4 07/24] net/nfp: extract ctrl BAR " Chaoyong He
2023-10-27 2:59 ` [PATCH v4 08/24] net/nfp: extract ctrl " Chaoyong He
2023-10-27 2:59 ` [PATCH v4 09/24] net/nfp: change parameter of functions Chaoyong He
2023-10-27 2:59 ` [PATCH v4 10/24] net/nfp: change parameter of reconfig Chaoyong He
2023-10-27 2:59 ` [PATCH v4 11/24] net/nfp: extract MAC address data field Chaoyong He
2023-10-27 2:59 ` Chaoyong He [this message]
2023-10-27 2:59 ` [PATCH v4 13/24] common/nfp: add common ctrl module Chaoyong He
2023-10-27 2:59 ` [PATCH v4 14/24] common/nfp: add common module Chaoyong He
2023-10-27 2:59 ` [PATCH v4 15/24] common/nfp: move queue logic Chaoyong He
2023-10-27 2:59 ` [PATCH v4 16/24] common/nfp: move platform module Chaoyong He
2023-10-27 2:59 ` [PATCH v4 17/24] common/nfp: move device module Chaoyong He
2023-10-27 2:59 ` [PATCH v4 18/24] vdpa/nfp: introduce driver Chaoyong He
2023-10-27 2:59 ` [PATCH v4 19/24] vdpa/nfp: add basic framework Chaoyong He
2023-10-27 2:59 ` [PATCH v4 20/24] vdpa/nfp: add remap PCI memory Chaoyong He
2023-10-27 2:59 ` [PATCH v4 21/24] vdpa/nfp: add hardware init Chaoyong He
2023-10-27 2:59 ` [PATCH v4 22/24] vdpa/nfp: add datapath update Chaoyong He
2023-10-27 3:00 ` [PATCH v4 23/24] vdpa/nfp: add notify related logic Chaoyong He
2023-10-27 3:00 ` [PATCH v4 24/24] vdpa/nfp: add device operations Chaoyong He
2023-10-27 13:38 ` [PATCH v4 00/24] add the NFP vDPA PMD Ferruh Yigit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231027030001.602639-13-chaoyong.he@corigine.com \
--to=chaoyong.he@corigine.com \
--cc=dev@dpdk.org \
--cc=long.wu@corigine.com \
--cc=oss-drivers@corigine.com \
--cc=peng.zhang@corigine.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).