From patchwork Mon Jan 11 19:02:05 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Boyer X-Patchwork-Id: 86344 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 07D0FA04B5; Mon, 11 Jan 2021 20:02:35 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4F77314101A; Mon, 11 Jan 2021 20:02:34 +0100 (CET) Received: from mail-pj1-f54.google.com (mail-pj1-f54.google.com [209.85.216.54]) by mails.dpdk.org (Postfix) with ESMTP id EF673141019 for ; Mon, 11 Jan 2021 20:02:32 +0100 (CET) Received: by mail-pj1-f54.google.com with SMTP id b5so113644pjl.0 for ; Mon, 11 Jan 2021 11:02:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pensando.io; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=64WJ/yuiQU7a42lxH10ubhqKTX93wC3EhlLHBBNoFI8=; b=HQXQIltUuoaGI5kgc4oyWIEcIWMyGq0MoCT3mMkdBNHdotrwXNW7Rcdc50NDG0l2zt 7crdip2sSbrjc/bAUDfQOBOWyc5SkpcCPC5I0aVP+5+K/iHrtwc6Q4e3F7U7msMmr+DX 5Gc2mOPrqTXEITrmympI4B7CLT/9f3EUvT1eUzfQWrDFpzFaOPAsXTWMvDweTZRpNXQB ystN0YnfO1gBR+7Nk11lvaaDhsYXLb9Z85vY6vGb/PtW6K8SulsQfGOEqk+6AzO3GK0o u7EPtToec6Q/0bgOLd2m5Jf6TOEIe4mgN1QfXIfcXHXtQaSPfog6qEkg/9oCs1I8TK3n trYw== 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:in-reply-to :references; bh=64WJ/yuiQU7a42lxH10ubhqKTX93wC3EhlLHBBNoFI8=; b=p7l9/ZqgVUf3q5yWnlBWAZ2YSLsdgC+OE7JdHOTEnfkDb9akXwSETXsk67ZVK81Kys mTk0egLyGHd3/BE0cycjUvQtoi23acpQrap4LB0/rnutxqXEAVgKOyyBRBoyzhAfGmNl CzrK4Mag1IkmrroYO4auyswnHhhb4+JXjArwMVXdRzTUFmdGQc98m4id5PYWtUWBisH9 AovuUssivFO7/LhbydMvzi/HLO+JlFkEDG4/g8rsXpBUOLFCufKPsa5z9UQ3RBTvi8qt XAbnDVMsiGtk04qp8XQ0OA+Mats+t7iDHlyBYglcrZp/m+M+/qVPSo0Lwa3u2gHa/zsb 1PUA== X-Gm-Message-State: AOAM53216rIAClHK/MmxuHPipTlS5syTFMPygYXMHHIbw+zwKEeK8FNY wxBXqabAfSOvopTpClYsH4D6T0vWUlQ81A== X-Google-Smtp-Source: ABdhPJz7hlCR1xFVO2B1gGAvo8/jPymdG+7efORG+H2D3QNvg8fQt+7vAvrODSYCmO4El3DKI3mN8A== X-Received: by 2002:a17:90a:12c4:: with SMTP id b4mr294209pjg.234.1610391751737; Mon, 11 Jan 2021 11:02:31 -0800 (PST) Received: from driver-dev1.pensando.io ([12.226.153.42]) by smtp.gmail.com with ESMTPSA id x1sm361858pfc.112.2021.01.11.11.02.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Jan 2021 11:02:31 -0800 (PST) From: Andrew Boyer To: dev@dpdk.org Cc: Alfredo Cardigliano , Andrew Boyer , Neel Patel Date: Mon, 11 Jan 2021 11:02:05 -0800 Message-Id: <20210111190209.70928-3-aboyer@pensando.io> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210111190209.70928-1-aboyer@pensando.io> References: <20210111190209.70928-1-aboyer@pensando.io> Subject: [dpdk-dev] [PATCH 2/6] net/ionic: combine queue init and enable commands X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" Adding F_ENA to the q_init command has the same effect as q_enable. This reduces the startup time a bit. Signed-off-by: Andrew Boyer Signed-off-by: Neel Patel --- drivers/net/ionic/ionic_lif.c | 4 ++-- drivers/net/ionic/ionic_rxtx.c | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/net/ionic/ionic_lif.c b/drivers/net/ionic/ionic_lif.c index ed1595e62..673f789f3 100644 --- a/drivers/net/ionic/ionic_lif.c +++ b/drivers/net/ionic/ionic_lif.c @@ -1371,7 +1371,7 @@ ionic_lif_txq_init(struct ionic_qcq *qcq) .opcode = IONIC_CMD_Q_INIT, .type = q->type, .index = q->index, - .flags = IONIC_QINIT_F_SG, + .flags = IONIC_QINIT_F_SG | IONIC_QINIT_F_ENA, .intr_index = cq->bound_intr->index, .ring_size = rte_log2_u32(q->num_descs), .ring_base = q->base_pa, @@ -1417,7 +1417,7 @@ ionic_lif_rxq_init(struct ionic_qcq *qcq) .opcode = IONIC_CMD_Q_INIT, .type = q->type, .index = q->index, - .flags = IONIC_QINIT_F_SG, + .flags = IONIC_QINIT_F_SG | IONIC_QINIT_F_ENA, .intr_index = cq->bound_intr->index, .ring_size = rte_log2_u32(q->num_descs), .ring_base = q->base_pa, diff --git a/drivers/net/ionic/ionic_rxtx.c b/drivers/net/ionic/ionic_rxtx.c index cf7ff6ce7..5d0e9d5d5 100644 --- a/drivers/net/ionic/ionic_rxtx.c +++ b/drivers/net/ionic/ionic_rxtx.c @@ -232,10 +232,10 @@ ionic_dev_tx_queue_start(struct rte_eth_dev *eth_dev, uint16_t tx_queue_id) err = ionic_lif_txq_init(txq); if (err) return err; + } else { + ionic_qcq_enable(txq); } - ionic_qcq_enable(txq); - tx_queue_state[tx_queue_id] = RTE_ETH_QUEUE_STATE_STARTED; return 0; @@ -988,6 +988,8 @@ ionic_dev_rx_queue_start(struct rte_eth_dev *eth_dev, uint16_t rx_queue_id) err = ionic_lif_rxq_init(rxq); if (err) return err; + } else { + ionic_qcq_enable(rxq); } /* Allocate buffers for descriptor rings */ @@ -997,8 +999,6 @@ ionic_dev_rx_queue_start(struct rte_eth_dev *eth_dev, uint16_t rx_queue_id) return -1; } - ionic_qcq_enable(rxq); - rx_queue_state[rx_queue_id] = RTE_ETH_QUEUE_STATE_STARTED; return 0;