From patchwork Fri Jul 1 02:20:13 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 113590 X-Patchwork-Delegate: andrew.rybchenko@oktetlabs.ru 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 70B8AA0093; Fri, 1 Jul 2022 04:22:03 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9B14142B86; Fri, 1 Jul 2022 04:21:22 +0200 (CEST) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2131.outbound.protection.outlook.com [40.107.243.131]) by mails.dpdk.org (Postfix) with ESMTP id 0610342B81 for ; Fri, 1 Jul 2022 04:21:21 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kE/Ug/dfnDJ7zIh9JB0zLxjaOcsIX5NqtqYc5JRvdCP2JgYcgbkhyGLsIXZDU1pFnvA39o2KRNePUeRF0upH8BqxUD+kriK/LhX60RnHiRJHtXktJ4Y+wpJv2C6VdhkR2BR7NjwLlyEo+IDKaOHQi9MJsWVPaNqz3UGJR64++zrjRKV5iRp8gikYdtamMDeYHLkWGJupERAZa3SENIrQOvjVVcR+kriWH13t4Sp93BUrbSPYYNtpmGPzIrSSTKDaIX9F2FsGReo8I/0/Wo5SwWKbhS6nwetLZBPMIfsaPnmzoXVReuk0/saGaY/lXjHAINUlG88dSfKdflkPFCfgQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=b8bT9YKGR9pqmupZtfvWnjJTxPMp3Qi+aLlqBvHztxk=; b=Bz+BpKlm6Kkda3zsTTM5/QZn74zAPfX3k4TTCOZidCEMJ67UiIiUCkXQTJshbJF0i829k967sskAKgFyZo6vfeqszPDkSL8q2gnVyS7ez51iDR07JDHLDbxqk1ydAyAVp4sOLe193f+cztT5Dz+wiR34YAnUZNf6Gnc5visISE+nHv+O2g83kwPCD6a1Q9ANmzVXrbaTcinno3rmJdXsmrMVktkEWf3HqHDZ9e3N0ArNCLsMMHjJQhQry8gCgLR+9+DYd1k/R9mnF+stzyZTzJwu0nZiWyz3uArM8zSWTgDaBXmzGk9bkejM/3aczMXxFrpH9SVU5dGx6VYll7byUA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=b8bT9YKGR9pqmupZtfvWnjJTxPMp3Qi+aLlqBvHztxk=; b=Ad7GuBsRHhZubMw/t3HAmdrnZx576gvM1cROSrwcxxG45GZxPFpXJCnjleLQcpbUhaDXR4oAEJXwvfPt1EVIehFZwAs+Cu1uGaPD5Ti0jrNWyrHMVJeAmttHxik1o8gZz47oOORuQEZip17n/wEIM2DZLlxTqqYdHXk3URpxRAY= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) by DM6PR13MB2379.namprd13.prod.outlook.com (2603:10b6:5:bf::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.8; Fri, 1 Jul 2022 02:21:19 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::5d9e:9ce5:51d1:2021]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::5d9e:9ce5:51d1:2021%9]) with mapi id 15.20.5395.014; Fri, 1 Jul 2022 02:21:19 +0000 From: Chaoyong He To: dev@dpdk.org Cc: niklas.soderlund@corigine.com, Chaoyong He , Heinrich Kuhn Subject: [PATCH v4 08/12] net/nfp: move common rxtx function for flower use Date: Fri, 1 Jul 2022 10:20:13 +0800 Message-Id: <1656642017-8992-9-git-send-email-chaoyong.he@corigine.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1656642017-8992-1-git-send-email-chaoyong.he@corigine.com> References: <1656642017-8992-1-git-send-email-chaoyong.he@corigine.com> X-ClientProxiedBy: SG2PR02CA0079.apcprd02.prod.outlook.com (2603:1096:4:90::19) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ab35540a-14e4-4d49-3a6f-08da5b08626f X-MS-TrafficTypeDiagnostic: DM6PR13MB2379:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JSvQmF+UPtHEOEddsPmhbIzxk4Km18oehWN/6lnEiQ8/ekBRVBcOADCvLhslZPH4qihwq2Mkn8dZp56iFaunLxEpDURiQ61ZLK2SsJTtRMr4rBdy4+h/l0eGPCiYokQComU3ePC4KEv3K9kL2ZwBYld+E18jl+4Oox7uUF2HgQ1kpuVwK9g+/y3MQuroqtNwY2U5s3keQu7s6lIORzTE6ZHgwpC/M/1Bjfy+A5Y208xWbkpP9yYFXwfHHhL1rd/7b+LXKo67LUmnxS9XqSy82aDnlHrGSuziy5fY41eBIeo45cO8gYFygGUv2j4JWu4s64LPzdbQUVTmlvrxqnZ9pi+e1L2NqHBixIywji6LUwEQP6y/0nPeo9aadcZVk2MkkKXzLb4GyvNLD0qhW8f+/Nps8DlExDhXvJVnONJSvBfXHuAajYPRIvt7FvZYFW6ffGBVoJ11SRy2WBbVftCrSwvgyCH6DK97k0Tzg1+rL0RhMRXmxlQl5YSZi6u/DH8Iq573hxjEWbVZNxreJl9WyAtD4dVLBu3g7dfQojDApUCot9piFM1ysKdeV1UFNDmwXRlN/C0U0OaepapaSPQtx5DNEx6eradQnmb+GNOM9ea9Voy5LogHQNhxhYiJaIYiw7ExlzjWs+qHXarm6Thniva2pojythOocavXVZB8we4yijwkQJR4EariQ5XF/Y/13t6apX2nImg+KBVGLYw/RuJ5V8eRqN1H7JXhtCh60PvqI6OJYFFcxHuudDEG2KBUdIlU6+nGDinlee8XRtQBgPNqUmSRHxtO2/d+28elRKq4Wd35SXHhhHPqPjA/d2UU X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(376002)(396003)(346002)(366004)(136003)(39840400004)(186003)(6486002)(38100700002)(478600001)(83380400001)(107886003)(2616005)(38350700002)(4326008)(316002)(6916009)(66946007)(66476007)(5660300002)(6512007)(6506007)(66556008)(26005)(52116002)(44832011)(41300700001)(86362001)(36756003)(8936002)(6666004)(2906002)(54906003)(8676002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?+9YrzlpcDkn9L8YNicMviyzU/v9R?= =?utf-8?q?2pIstRHEjm1pBHQZVgkwmztWbPuqKONlnkjToGx+iVQq0ThCOvdKWz4fGMYYwV7Vn?= =?utf-8?q?W6ny29iIe7ffT68RYER736GXkps66XcC+IC8vVvRWD0MI48tnFMT+skMdwJyspEn+?= =?utf-8?q?1Z/SG4iqs5wflzLEybXsm1yorFlvERwQCWJvhaZ3KNhuI7fZVr2wJcBZHQJwFdP0o?= =?utf-8?q?UrktnGBEMOmlEMGI8b5gM675ZO78FuF/ubwkmEQJfHaqQ1C4Q9421XYm/8Wlb/Qyc?= =?utf-8?q?/GLBMvOeOpDtqcEgvpUmwxkf6/Ub51WH46fnu7aX+siRtVFSlKWeQi7WQGNm63i+n?= =?utf-8?q?dfRCno/f9KiVosX6yDn953+t6/D+agutO8c84bF8KWSuPqnMLU5y1+HoscMCfAgRJ?= =?utf-8?q?hcEm4s6IWpsMQJ7Cswyf7+GB7oOTVtW350JJC3o017vLbnyHvUGhZbCzU083mu9Nu?= =?utf-8?q?afY5U9To1F0L1mMgsjerFxPrLPQS7Wguk/9qP3p+Ne95kyw2krlOiXpPIzBVSSgqH?= =?utf-8?q?kR5EJs7AsjVDXlL8UslBBBqW6XtAnQ8U3vU2CS3n7maiNrLeN6t56VAIrEiSPXBCd?= =?utf-8?q?w+Zdtd7nV4+VRYEf84+z5VlYFbgrzLZ6B0IVQ1Dyohi4MIZQ4t2mb0uLsHdW+kohu?= =?utf-8?q?121huk/hSONuuO8k1xMlQw3LdJS1cNd/sbRaMQhPjEBKxM7TU0IdPvdMGX9emGePf?= =?utf-8?q?FMw82SpmbENJtIIFhTJYBiXCLRRjeCOEvGLdWf4PobbOWwLH1NC+sN9FYtvKmN1VF?= =?utf-8?q?283LwttEJd36YO4lusIC9UGgeNjcvgS/hqYxy+Xw4Ii2VnPACLrKgBDLsM0B8rLjQ?= =?utf-8?q?OxmkCXjk4R1WpXKtTM+FT+k/KYWc6Z/vy2y8DqXGidtD0vjWKdvg5kiTwoXo0p0Qr?= =?utf-8?q?IXPpll6LN4yc5xwZATbqKePnVLvuNPrUNDb99R2mzefdGfALM+SNP3wA6DPHBRPwg?= =?utf-8?q?LDd6t8Z1cMWz9jIr81bKCMgiG/Khsxv87VlJ4KJmiS3lxDfCfeQr2awRGY4gCQvNa?= =?utf-8?q?7k3iQ2qo9YE6QhX7zcgGZGwUqyEgfGt58GaeiGLstx/qY09Xx1SGz/dq9U5IeYz/a?= =?utf-8?q?V2SBNSqp9j76rXSq/cB5ad2igE2Zdvkqp4isouC1HBkZAKPU+IVBPlj9KNQVmLkwg?= =?utf-8?q?TLVV3vKslmmowQgnXGeemxmYT7NrCnB4Yp8DVkcRFnquL6oNYgieDcpKZPjQQWBt6?= =?utf-8?q?7GqhiqfictsRxOFADTfvH87E2855Eg5Fu0XV+pw01tKMdljYrxrXzjJhzrwaYMtsr?= =?utf-8?q?C9i7CDmeqTIHAZnSFKnqpxol9/vuVukZbk3LWWw1q3ZByOj9aRajfrekKOaeVJjHy?= =?utf-8?q?9a94pLuFJ21LuP7XOFyMMekqNnKSpAjyUhQ6OKb+f2yccfLAEX9Ca2Jr8SyV+b7LG?= =?utf-8?q?9DGAdMczlQx6+GnAtjpDdguThheHURKHaYjvxn/GpuQiAor+u4RrqqhuSZlqWc/Da?= =?utf-8?q?Ctao8o5zXPv7ySsz9Zx00mcw1BnqtYeWP/JrtNDWTjXdlQjM2/sl2yJX0WABG2+x6?= =?utf-8?q?vKtBsFfOSI42GDrDVevWDo0UBdjsOId7Qg=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: ab35540a-14e4-4d49-3a6f-08da5b08626f X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jul 2022 02:21:19.8324 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: lYPO36srxeDGrmvHRG37X5RZ4JW197k3H8SXG3GJdPTN09WH6UC73SvBw4C/A/LTU/Sk/vT2YfYT8qgaRcVt3txQpq5E/kCKF/Dsf5SKRfs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR13MB2379 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 This commit move some common Rx and Tx logic to the rxtx header file so that they can be re-used by flower tx and rx logic. Signed-off-by: Chaoyong He Signed-off-by: Heinrich Kuhn Reviewed-by: Niklas Söderlund --- drivers/net/nfp/nfp_rxtx.c | 32 +------------------------------- drivers/net/nfp/nfp_rxtx.h | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 31 deletions(-) diff --git a/drivers/net/nfp/nfp_rxtx.c b/drivers/net/nfp/nfp_rxtx.c index 7414c51..cdcf5c2 100644 --- a/drivers/net/nfp/nfp_rxtx.c +++ b/drivers/net/nfp/nfp_rxtx.c @@ -116,12 +116,6 @@ return count; } -static inline void -nfp_net_mbuf_alloc_failed(struct nfp_net_rxq *rxq) -{ - rte_eth_devices[rxq->port_id].data->rx_mbuf_alloc_failed++; -} - /* * nfp_net_set_hash - Set mbuf hash data * @@ -583,7 +577,7 @@ * @txq: TX queue to work with * Returns number of descriptors freed */ -static int +int nfp_net_tx_free_bufs(struct nfp_net_txq *txq) { uint32_t qcp_rd_p; @@ -774,30 +768,6 @@ return 0; } -/* Leaving always free descriptors for avoiding wrapping confusion */ -static inline -uint32_t nfp_net_nfd3_free_tx_desc(struct nfp_net_txq *txq) -{ - if (txq->wr_p >= txq->rd_p) - return txq->tx_count - (txq->wr_p - txq->rd_p) - 8; - else - return txq->rd_p - txq->wr_p - 8; -} - -/* - * nfp_net_txq_full - Check if the TX queue free descriptors - * is below tx_free_threshold - * - * @txq: TX queue to check - * - * This function uses the host copy* of read/write pointers - */ -static inline -uint32_t nfp_net_nfd3_txq_full(struct nfp_net_txq *txq) -{ - return (nfp_net_nfd3_free_tx_desc(txq) < txq->tx_free_thresh); -} - /* nfp_net_tx_tso - Set TX descriptor for TSO */ static inline void nfp_net_nfd3_tx_tso(struct nfp_net_txq *txq, struct nfp_net_nfd3_tx_desc *txd, diff --git a/drivers/net/nfp/nfp_rxtx.h b/drivers/net/nfp/nfp_rxtx.h index 5c005d7..a30171f 100644 --- a/drivers/net/nfp/nfp_rxtx.h +++ b/drivers/net/nfp/nfp_rxtx.h @@ -330,6 +330,36 @@ struct nfp_net_rxq { int rx_qcidx; } __rte_aligned(64); +static inline void +nfp_net_mbuf_alloc_failed(struct nfp_net_rxq *rxq) +{ + rte_eth_devices[rxq->port_id].data->rx_mbuf_alloc_failed++; +} + +/* Leaving always free descriptors for avoiding wrapping confusion */ +static inline uint32_t +nfp_net_nfd3_free_tx_desc(struct nfp_net_txq *txq) +{ + if (txq->wr_p >= txq->rd_p) + return txq->tx_count - (txq->wr_p - txq->rd_p) - 8; + else + return txq->rd_p - txq->wr_p - 8; +} + +/* + * nfp_net_nfd3_txq_full - Check if the TX queue free descriptors + * is below tx_free_threshold + * + * @txq: TX queue to check + * + * This function uses the host copy* of read/write pointers + */ +static inline uint32_t +nfp_net_nfd3_txq_full(struct nfp_net_txq *txq) +{ + return (nfp_net_nfd3_free_tx_desc(txq) < txq->tx_free_thresh); +} + int nfp_net_rx_freelist_setup(struct rte_eth_dev *dev); uint32_t nfp_net_rx_queue_count(void *rx_queue); uint16_t nfp_net_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, @@ -355,6 +385,7 @@ int nfp_net_nfdk_tx_queue_setup(struct rte_eth_dev *dev, uint16_t nfp_net_nfdk_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts); +int nfp_net_tx_free_bufs(struct nfp_net_txq *txq); #endif /* _NFP_RXTX_H_ */ /*