All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] net/vmxnet3: set the queue shared buffer at start
@ 2018-01-17 15:04 Chas Williams
  2018-01-17 15:04 ` [PATCH 2/2] net/vmxnet3: keep consistent link status Chas Williams
  2018-03-12 17:45 ` [PATCH 1/2] net/vmxnet3: set the queue shared buffer at start Shrikrishna Khare
  0 siblings, 2 replies; 4+ messages in thread
From: Chas Williams @ 2018-01-17 15:04 UTC (permalink / raw)
  To: dev; +Cc: skhare, Charles (Chas) Williams, Chas Williams

From: "Charles (Chas) Williams" <ciwillia@mail.eng.vyatta.net>

If a reconfiguration happens, queuedesc is reallocated.  Any queues that
are preserved point to the previous queuedesc since the queues are only
configured during queue setup.  Delay configuration of the shared queue
pointers until device start when queuedesc is no longer changing.

Fixes: 8618d19b52b1 ("net/vmxnet3: reallocate shared memzone on re-config")

Signed-off-by: Chas Williams <chas3@att.com>
---
 drivers/net/vmxnet3/vmxnet3_ethdev.c | 4 ++++
 drivers/net/vmxnet3/vmxnet3_rxtx.c   | 4 ++--
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c
index d3b704b..776a0da 100644
--- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
@@ -644,6 +644,8 @@ vmxnet3_setup_driver_shared(struct rte_eth_dev *dev)
 		Vmxnet3_TxQueueDesc *tqd = &hw->tqd_start[i];
 		vmxnet3_tx_queue_t *txq  = dev->data->tx_queues[i];
 
+		txq->shared = &hw->tqd_start[i];
+
 		tqd->ctrl.txNumDeferred  = 0;
 		tqd->ctrl.txThreshold    = 1;
 		tqd->conf.txRingBasePA   = txq->cmd_ring.basePA;
@@ -664,6 +666,8 @@ vmxnet3_setup_driver_shared(struct rte_eth_dev *dev)
 		Vmxnet3_RxQueueDesc *rqd  = &hw->rqd_start[i];
 		vmxnet3_rx_queue_t *rxq   = dev->data->rx_queues[i];
 
+		rxq->shared = &hw->rqd_start[i];
+
 		rqd->conf.rxRingBasePA[0] = rxq->cmd_ring[0].basePA;
 		rqd->conf.rxRingBasePA[1] = rxq->cmd_ring[1].basePA;
 		rqd->conf.compRingBasePA  = rxq->comp_ring.basePA;
diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c b/drivers/net/vmxnet3/vmxnet3_rxtx.c
index f9416f3..64f24e6 100644
--- a/drivers/net/vmxnet3/vmxnet3_rxtx.c
+++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c
@@ -908,7 +908,7 @@ vmxnet3_dev_tx_queue_setup(struct rte_eth_dev *dev,
 
 	txq->queue_id = queue_idx;
 	txq->port_id = dev->data->port_id;
-	txq->shared = &hw->tqd_start[queue_idx];
+	txq->shared = NULL; /* set in vmxnet3_setup_driver_shared() */
 	txq->hw = hw;
 	txq->qid = queue_idx;
 	txq->stopped = TRUE;
@@ -1011,7 +1011,7 @@ vmxnet3_dev_rx_queue_setup(struct rte_eth_dev *dev,
 	rxq->mp = mp;
 	rxq->queue_id = queue_idx;
 	rxq->port_id = dev->data->port_id;
-	rxq->shared = &hw->rqd_start[queue_idx];
+	rxq->shared = NULL; /* set in vmxnet3_setup_driver_shared() */
 	rxq->hw = hw;
 	rxq->qid1 = queue_idx;
 	rxq->qid2 = queue_idx + hw->num_rx_queues;
-- 
2.9.5

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

* [PATCH 2/2] net/vmxnet3: keep consistent link status
  2018-01-17 15:04 [PATCH 1/2] net/vmxnet3: set the queue shared buffer at start Chas Williams
@ 2018-01-17 15:04 ` Chas Williams
  2018-03-12 17:45 ` [PATCH 1/2] net/vmxnet3: set the queue shared buffer at start Shrikrishna Khare
  1 sibling, 0 replies; 4+ messages in thread
From: Chas Williams @ 2018-01-17 15:04 UTC (permalink / raw)
  To: dev; +Cc: skhare, Charles (Chas) Williams, Chas Williams

From: "Charles (Chas) Williams" <ciwillia@mail.eng.vyatta.net>

Bonding may examine the link properties to ensure that matching interfaces
are bound together.  If the link is going to have fixed properties,
these need to remain consistent regardless of the link_status or the
state of the adapter.

Signed-off-by: Chas Williams <chas3@att.com>
---
 drivers/net/vmxnet3/vmxnet3_ethdev.c | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c
index 776a0da..d5379dd 100644
--- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
@@ -267,6 +267,7 @@ eth_vmxnet3_dev_init(struct rte_eth_dev *eth_dev)
 	struct rte_pci_device *pci_dev;
 	struct vmxnet3_hw *hw = eth_dev->data->dev_private;
 	uint32_t mac_hi, mac_lo, ver;
+	struct rte_eth_link link;
 
 	PMD_INIT_FUNC_TRACE();
 
@@ -369,6 +370,13 @@ eth_vmxnet3_dev_init(struct rte_eth_dev *eth_dev)
 	memset(hw->saved_tx_stats, 0, sizeof(hw->saved_tx_stats));
 	memset(hw->saved_rx_stats, 0, sizeof(hw->saved_rx_stats));
 
+	/* set the initial link status */
+	memset(&link, 0, sizeof(link));
+	link.link_duplex = ETH_LINK_FULL_DUPLEX;
+	link.link_speed = ETH_SPEED_NUM_10G;
+	link.link_autoneg = ETH_LINK_SPEED_FIXED;
+	vmxnet3_dev_atomic_write_link_status(eth_dev, &link);
+
 	return 0;
 }
 
@@ -857,6 +865,9 @@ vmxnet3_dev_stop(struct rte_eth_dev *dev)
 
 	/* Clear recorded link status */
 	memset(&link, 0, sizeof(link));
+	link.link_duplex = ETH_LINK_FULL_DUPLEX;
+	link.link_speed = ETH_SPEED_NUM_10G;
+	link.link_autoneg = ETH_LINK_SPEED_FIXED;
 	vmxnet3_dev_atomic_write_link_status(dev, &link);
 }
 
@@ -1145,12 +1156,11 @@ __vmxnet3_dev_link_update(struct rte_eth_dev *dev,
 	VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_CMD, VMXNET3_CMD_GET_LINK);
 	ret = VMXNET3_READ_BAR1_REG(hw, VMXNET3_REG_CMD);
 
-	if (ret & 0x1) {
+	if (ret & 0x1)
 		link.link_status = ETH_LINK_UP;
-		link.link_duplex = ETH_LINK_FULL_DUPLEX;
-		link.link_speed = ETH_SPEED_NUM_10G;
-		link.link_autoneg = ETH_LINK_AUTONEG;
-	}
+	link.link_duplex = ETH_LINK_FULL_DUPLEX;
+	link.link_speed = ETH_SPEED_NUM_10G;
+	link.link_autoneg = ETH_LINK_AUTONEG;
 
 	vmxnet3_dev_atomic_write_link_status(dev, &link);
 
-- 
2.9.5

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

* Re: [PATCH 1/2] net/vmxnet3: set the queue shared buffer at start
  2018-01-17 15:04 [PATCH 1/2] net/vmxnet3: set the queue shared buffer at start Chas Williams
  2018-01-17 15:04 ` [PATCH 2/2] net/vmxnet3: keep consistent link status Chas Williams
@ 2018-03-12 17:45 ` Shrikrishna Khare
  2018-03-13 15:20   ` Ferruh Yigit
  1 sibling, 1 reply; 4+ messages in thread
From: Shrikrishna Khare @ 2018-03-12 17:45 UTC (permalink / raw)
  To: Chas Williams; +Cc: dev, skhare, Charles (Chas) Williams, Chas Williams



On Wed, 17 Jan 2018, Chas Williams wrote:

> From: "Charles (Chas) Williams" <ciwillia@mail.eng.vyatta.net>
> 
> If a reconfiguration happens, queuedesc is reallocated.  Any queues that
> are preserved point to the previous queuedesc since the queues are only
> configured during queue setup.  Delay configuration of the shared queue
> pointers until device start when queuedesc is no longer changing.
> 
> Fixes: 8618d19b52b1 ("net/vmxnet3: reallocate shared memzone on re-config")
> 
> Signed-off-by: Chas Williams <chas3@att.com>

Acked-by: Shrikrishna Khare <skhare@vmware.com>

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

* Re: [PATCH 1/2] net/vmxnet3: set the queue shared buffer at start
  2018-03-12 17:45 ` [PATCH 1/2] net/vmxnet3: set the queue shared buffer at start Shrikrishna Khare
@ 2018-03-13 15:20   ` Ferruh Yigit
  0 siblings, 0 replies; 4+ messages in thread
From: Ferruh Yigit @ 2018-03-13 15:20 UTC (permalink / raw)
  To: Shrikrishna Khare, Chas Williams
  Cc: dev, skhare, Charles (Chas) Williams, Chas Williams

On 3/12/2018 5:45 PM, Shrikrishna Khare wrote:
> 
> 
> On Wed, 17 Jan 2018, Chas Williams wrote:
> 
>> From: "Charles (Chas) Williams" <ciwillia@mail.eng.vyatta.net>
>>
>> If a reconfiguration happens, queuedesc is reallocated.  Any queues that
>> are preserved point to the previous queuedesc since the queues are only
>> configured during queue setup.  Delay configuration of the shared queue
>> pointers until device start when queuedesc is no longer changing.
>>
>> Fixes: 8618d19b52b1 ("net/vmxnet3: reallocate shared memzone on re-config")
>>
>> Signed-off-by: Chas Williams <chas3@att.com>
> 
> Acked-by: Shrikrishna Khare <skhare@vmware.com>

Series applied to dpdk-next-net/master, thanks.

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

end of thread, other threads:[~2018-03-13 15:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-17 15:04 [PATCH 1/2] net/vmxnet3: set the queue shared buffer at start Chas Williams
2018-01-17 15:04 ` [PATCH 2/2] net/vmxnet3: keep consistent link status Chas Williams
2018-03-12 17:45 ` [PATCH 1/2] net/vmxnet3: set the queue shared buffer at start Shrikrishna Khare
2018-03-13 15:20   ` Ferruh Yigit

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.