From patchwork Mon Sep 26 06:59:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 116848 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 7C9A8A00C2; Mon, 26 Sep 2022 09:01:19 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A084142B80; Mon, 26 Sep 2022 09:00:36 +0200 (CEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2130.outbound.protection.outlook.com [40.107.244.130]) by mails.dpdk.org (Postfix) with ESMTP id BC1C742B75 for ; Mon, 26 Sep 2022 09:00:33 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mj6QifDCwpMfIqy/i0TL5I7Hr7+bJ7gXrKpEU1PNztbFH27y+paK321FC/qgzMzW/hZh2WzG75VgzhbpZOKiKUo9sUYUG3B6yAYAIPxDz7ECq2MeEVQugP3L6QGOD8LqoeNPCkc6xygM+M5DJp1hGYK0h0yXSDgnqMfzI1RB9qL8NQRmmSYVMY/jblei2yWCZMAQZMVFRO1CdiPY1fxAfl5auYmyzgnwIbA1IXZ+S7AdjxwVFDdqUXyiQ3NzeIwjWHi5TxOrJ7r6ZYXccTFpDPr+Ug9hysLc6aZyhQmrGtRjMnv5Tq0gy38Xk1KcaNFXzWIQr8yMspZs27A/UFdV+Q== 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=HVKuP7tUbIZLw6xgolmmPujd42xFro8GShmm2ItScIM=; b=W1H1sZinDHmht5QyaUL2AUEqVcn4j1fFH4egIOwwGnh4+m5ixO44FDi0nsjsja5fh2K2blAbguO7xSkKI/Ov3cjOtN98yHkj+4JJpe4OzLUdAP2+2FyVG+vCSSWC3/Yo8VBwdAXxQwSFwqX1rij5UKs3iaPNTwZ2sHIm0xhey8acwGRxkymIYp189w2vP78tmYKbQ4LRKoohY3VkLbTCunhSGpntL2PWYaP+Tuudq1OVKJtHwWXVOYgY4zYecVm59VKUEOh6zIaA4/mSx/KLycX7glhZ599nkILdr+zF8j1gC8z0CW0c6JaOmqxeIMecxlXS/4uXzNmhgbgfhJhFxg== 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=HVKuP7tUbIZLw6xgolmmPujd42xFro8GShmm2ItScIM=; b=pSm2d8UbvUqjOmovlEntAjVCmxdhtWncCHZOYpHOxWvcmpq5Jzx+n4Q8zUvmo4+PZdcnpLE7B0ADzwHz35+kEc8+QC/gZePj1QdGt4ODbINbelwf8hn434i/ZwUkYKBH8AyZr/rQrRW6RfR7q2XQhp1P8O0MpQwkztPp6+/IEao= 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 SA1PR13MB4893.namprd13.prod.outlook.com (2603:10b6:806:18a::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.14; Mon, 26 Sep 2022 07:00:32 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::779:2722:a8e5:503b]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::779:2722:a8e5:503b%7]) with mapi id 15.20.5676.014; Mon, 26 Sep 2022 07:00:32 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, niklas.soderlund@corigine.com, Chaoyong He , Heinrich Kuhn Subject: [PATCH v10 07/13] net/nfp: move common rxtx function for flower use Date: Mon, 26 Sep 2022 14:59:51 +0800 Message-Id: <1664175597-37248-8-git-send-email-chaoyong.he@corigine.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1664175597-37248-1-git-send-email-chaoyong.he@corigine.com> References: <1664175597-37248-1-git-send-email-chaoyong.he@corigine.com> X-ClientProxiedBy: SG2P153CA0005.APCP153.PROD.OUTLOOK.COM (2603:1096::15) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|SA1PR13MB4893:EE_ X-MS-Office365-Filtering-Correlation-Id: 0808a3e4-223b-4979-9640-08da9f8ccd9e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Yx7rpEae/BQOkYcq398pgnVYOothoAWziIblJpo3RM/3291Wtc4xjTjoQiGnwYh3fzBue6JFriJ26d4bDggvoYrox9ntgGHjJEDyBnc6lEjtnXjxQXJU+8Vtnyi+x2wdoMI+kzsR1uL2QmwqwkgZ4CT3kuBDvMYP8KKIaXFIf+/TJL+1DVsByFyfDoPwkUhUock5AxIQmDxmg3yIIWWlFoGdKMX0qFQcbHfC+N0c8Qql9VlYofrbFwa6gdWNxGyzoMnAdM2Va8nuCqUdyI8aRSbqz6JUgIfi5KvPNcIsC+yG1xMUMHP8CZmgYesX9+ubVtKOW66XbSqnNT+To+YS7rWGezzq1j4e/AUxzDdymgZNdsRZFYRrcJmXUuwjfs5qwIjOEemDpUZJzLFtYWAnQwcF1xALmErCEDYGNHVBk8Sz/qraKD+3it3C/0pDLknACnVGT5WCxa2kiJ7tn/dN063/Xs0T5lovAlUaUuBBJgLprVHhAk+/Ra5MtNgzS8cS0InE7bjGvNRLopyWZV9obuQR++56LlkNqJgj0+BqLQvi8HAAg7j5FUDKgyxc8/iQc9MQeZeAwy3jLPv+ci4/gWr65Plo8Xnor/eTifIvvOe4b/TUy7D+JQ1PmsnlpCOktZ7V9euTK3Uay0zBmoBWpJscXEM8lnjzBgpQOfSOtrAoXR9JfYVSHv67IgCcT+i9c50YizZBFzCAybaR1MZpQpEEKLKFEg3Yg/BNk6g/hS3XNVJH39ynEdr82VYGvnK7wQciM8vHvC1LO7rkjH9BXQ== 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:(13230022)(4636009)(366004)(396003)(39830400003)(136003)(376002)(346002)(451199015)(36756003)(38100700002)(38350700002)(2906002)(86362001)(44832011)(66946007)(8936002)(66556008)(66476007)(5660300002)(8676002)(4326008)(83380400001)(186003)(54906003)(6512007)(6916009)(316002)(52116002)(6666004)(2616005)(26005)(6506007)(478600001)(41300700001)(107886003)(6486002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?rEnW+ClJk0VOpA0CtsfNORTTbB+3?= =?utf-8?q?DQlb3AK6gtTzEIzjCMBOOyOI9bSMEwE97IBy0RsJBwdn1jdEy20jO0RezZDSrx0Lt?= =?utf-8?q?n61GX9oyJ7vIYNyCZWE9/A4LO0rEJ6DI8bl7PXzvCW2f/0GUo9yd54sPMy5MNzigw?= =?utf-8?q?Cc2aS4eLGV/qI0zRRb5WcsHDy6McsoSU8vSalqzkaU6XBY8Y+Y0QqyPC7M0Ks1N1d?= =?utf-8?q?ybnWlwr4WhxlgL5Q+DR3v+rWzg8UAYtso9uLZBIsHDSTcixfMXBDfkTlCrYKTd2Dd?= =?utf-8?q?otHh3EXuJMheKn4AY2o9PJy7yCJta5/P5zE3ChlM33/bpvJF9tJJZx1ZwNNJOBJVI?= =?utf-8?q?vU1xaT5YoQEakv4oogV70W6+J5CZoqhY3OEMD9qa7nFXyl/G1wzpusXYTg4D3Y3EK?= =?utf-8?q?sH4F+w0dYVGY1FcWOM2elmBISQK7aS2ceruY/QHgtfPUDfjcJWAJ/Kmb2lOKKeFTJ?= =?utf-8?q?aCNWobaqFHnnRBgyeZZYTw/4zmGArrIJtBUWab3B1KGkF2aWYS3SGZvSOr+D6p2Iw?= =?utf-8?q?CQbOfY3srTLEVsYyCBYZtOYrfcpDjRLaZkI0OzHuPh86LIzCgpr947Z26/ad3OD0k?= =?utf-8?q?K24TX8KPr69v/wRbPVPcWGcOKXAWYzUc80aNCLcNXE3rYZChV/7uXNjCb7ggnqjkb?= =?utf-8?q?o/LPaeqJ4QK8+7No5xGKF/dZnsNi34l5YxcMbHQSo2VDERkzVOKPK8WQ1UfQ+ge9m?= =?utf-8?q?x35QJYo8VW+rQWDcxfhYeplB+y71s85XYXcefd7NLJhG4VX2jYwj+w4Ls4bbd7Nwq?= =?utf-8?q?RS4XtfnwHsrqHj1V4Fcr2wjdWKwY9UvtlhZpgcbAvSS1r3k9xTU0W0hEDF/rXDYw2?= =?utf-8?q?aeOetCw0xnI74H3zofnwsFzN6vpJBAEJOq5WglbE6fNKHqBWEmMO6OLFnSoRwMFNR?= =?utf-8?q?A5jNZz1CFcOa8qRDAlfkYEimm6m94OoHKVvf6w28tsdebDR+aRYjw/psP0CTZX9tb?= =?utf-8?q?4lQrFBSY7XD2cXInvR0D5NJrEGoBjhXvdsPRR8+4imrF6XPzbE/RaAgJm8bHY7rmp?= =?utf-8?q?No2y/75ssDIh/IXv/O+hNiULkSDUtq9uiytG9NiJ4pt9K/PybXLJe3TJsce33AhdH?= =?utf-8?q?1FuQGHobHirmQ03yUiFXHKuPnbSUtWNApLLZhLGEJYzVGiQkNseJnYTSw1PBH1Twl?= =?utf-8?q?HedvQiiwQaEKpibNbufdzRk1CsF36Nj8/eO9pu6tv/wIDYuU/vW8V13CoapxQoGzC?= =?utf-8?q?3kTvRlfFDwcT5LtqEpgXkoXY398SSXvrBui2Jq9W61a1eXMuf/NjJMJ906wLPGrdb?= =?utf-8?q?JSnOen8SDHUJbfJTlljz30dvDQGmsjPwMNWhUrLCyq03xpRQYEuyUYZvn9X1yrYJI?= =?utf-8?q?2JlnkHf9feRfVTmjQ7zgYmaCvdRyytuwGHhz8ypStHjFm/JiitObvSzAXUWpusjsj?= =?utf-8?q?pv7rMNiNblRaaSsTokTlVWgBjhFIWfHwxCkellB8RLptphRff6y4mvOi5N38teU2k?= =?utf-8?q?RxJOTHObPrDljSSEC6ggYcaw6tsaxN/uUFBJqIHIGEs62lwQFTxNSzmNHzgjEQcvQ?= =?utf-8?q?e9u5BYcxkl0YH/aAC+ouEyU7ZCfa1VW2AQ=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0808a3e4-223b-4979-9640-08da9f8ccd9e X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2022 07:00:32.3119 (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: LJbS/rzG5FigK2HCYBbROS9s5eOu4BeXz+YySe8inUyO9TSpMKVOdoBQ82RKhf9gmli9J5y1AqkT1ylFEBk1URcWvU8Oqgj42AgQ6gFX3g4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR13MB4893 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 Move some common Rx and Tx logic to the 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 8429b44..8d63a7b 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_ */ /*