git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net/mlx5: implement vectorized MPRQ burst
[dpdk.git]
/
drivers
/
net
/
ionic
/
ionic_ethdev.c
diff --git
a/drivers/net/ionic/ionic_ethdev.c
b/drivers/net/ionic/ionic_ethdev.c
index
800f6e5
..
600333e
100644
(file)
--- a/
drivers/net/ionic/ionic_ethdev.c
+++ b/
drivers/net/ionic/ionic_ethdev.c
@@
-24,8
+24,8
@@
static int ionic_dev_info_get(struct rte_eth_dev *eth_dev,
static int ionic_dev_configure(struct rte_eth_dev *dev);
static int ionic_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu);
static int ionic_dev_start(struct rte_eth_dev *dev);
static int ionic_dev_configure(struct rte_eth_dev *dev);
static int ionic_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu);
static int ionic_dev_start(struct rte_eth_dev *dev);
-static
void
ionic_dev_stop(struct rte_eth_dev *dev);
-static
void
ionic_dev_close(struct rte_eth_dev *dev);
+static
int
ionic_dev_stop(struct rte_eth_dev *dev);
+static
int
ionic_dev_close(struct rte_eth_dev *dev);
static int ionic_dev_set_link_up(struct rte_eth_dev *dev);
static int ionic_dev_set_link_down(struct rte_eth_dev *dev);
static int ionic_dev_link_update(struct rte_eth_dev *eth_dev,
static int ionic_dev_set_link_up(struct rte_eth_dev *dev);
static int ionic_dev_set_link_down(struct rte_eth_dev *dev);
static int ionic_dev_link_update(struct rte_eth_dev *eth_dev,
@@
-940,7
+940,7
@@
ionic_dev_start(struct rte_eth_dev *eth_dev)
/*
* Stop device: disable rx and tx functions to allow for reconfiguring.
*/
/*
* Stop device: disable rx and tx functions to allow for reconfiguring.
*/
-static
void
+static
int
ionic_dev_stop(struct rte_eth_dev *eth_dev)
{
struct ionic_lif *lif = IONIC_ETH_DEV_TO_LIF(eth_dev);
ionic_dev_stop(struct rte_eth_dev *eth_dev)
{
struct ionic_lif *lif = IONIC_ETH_DEV_TO_LIF(eth_dev);
@@
-951,30
+951,36
@@
ionic_dev_stop(struct rte_eth_dev *eth_dev)
err = ionic_lif_stop(lif);
if (err)
IONIC_PRINT(ERR, "Cannot stop LIF: %d", err);
err = ionic_lif_stop(lif);
if (err)
IONIC_PRINT(ERR, "Cannot stop LIF: %d", err);
+
+ return err;
}
/*
* Reset and stop device.
*/
}
/*
* Reset and stop device.
*/
-static
void
+static
int
ionic_dev_close(struct rte_eth_dev *eth_dev)
{
struct ionic_lif *lif = IONIC_ETH_DEV_TO_LIF(eth_dev);
int err;
IONIC_PRINT_CALL();
ionic_dev_close(struct rte_eth_dev *eth_dev)
{
struct ionic_lif *lif = IONIC_ETH_DEV_TO_LIF(eth_dev);
int err;
IONIC_PRINT_CALL();
+ if (rte_eal_process_type() != RTE_PROC_PRIMARY)
+ return 0;
err = ionic_lif_stop(lif);
if (err) {
IONIC_PRINT(ERR, "Cannot stop LIF: %d", err);
err = ionic_lif_stop(lif);
if (err) {
IONIC_PRINT(ERR, "Cannot stop LIF: %d", err);
- return;
+ return
-1
;
}
err = eth_ionic_dev_uninit(eth_dev);
if (err) {
IONIC_PRINT(ERR, "Cannot destroy LIF: %d", err);
}
err = eth_ionic_dev_uninit(eth_dev);
if (err) {
IONIC_PRINT(ERR, "Cannot destroy LIF: %d", err);
- return;
+ return
-1
;
}
}
+
+ return 0;
}
static int
}
static int
@@
-997,6
+1003,7
@@
eth_ionic_dev_init(struct rte_eth_dev *eth_dev, void *init_params)
return 0;
rte_eth_copy_pci_info(eth_dev, pci_dev);
return 0;
rte_eth_copy_pci_info(eth_dev, pci_dev);
+ eth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
lif->index = adapter->nlifs;
lif->eth_dev = eth_dev;
lif->index = adapter->nlifs;
lif->eth_dev = eth_dev;
@@
-1061,11
+1068,6
@@
eth_ionic_dev_uninit(struct rte_eth_dev *eth_dev)
ionic_lif_deinit(lif);
ionic_lif_free(lif);
ionic_lif_deinit(lif);
ionic_lif_free(lif);
- eth_dev->dev_ops = NULL;
- eth_dev->rx_pkt_burst = NULL;
- eth_dev->tx_pkt_burst = NULL;
- eth_dev->tx_pkt_prepare = NULL;
-
return 0;
}
return 0;
}