Message ID | 20210104194308.24228-1-dheemanthm@vmware.com (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Ferruh Yigit |
Headers | show |
Series | None | expand |
Context | Check | Description |
---|---|---|
ci/iol-mellanox-Performance | success | Performance Testing PASS |
ci/iol-mellanox-Performance | success | Performance Testing PASS |
ci/iol-testing | success | Testing PASS |
ci/iol-abi-testing | success | Testing PASS |
ci/iol-testing | success | Testing PASS |
ci/iol-abi-testing | success | Testing PASS |
ci/iol-intel-Performance | success | Performance Testing PASS |
ci/iol-intel-Functional | success | Functional Testing PASS |
ci/iol-intel-Performance | success | Performance Testing PASS |
ci/iol-broadcom-Functional | success | Functional Testing PASS |
ci/iol-broadcom-Performance | success | Performance Testing PASS |
ci/iol-intel-Functional | success | Functional Testing PASS |
ci/iol-broadcom-Functional | success | Functional Testing PASS |
ci/iol-broadcom-Performance | success | Performance Testing PASS |
ci/checkpatch | success | coding style OK |
On 1/4/2021 7:43 PM, Dheemanth Mallikarjun wrote: > The vmxnet3 driver didn't have the dev_reset function > pointer set. Hence, provided the necessary function > pointer so that DPDK developers can use the rte_eth_dev_reset > API to reset the vmxnet3 device data. > > Signed-off-by: Dheemanth Mallikarjun <dheemanthm@vmware.com> > --- > drivers/net/vmxnet3/vmxnet3_ethdev.c | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c > index 23a2ebbef..814ccfa79 100644 > --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c > +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c > @@ -67,6 +67,7 @@ static int vmxnet3_dev_configure(struct rte_eth_dev *dev); > static int vmxnet3_dev_start(struct rte_eth_dev *dev); > static int vmxnet3_dev_stop(struct rte_eth_dev *dev); > static int vmxnet3_dev_close(struct rte_eth_dev *dev); > +static int vmxnet3_dev_reset(struct rte_eth_dev *dev); > static void vmxnet3_dev_set_rxmode(struct vmxnet3_hw *hw, uint32_t feature, int set); > static int vmxnet3_dev_promiscuous_enable(struct rte_eth_dev *dev); > static int vmxnet3_dev_promiscuous_disable(struct rte_eth_dev *dev); > @@ -112,6 +113,7 @@ static const struct eth_dev_ops vmxnet3_eth_dev_ops = { > .dev_start = vmxnet3_dev_start, > .dev_stop = vmxnet3_dev_stop, > .dev_close = vmxnet3_dev_close, > + .dev_reset = vmxnet3_dev_reset, > .promiscuous_enable = vmxnet3_dev_promiscuous_enable, > .promiscuous_disable = vmxnet3_dev_promiscuous_disable, > .allmulticast_enable = vmxnet3_dev_allmulticast_enable, > @@ -913,6 +915,18 @@ vmxnet3_dev_close(struct rte_eth_dev *dev) > return ret; > } > > +static int > +vmxnet3_dev_reset(struct rte_eth_dev *dev) > +{ > + int ret; > + > + ret = eth_vmxnet3_dev_uninit(dev); > + if (ret) > + return ret; > + ret = eth_vmxnet3_dev_init(dev); > + return ret; > +} > + > static void > vmxnet3_hw_tx_stats_get(struct vmxnet3_hw *hw, unsigned int q, > struct UPT1_TxStats *res) > Hi Yong, Can you please review this patch? Thanks, ferruh
-----Original Message----- From: Dheemanth Mallikarjun <dheemanthm@vmware.com> Date: Monday, January 4, 2021 at 11:43 AM To: "dev@dpdk.org" <dev@dpdk.org> Cc: Yong Wang <yongwang@vmware.com> Subject: [PATCH v1 2/2] net/vmxnet3: Provided API to reset vmxnet device The vmxnet3 driver didn't have the dev_reset function pointer set. Hence, provided the necessary function pointer so that DPDK developers can use the rte_eth_dev_reset API to reset the vmxnet3 device data. Signed-off-by: Dheemanth Mallikarjun <dheemanthm@vmware.com> --- Acked-by: Yong Wang <yongwang@vmware.com> drivers/net/vmxnet3/vmxnet3_ethdev.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c index 23a2ebbef..814ccfa79 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c @@ -67,6 +67,7 @@ static int vmxnet3_dev_configure(struct rte_eth_dev *dev); static int vmxnet3_dev_start(struct rte_eth_dev *dev); static int vmxnet3_dev_stop(struct rte_eth_dev *dev); static int vmxnet3_dev_close(struct rte_eth_dev *dev); +static int vmxnet3_dev_reset(struct rte_eth_dev *dev); static void vmxnet3_dev_set_rxmode(struct vmxnet3_hw *hw, uint32_t feature, int set); static int vmxnet3_dev_promiscuous_enable(struct rte_eth_dev *dev); static int vmxnet3_dev_promiscuous_disable(struct rte_eth_dev *dev); @@ -112,6 +113,7 @@ static const struct eth_dev_ops vmxnet3_eth_dev_ops = { .dev_start = vmxnet3_dev_start, .dev_stop = vmxnet3_dev_stop, .dev_close = vmxnet3_dev_close, + .dev_reset = vmxnet3_dev_reset, .promiscuous_enable = vmxnet3_dev_promiscuous_enable, .promiscuous_disable = vmxnet3_dev_promiscuous_disable, .allmulticast_enable = vmxnet3_dev_allmulticast_enable, @@ -913,6 +915,18 @@ vmxnet3_dev_close(struct rte_eth_dev *dev) return ret; } +static int +vmxnet3_dev_reset(struct rte_eth_dev *dev) +{ + int ret; + + ret = eth_vmxnet3_dev_uninit(dev); + if (ret) + return ret; + ret = eth_vmxnet3_dev_init(dev); + return ret; +} + static void vmxnet3_hw_tx_stats_get(struct vmxnet3_hw *hw, unsigned int q, struct UPT1_TxStats *res) -- 2.17.1
On 2/6/2021 6:05 PM, Yong Wang wrote: > -----Original Message----- > From: Dheemanth Mallikarjun <dheemanthm@vmware.com> > Date: Monday, January 4, 2021 at 11:43 AM > To: "dev@dpdk.org" <dev@dpdk.org> > Cc: Yong Wang <yongwang@vmware.com> > Subject: [PATCH v1 2/2] net/vmxnet3: Provided API to reset vmxnet device > > The vmxnet3 driver didn't have the dev_reset function > pointer set. Hence, provided the necessary function > pointer so that DPDK developers can use the rte_eth_dev_reset > API to reset the vmxnet3 device data. > > Signed-off-by: Dheemanth Mallikarjun <dheemanthm@vmware.com> > --- > > Acked-by: Yong Wang <yongwang@vmware.com> > Applied to dpdk-next-net/main, thanks.
diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c index 23a2ebbef..814ccfa79 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c @@ -67,6 +67,7 @@ static int vmxnet3_dev_configure(struct rte_eth_dev *dev); static int vmxnet3_dev_start(struct rte_eth_dev *dev); static int vmxnet3_dev_stop(struct rte_eth_dev *dev); static int vmxnet3_dev_close(struct rte_eth_dev *dev); +static int vmxnet3_dev_reset(struct rte_eth_dev *dev); static void vmxnet3_dev_set_rxmode(struct vmxnet3_hw *hw, uint32_t feature, int set); static int vmxnet3_dev_promiscuous_enable(struct rte_eth_dev *dev); static int vmxnet3_dev_promiscuous_disable(struct rte_eth_dev *dev); @@ -112,6 +113,7 @@ static const struct eth_dev_ops vmxnet3_eth_dev_ops = { .dev_start = vmxnet3_dev_start, .dev_stop = vmxnet3_dev_stop, .dev_close = vmxnet3_dev_close, + .dev_reset = vmxnet3_dev_reset, .promiscuous_enable = vmxnet3_dev_promiscuous_enable, .promiscuous_disable = vmxnet3_dev_promiscuous_disable, .allmulticast_enable = vmxnet3_dev_allmulticast_enable, @@ -913,6 +915,18 @@ vmxnet3_dev_close(struct rte_eth_dev *dev) return ret; } +static int +vmxnet3_dev_reset(struct rte_eth_dev *dev) +{ + int ret; + + ret = eth_vmxnet3_dev_uninit(dev); + if (ret) + return ret; + ret = eth_vmxnet3_dev_init(dev); + return ret; +} + static void vmxnet3_hw_tx_stats_get(struct vmxnet3_hw *hw, unsigned int q, struct UPT1_TxStats *res)
The vmxnet3 driver didn't have the dev_reset function pointer set. Hence, provided the necessary function pointer so that DPDK developers can use the rte_eth_dev_reset API to reset the vmxnet3 device data. Signed-off-by: Dheemanth Mallikarjun <dheemanthm@vmware.com> --- drivers/net/vmxnet3/vmxnet3_ethdev.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+)