From patchwork Tue Feb 21 14:36:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sathesh B Edara X-Patchwork-Id: 124297 X-Patchwork-Delegate: jerinj@marvell.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 219F0400C9; Tue, 21 Feb 2023 15:37:13 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BBF43431DE; Tue, 21 Feb 2023 15:37:12 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 3CBEB40E0F for ; Tue, 21 Feb 2023 15:37:11 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 31LD5StM032553 for ; Tue, 21 Feb 2023 06:37:10 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=f+4dYayG/SunnWQ+0m85UQDvQsrG8TyoJsnLv045SkI=; b=QWJRbQNGRCK/4Ll27dGmgzgvwDql8IntzNJVNjFecFoNwaIkHMFSLCr+YBz25dbfqfYD rXWYWhhpOM1n+j6s+06pqubKl1iWJJMxzpuM3mWRwPKaOlgE/+4O5ZTn7zQQ8sxppoMu KCXLf0dMfUWyga7lRiOezS0EXBZwnZ2ny68mD0SMejendgvqHSVaaaLdtlB+XI48QrZ0 Tk7E3Pb6Lz1YpzTfxU0ofj+Yn5JmLrQs1YXk6jqLV7t2bkKsO7TcSSDf7UGBBENSTq7V Oo/krr9uTDRYdnwQ6TGkHKs8IcmPlIqIfpNr4Cu0Yj9vjIivk+hMhBw3/i7L2aRAwieg 7g== Received: from dc5-exch02.marvell.com ([199.233.59.182]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3nty304n0h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Tue, 21 Feb 2023 06:37:10 -0800 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Tue, 21 Feb 2023 06:37:06 -0800 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.42 via Frontend Transport; Tue, 21 Feb 2023 06:37:06 -0800 Received: from localhost.com (unknown [10.106.27.249]) by maili.marvell.com (Postfix) with ESMTP id 3869E3F7075; Tue, 21 Feb 2023 06:37:06 -0800 (PST) From: Sathesh Edara To: , , , "Radha Mohan Chintakuntla" , Veerasenareddy Burru CC: Subject: [PATCH v1 1/2] net/octeon_ep: support device close Date: Tue, 21 Feb 2023 06:36:25 -0800 Message-ID: <20230221143627.219917-2-sedara@marvell.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20230221143627.219917-1-sedara@marvell.com> References: <20230221143627.219917-1-sedara@marvell.com> MIME-Version: 1.0 X-Proofpoint-GUID: nVg6V75FoEwElUYCfaM9oqRnO5Sp3a6f X-Proofpoint-ORIG-GUID: nVg6V75FoEwElUYCfaM9oqRnO5Sp3a6f X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.170.22 definitions=2023-02-21_08,2023-02-20_02,2023-02-09_01 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 Added dev close functionality in the ethdev ops and moves input and output queue deletion functionality into it from otx_epdev_exit() routine. Signed-off-by: Sathesh Edara --- drivers/net/octeon_ep/otx_ep_ethdev.c | 63 ++++++++++++--------------- 1 file changed, 29 insertions(+), 34 deletions(-) diff --git a/drivers/net/octeon_ep/otx_ep_ethdev.c b/drivers/net/octeon_ep/otx_ep_ethdev.c index c8f4abe4ca..0930efedce 100644 --- a/drivers/net/octeon_ep/otx_ep_ethdev.c +++ b/drivers/net/octeon_ep/otx_ep_ethdev.c @@ -395,6 +395,34 @@ otx_ep_dev_stats_get(struct rte_eth_dev *eth_dev, return 0; } +static int +otx_ep_dev_close(struct rte_eth_dev *eth_dev) +{ + struct otx_ep_device *otx_epvf = OTX_EP_DEV(eth_dev); + uint32_t num_queues, q_no; + + otx_epvf->fn_list.disable_io_queues(otx_epvf); + num_queues = otx_epvf->nb_rx_queues; + for (q_no = 0; q_no < num_queues; q_no++) { + if (otx_ep_delete_oqs(otx_epvf, q_no)) { + otx_ep_err("Failed to delete OQ:%d\n", q_no); + return -EINVAL; + } + } + otx_ep_dbg("Num OQs:%d freed\n", otx_epvf->nb_rx_queues); + + num_queues = otx_epvf->nb_tx_queues; + for (q_no = 0; q_no < num_queues; q_no++) { + if (otx_ep_delete_iqs(otx_epvf, q_no)) { + otx_ep_err("Failed to delete IQ:%d\n", q_no); + return -EINVAL; + } + } + otx_ep_dbg("Num IQs:%d freed\n", otx_epvf->nb_tx_queues); + + return 0; +} + static int otx_ep_dev_link_update(struct rte_eth_dev *eth_dev, int wait_to_complete) { @@ -424,47 +452,14 @@ static const struct eth_dev_ops otx_ep_eth_dev_ops = { .stats_get = otx_ep_dev_stats_get, .stats_reset = otx_ep_dev_stats_reset, .link_update = otx_ep_dev_link_update, + .dev_close = otx_ep_dev_close, }; -static int -otx_epdev_exit(struct rte_eth_dev *eth_dev) -{ - struct otx_ep_device *otx_epvf; - uint32_t num_queues, q; - - otx_ep_info("%s:\n", __func__); - - otx_epvf = OTX_EP_DEV(eth_dev); - - otx_epvf->fn_list.disable_io_queues(otx_epvf); - - num_queues = otx_epvf->nb_rx_queues; - for (q = 0; q < num_queues; q++) { - if (otx_ep_delete_oqs(otx_epvf, q)) { - otx_ep_err("Failed to delete OQ:%d\n", q); - return -EINVAL; - } - } - otx_ep_info("Num OQs:%d freed\n", otx_epvf->nb_rx_queues); - - num_queues = otx_epvf->nb_tx_queues; - for (q = 0; q < num_queues; q++) { - if (otx_ep_delete_iqs(otx_epvf, q)) { - otx_ep_err("Failed to delete IQ:%d\n", q); - return -EINVAL; - } - } - otx_ep_dbg("Num IQs:%d freed\n", otx_epvf->nb_tx_queues); - - return 0; -} - static int otx_ep_eth_dev_uninit(struct rte_eth_dev *eth_dev) { if (rte_eal_process_type() != RTE_PROC_PRIMARY) return 0; - otx_epdev_exit(eth_dev); eth_dev->dev_ops = NULL; eth_dev->rx_pkt_burst = NULL; From patchwork Tue Feb 21 14:36:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sathesh B Edara X-Patchwork-Id: 124299 X-Patchwork-Delegate: jerinj@marvell.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 6AAB1400C9; Tue, 21 Feb 2023 15:37:23 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EE3C1431F0; Tue, 21 Feb 2023 15:37:16 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id E39D6431DE for ; Tue, 21 Feb 2023 15:37:11 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 31LD5StN032553 for ; Tue, 21 Feb 2023 06:37:11 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=rYE3aBX9nUONX8kFQiWh/u99s7oAJYpuVeMD8PNbzzQ=; b=NAnI6aVxEgi4nU1bZONAl7Nig3PedGrTSdMbyeaLWPBk6HgQtcsysXsh/fbmTac7wUt8 aJTBHETQRfgF9Gq9B3DFuKZOTxF8MLN9ciqhxAqgI3PtrerE1hUMOEq5/mDKMC4PFFNl DxpYk3Jbe5lGYIiGP6yqMq7MqkrGQxDfcsRUYUmKR05Jmri6tmlQ5V1G3BBHjLA3AXVX 0WLxiXdj+vZhPKy6ECEJXRpzEYn57aASsEqLHSe87mpZ/m2U2souskY2aeKtu/lbXtQB KloJzvt9GzztWTTH02Yvk+eXHQyqOt2RHOmIyMHEm6Sisj7J4/w2tqAGVXcCCXIIBMDv NA== Received: from dc5-exch02.marvell.com ([199.233.59.182]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3nty304n0h-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Tue, 21 Feb 2023 06:37:10 -0800 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Tue, 21 Feb 2023 06:37:07 -0800 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.42 via Frontend Transport; Tue, 21 Feb 2023 06:37:07 -0800 Received: from localhost.com (unknown [10.106.27.249]) by maili.marvell.com (Postfix) with ESMTP id A183F3F7075; Tue, 21 Feb 2023 06:37:07 -0800 (PST) From: Sathesh Edara To: , , , "Radha Mohan Chintakuntla" , Veerasenareddy Burru CC: Subject: [PATCH v1 2/2] net/octeon_ep: support port kind Date: Tue, 21 Feb 2023 06:36:26 -0800 Message-ID: <20230221143627.219917-3-sedara@marvell.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20230221143627.219917-1-sedara@marvell.com> References: <20230221143627.219917-1-sedara@marvell.com> MIME-Version: 1.0 X-Proofpoint-GUID: 4RpOTgd-0ziaraFZPQHJc02ZfgRBJlHG X-Proofpoint-ORIG-GUID: 4RpOTgd-0ziaraFZPQHJc02ZfgRBJlHG X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.170.22 definitions=2023-02-21_08,2023-02-20_02,2023-02-09_01 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 Added port kind functionality. Signed-off-by: Sathesh Edara --- drivers/net/octeon_ep/otx_ep_common.h | 1 + drivers/net/octeon_ep/otx_ep_ethdev.c | 2 +- drivers/net/octeon_ep/otx_ep_rxtx.c | 16 ++++++++-------- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/drivers/net/octeon_ep/otx_ep_common.h b/drivers/net/octeon_ep/otx_ep_common.h index 7eb50af75a..e4c92270d4 100644 --- a/drivers/net/octeon_ep/otx_ep_common.h +++ b/drivers/net/octeon_ep/otx_ep_common.h @@ -32,6 +32,7 @@ #define OTX_EP_PCI_RING_ALIGN 65536 #define SDP_PKIND 40 #define SDP_OTX2_PKIND 57 +#define SDP_OTX2_PKIND_FS0 0 #define ORDERED_TAG 0 #define ATOMIC_TAG 1 diff --git a/drivers/net/octeon_ep/otx_ep_ethdev.c b/drivers/net/octeon_ep/otx_ep_ethdev.c index 0930efedce..f43db1e398 100644 --- a/drivers/net/octeon_ep/otx_ep_ethdev.c +++ b/drivers/net/octeon_ep/otx_ep_ethdev.c @@ -495,7 +495,7 @@ otx_ep_eth_dev_init(struct rte_eth_dev *eth_dev) otx_epdev_init(otx_epvf); if (pdev->id.device_id == PCI_DEVID_CN9K_EP_NET_VF) - otx_epvf->pkind = SDP_OTX2_PKIND; + otx_epvf->pkind = SDP_OTX2_PKIND_FS0; else otx_epvf->pkind = SDP_PKIND; otx_ep_info("using pkind %d\n", otx_epvf->pkind); diff --git a/drivers/net/octeon_ep/otx_ep_rxtx.c b/drivers/net/octeon_ep/otx_ep_rxtx.c index 59df6ad857..6912ca2401 100644 --- a/drivers/net/octeon_ep/otx_ep_rxtx.c +++ b/drivers/net/octeon_ep/otx_ep_rxtx.c @@ -17,7 +17,8 @@ #include "otx_ep_rxtx.h" /* SDP_LENGTH_S specifies packet length and is of 8-byte size */ -#define INFO_SIZE 8 +#define OTX_EP_INFO_SIZE 8 +#define OTX_EP_FSZ_FS0 0 #define DROQ_REFILL_THRESHOLD 16 static void @@ -678,7 +679,7 @@ otx2_ep_xmit_pkts(void *tx_queue, struct rte_mbuf **pkts, uint16_t nb_pkts) iqcmd2.irh.u64 = 0; /* ih invars */ - iqcmd2.ih.s.fsz = OTX2_EP_FSZ; + iqcmd2.ih.s.fsz = OTX_EP_FSZ_FS0; iqcmd2.ih.s.pkind = otx_ep->pkind; /* The SDK decided PKIND value */ /* irh invars */ iqcmd2.irh.s.opcode = OTX_EP_NW_PKT_OP; @@ -875,12 +876,11 @@ otx_ep_droq_read_packet(struct otx_ep_device *otx_ep, info->length = rte_bswap64(info->length); /* Deduce the actual data size */ - total_pkt_len = info->length + INFO_SIZE; + total_pkt_len = info->length + OTX_EP_INFO_SIZE; if (total_pkt_len <= droq->buffer_size) { - info->length -= OTX_EP_RH_SIZE; droq_pkt = droq->recv_buf_list[droq->read_idx]; if (likely(droq_pkt != NULL)) { - droq_pkt->data_off += OTX_EP_DROQ_INFO_SIZE; + droq_pkt->data_off += OTX_EP_INFO_SIZE; /* otx_ep_dbg("OQ: pkt_len[%ld], buffer_size %d\n", * (long)info->length, droq->buffer_size); */ @@ -917,11 +917,11 @@ otx_ep_droq_read_packet(struct otx_ep_device *otx_ep, droq_pkt->port = otx_ep->port_id; if (!pkt_len) { droq_pkt->data_off += - OTX_EP_DROQ_INFO_SIZE; + OTX_EP_INFO_SIZE; droq_pkt->pkt_len = - cpy_len - OTX_EP_DROQ_INFO_SIZE; + cpy_len - OTX_EP_INFO_SIZE; droq_pkt->data_len = - cpy_len - OTX_EP_DROQ_INFO_SIZE; + cpy_len - OTX_EP_INFO_SIZE; } else { droq_pkt->pkt_len = cpy_len; droq_pkt->data_len = cpy_len;