From patchwork Wed Jan 17 15:04:56 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chas Williams <3chas3@gmail.com> X-Patchwork-Id: 33927 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CFE02199B0; Wed, 17 Jan 2018 16:05:06 +0100 (CET) Received: from mail-qk0-f196.google.com (mail-qk0-f196.google.com [209.85.220.196]) by dpdk.org (Postfix) with ESMTP id 96C81A49C for ; Wed, 17 Jan 2018 16:05:04 +0100 (CET) Received: by mail-qk0-f196.google.com with SMTP id c69so16413112qkg.6 for ; Wed, 17 Jan 2018 07:05:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=3+n75GTbPxaiuZxsBXUM1tqyHkhY3VDHwenLv4/NiIY=; b=iz06w3Qk5c1vYwplfxX+ImfKqC1TIn2K4CmgNxNQ8BCfGaGCeMrheAgOu/0fx9eeEd x1ygIy8A07St+O3YIwCNw3VYAZnxe2QHqc74cfIv3eNOU4L8P4Cd4uW1p122VUm1c7/f I6WP7pB8M9oDs6eF640vglixO+s6HxN7yBrGqu5PeQxGEEF7ApUxRZFQ0luGCR8R4NQi Ym3GO/h7iKX0D78c1p+Reu7/kESc8lijG6c0Fi4dWPk1Didp7hE8Eo2OGnHeKCulz6yk xY+h2GWqgT1LUSLBK0GNVdLnsgzHRwfTqCjmTEuy/mQ15jRP4jrTlmt7ukG3PtRTWbif Qgww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=3+n75GTbPxaiuZxsBXUM1tqyHkhY3VDHwenLv4/NiIY=; b=blPO+0wLzBvPsbSXBtvGN3XXWdqljmlQph5XwH6Gt+V+kX5wsI/g6XThXUQhMZ5A+G peKIkIp72ocoN05jn8pN7Zvemk6q75MrTEDwgH9WPp4hXJeQSd4cSONV7zPW7OlQv4l+ Q/+TxlCD38EgNDla8yH1v5lAbvBndU0R/eXGo05beG0vp8tpSXmfUAvBKlZgUDZUUIhL YTLeGOKhNwgv0jPKVDsEAFWiJGNoWC9LCJzeXYfZ0LZFtOZHzy40cegcskuBT3iSSqi2 ad0qQb/xnOIp1mArsOE1j+kvXO5Q0WhKif0z7+pPdI3EP/SsgHYna213ESwD9OvDTsqS RONQ== X-Gm-Message-State: AKwxytcakaEhjMgLUGBW4yXR0Z8/LmCjB6AZMeqy9CEuRL0bGLVTpG/O Jhbs+0OS2BHrmHEiMTfXpPxgaQ== X-Google-Smtp-Source: ACJfBot3KJPIrRNpAC0An3xIO6mf5SM/foaRASxYVF0PNZsB/4EW3ceOWyFTGA2rhwSIea7/wrAA8Q== X-Received: by 10.55.104.80 with SMTP id d77mr19673881qkc.51.1516201503515; Wed, 17 Jan 2018 07:05:03 -0800 (PST) Received: from monolith.home (pool-173-79-224-159.washdc.fios.verizon.net. [173.79.224.159]) by smtp.gmail.com with ESMTPSA id u17sm2951881qka.18.2018.01.17.07.05.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 17 Jan 2018 07:05:02 -0800 (PST) From: Chas Williams <3chas3@gmail.com> To: dev@dpdk.org Cc: skhare@vmware.com, "Charles (Chas) Williams" , Chas Williams Date: Wed, 17 Jan 2018 10:04:56 -0500 Message-Id: <20180117150457.17806-1-3chas3@gmail.com> X-Mailer: git-send-email 2.9.5 Subject: [dpdk-dev] [PATCH 1/2] net/vmxnet3: set the queue shared buffer at start X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: "Charles (Chas) Williams" 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 Acked-by: Shrikrishna Khare --- 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;