DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] ethdev: fix non-reconfigurable pmd init
@ 2013-09-13 13:38 Thomas Monjalon
  2013-09-16  9:43 ` Ivan Boule
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas Monjalon @ 2013-09-13 13:38 UTC (permalink / raw)
  To: dev

Some Poll-Mode Drivers (PMD) are not reconfigurable and,
thus, do not implement (rx|tx)_queue_release functions.
For these drivers, the functions rte_eth_dev_(rx|tx)_queue_config
must return an ENOTSUP error only when reconfiguring,
but not at initial configuration.

Move the FUNC_PTR_OR_ERR_RET check into the case of reconfiguration.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
---
 lib/librte_ether/rte_ethdev.c |   16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index cb3d424..509cf11 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -253,9 +253,7 @@ rte_eth_dev_rx_queue_config(struct rte_eth_dev *dev, uint16_t nb_queues)
 	void **rxq;
 	unsigned i;
 
-	FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_queue_release, -ENOTSUP);
-
-	if (dev->data->rx_queues == NULL) {
+	if (dev->data->rx_queues == NULL) { /* first time configuration */
 		dev->data->rx_queues = rte_zmalloc("ethdev->rx_queues",
 				sizeof(dev->data->rx_queues[0]) * nb_queues,
 				CACHE_LINE_SIZE);
@@ -263,7 +261,9 @@ rte_eth_dev_rx_queue_config(struct rte_eth_dev *dev, uint16_t nb_queues)
 			dev->data->nb_rx_queues = 0;
 			return -(ENOMEM);
 		}
-	} else {
+	} else { /* re-configure */
+		FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_queue_release, -ENOTSUP);
+
 		rxq = dev->data->rx_queues;
 
 		for (i = nb_queues; i < old_nb_queues; i++)
@@ -291,9 +291,7 @@ rte_eth_dev_tx_queue_config(struct rte_eth_dev *dev, uint16_t nb_queues)
 	void **txq;
 	unsigned i;
 
-	FUNC_PTR_OR_ERR_RET(*dev->dev_ops->tx_queue_release, -ENOTSUP);
-
-	if (dev->data->tx_queues == NULL) {
+	if (dev->data->tx_queues == NULL) { /* first time configuration */
 		dev->data->tx_queues = rte_zmalloc("ethdev->tx_queues",
 				sizeof(dev->data->tx_queues[0]) * nb_queues,
 				CACHE_LINE_SIZE);
@@ -301,7 +299,9 @@ rte_eth_dev_tx_queue_config(struct rte_eth_dev *dev, uint16_t nb_queues)
 			dev->data->nb_tx_queues = 0;
 			return -(ENOMEM);
 		}
-	} else {
+	} else { /* re-configure */
+		FUNC_PTR_OR_ERR_RET(*dev->dev_ops->tx_queue_release, -ENOTSUP);
+
 		txq = dev->data->tx_queues;
 
 		for (i = nb_queues; i < old_nb_queues; i++)
-- 
1.7.10.4

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] [PATCH] ethdev: fix non-reconfigurable pmd init
  2013-09-13 13:38 [dpdk-dev] [PATCH] ethdev: fix non-reconfigurable pmd init Thomas Monjalon
@ 2013-09-16  9:43 ` Ivan Boule
  2013-09-16  9:48   ` Thomas Monjalon
  0 siblings, 1 reply; 3+ messages in thread
From: Ivan Boule @ 2013-09-16  9:43 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev

On 09/13/2013 03:38 PM, Thomas Monjalon wrote:
> Some Poll-Mode Drivers (PMD) are not reconfigurable and,
> thus, do not implement (rx|tx)_queue_release functions.
> For these drivers, the functions rte_eth_dev_(rx|tx)_queue_config
> must return an ENOTSUP error only when reconfiguring,
> but not at initial configuration.
>
> Move the FUNC_PTR_OR_ERR_RET check into the case of reconfiguration.
>
> Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
>
Acked-by: Ivan Boule <ivan.boule@6wind.com>

-- 
Ivan Boule
6WIND Development Engineer

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] [PATCH] ethdev: fix non-reconfigurable pmd init
  2013-09-16  9:43 ` Ivan Boule
@ 2013-09-16  9:48   ` Thomas Monjalon
  0 siblings, 0 replies; 3+ messages in thread
From: Thomas Monjalon @ 2013-09-16  9:48 UTC (permalink / raw)
  To: Ivan Boule; +Cc: dev

16/09/2013 11:43, Ivan Boule :
> On 09/13/2013 03:38 PM, Thomas Monjalon wrote:
> > Some Poll-Mode Drivers (PMD) are not reconfigurable and,
> > thus, do not implement (rx|tx)_queue_release functions.
> > For these drivers, the functions rte_eth_dev_(rx|tx)_queue_config
> > must return an ENOTSUP error only when reconfiguring,
> > but not at initial configuration.
> > 
> > Move the FUNC_PTR_OR_ERR_RET check into the case of reconfiguration.
> > 
> > Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
> 
> Acked-by: Ivan Boule <ivan.boule@6wind.com>

pushed, thanks

-- 
Thomas

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-09-16  9:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-09-13 13:38 [dpdk-dev] [PATCH] ethdev: fix non-reconfigurable pmd init Thomas Monjalon
2013-09-16  9:43 ` Ivan Boule
2013-09-16  9:48   ` Thomas Monjalon

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).