From patchwork Mon Sep 25 06:06:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 131876 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 948BA42633; Mon, 25 Sep 2023 08:07:43 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BB9F7406A2; Mon, 25 Sep 2023 08:07:29 +0200 (CEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2105.outbound.protection.outlook.com [40.107.244.105]) by mails.dpdk.org (Postfix) with ESMTP id C1EE24067A for ; Mon, 25 Sep 2023 08:07:27 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FN4MV80A6f4ZLX6AdgnbTn9MwsoKhONtijlnrPqPxJ1KRVI1sSgoR8ptvU9iCZBjyWndxZ+X0yIdaABqp6TFLkgNmp0Y5DV71xiOpGEYIl6Yu4YsEVfvjUQt3I4+Qm3xMdWhy07TPun7FKCgh7fhVjChNR9yPFADZAqbAsIdSYSIE2tlEeKEiewCcWNVXrjRjo9fMMpzGN7uC9UGNqfoefRTNFHopk+IvcU3bX8ASdCFIl4AYvudBYTEpna+a2H31ZK4uDLB3XyD5OlfTBXuRxBVFuFZz8kBFU+W8Vgdw45Mbtj1wzgx6gieh0KjBE0v5x1N3HOF6ODEEj5jLkK/9w== 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=NhkER6wdfzk+E1+OhT2DC5KbrJ+a5GgYCLZBblWA3rU=; b=f8KZkHHk/cKZAV2iwmJ22u+5ikM49OU4cgMuBEB768WVihh/7gSlv7DA8cmY5/DsJQT77CaEjxLyzqGNgBQB6/vAKaXs2gUdBcmkQ1hvNCtnWCMajqcZ7vSP9fyOEfIWUnkHjWjv9gNG2JELVwySzCMdYq/afuxkPQfLSTRUnbVRIFZ3nbaDQnVySS74T8oZ1p/or8DKx7kwsfL0ZsTbxa2dMcCHOqOEjvaITlIC99XIeUB2Wm9gFw7XjY21+NTwTtmQNIX75oMfmSeSEm+oMhEZ3Dg+wEh6io9fo29iffNb17WuvbcGReS5ok23xoTr5KMoxmKnrCxHtr76GxQ6eg== 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=NhkER6wdfzk+E1+OhT2DC5KbrJ+a5GgYCLZBblWA3rU=; b=WOVbqWdvfta+PE25TkGxIR+F3xsbxyc7zF2XmdLFGnph0MJf/OtX9sF+ovoW40WbkxP1XDwx4HgOLpGg4rGoWmYHEZ+HVE3gOhcXJ0tX+1U40BFsDkPUuP40vLQGLAh6v/nwu96zI/CT9+m6/F6rUATF2ouHCHpL0wXMGofPsuM= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from PH0PR13MB5568.namprd13.prod.outlook.com (2603:10b6:510:12b::16) by DM8PR13MB5080.namprd13.prod.outlook.com (2603:10b6:8:23::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.28; Mon, 25 Sep 2023 06:07:26 +0000 Received: from PH0PR13MB5568.namprd13.prod.outlook.com ([fe80::b070:92e1:931e:fee7]) by PH0PR13MB5568.namprd13.prod.outlook.com ([fe80::b070:92e1:931e:fee7%4]) with mapi id 15.20.6792.026; Mon, 25 Sep 2023 06:07:26 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Shihong Wang , Chang Miao , Chaoyong He Subject: [PATCH 03/10] net/nfp: add mailbox to support IPsec offload Date: Mon, 25 Sep 2023 14:06:37 +0800 Message-Id: <20230925060644.1458598-4-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230925060644.1458598-1-chaoyong.he@corigine.com> References: <20230925060644.1458598-1-chaoyong.he@corigine.com> X-ClientProxiedBy: BY5PR04CA0001.namprd04.prod.outlook.com (2603:10b6:a03:1d0::11) To PH0PR13MB5568.namprd13.prod.outlook.com (2603:10b6:510:12b::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR13MB5568:EE_|DM8PR13MB5080:EE_ X-MS-Office365-Filtering-Correlation-Id: 402592f5-4b83-4687-335a-08dbbd8db0c5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: z1MG5vBnBd19Tw0nB7MxvcE6Oe2s8NCi5sWxvX9oHNi/42lxiQ5k9I4O2PQP5yAeeENM9cRpVkYM9whUJiZh2jLzJodo8YijvXNVHQLoWPwH/mANXCN0/Fpe4NLiHN4enL4jC9jLk13kZ9Rsx2FzA6Nyo+z4qpcDOxEsg6PALhAWFR4t4Yzoa+RNrp+aA60bGMYrlIHMD3DzggxZ3wKmt5jT9QoAbj9MYSulnC3obs1AagfL7rZHgGEZDZeL+vbLRKV8+aIEGxRxGCpp8nRUcKG5GawYL1BNnRJ1dUa2Jkm7t6UDyAf1SlGzQJiz9xJHaROCxfW+o/LovllCPrAyPjuYKE+kxw+kaR9rY0YcKGbUF5QNh8dw7gpaTC835E2r1IZ7DatCrB3ffpJu3aS5fXGYU3VkumtPkBPXsgTa7RsenVovNaIZT2TQXSHJPvxXwk2kH/URKTcKUnpnj2okYoKmNjIP0ACeU6H8bYBwNY1Ew5zkePqpyvQMG42KvZaREF8KN+/O2mmyQuuNiMwXIhgXhUw9m1S01DWxNtWTPx/oDTaefCa9CYj7/8qwFDmumQmq2DIqmWUJnT9K9MXdk/UaxVqKcy0MQbqk1iPMkgp5c+mBdHN/1U6uQWzGQxQy2aRTKPo4qlt2GtOlbMqHPCDYg+/+QbSefoFbFRNlNfI= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR13MB5568.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366004)(396003)(346002)(39830400003)(376002)(136003)(230922051799003)(186009)(1800799009)(451199024)(15650500001)(2906002)(5660300002)(66946007)(66476007)(44832011)(66556008)(54906003)(478600001)(6666004)(6512007)(52116002)(2616005)(107886003)(1076003)(26005)(6486002)(6506007)(8936002)(8676002)(4326008)(316002)(6916009)(41300700001)(83380400001)(38350700002)(86362001)(36756003)(38100700002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: HJh3d5j2v+gHYh9xOt+ugzhcVgR++HiIb5CufJ75tJzBDTkzVJFJUzrLK8b2OzLg/kVgGNXgvrz0NkiLisHJ6mblXL1LLKQtLPD+SZ9Cx4BZHiXAPKmqwTFxxw9eHE14IPJObNac2Er7XT12pFGhm69Qw7yc03ZKPiN2C1pLcXqs0GpTke2q1eqFztwbD19jT7PjDzsCrpTY7zvcnHa7/is2XHwRiQco4ckeDDMqExXzXlSM17UX6bFmSeSc7OKupUaINGH3kg8eLxosGT6kRFIiElj31Ld7OtNjaJ5lCGAl+2kE1COM1nRELcjMiHVsYyktGIpkLei3GnxFNEw3lvpSSZXPbMP3q0i9DmXuzWtvuQRL7X9wgRIdjXgpQGXrTFEkIEiJ3WEUmxuKtQqWbgva32XVx5KXMBUCpnBIUqEqFUt/uWY7JXF2JxLUBpD3zMiEF84mw9CCWUMgePUiZxo11OUEKPEp5eNxYtaGr44TFTYMOlkO69grLWYtD4XS+Swi980hQgO9ESRk1jJr0t5BwtxLcakMSs7W+w5HjbQOKrHqLIVAjc5QIAEXYU5j81kANhPRgEgnUhex70lqyBT/MGq58Xmw1mjtypm5aujmr0yFrfgJBkseoPyLXPgCXIledmxz0jfyWIj+Y/gS+megxsYmGwMlI8CuWw/PnxGWdgRNUgRShgOZfuSb4VJyx1DnuuDZ/1eDabRossjGnseewufK3q3OD7cwbxCaNpz9pfhTKo7bG1poee8lmBKRZzZBAbJq264DgGNwdEJW+AzB6C3Q3oA8UMNNxqKQa1RfdFXqyr3elzP/FHSypPHbdBDM7UGLBerq5UFYhzlKMOMKG1EquqPpIofil28quQ0/l7DaDKyd/SY/PQPkaDquiXXlmVr2miPdxr/CyLYh7sdSDc34sWXMNlb/sbOZw7DkgUl5uGIOAC9sisGOsuFDIgAWVFFEzmYQp0Nt3NNkRy5dFCpv3F38oUO6BxBfVi6NiMta1eZQalURkVu2cNRlUy/TQrmAAQEgueUWTmEF8P5V/Cp3YcjAbGRDHL8hSq4H0TMab2HmUBZzTPNckL9Ol4+/2UCTGMb02w8SAsHxGxKRxT3HuH+6+WmsTtcxMWp/s0+qhK9Cq6cZLSlTVsywuTOY9f8T1X0adtOsrc0T+I/E5aWybzheFcioZrd8lDuUg64bGITlCMMzhgBRAEee54gvNREFPdL7H6+32VWkaoiveSvqRopb3yvXeyVl/uWq4m4S30R4X/UG7CgHwxVyYaoXmlg0jLfDS1sKhn4SpjrXkzBVQl6rDAI+aq6QghNu7bOtPmfFQCjLKMN2iktFKr+gpQvZukkh6x5+HSum5WhQL+UQHl9Gup+S+AE1Jwfz/I3cEB17r9lZCNyR3yf/oULG3kVRt+9Vv2cBuAWA7ZmL7rGEytcPRTG1KRm89OeKkbCg4ERqYoBampHwj1qdoPQpB7fYpVAdrzkpXudEOOXjqiHZ3xkb6cZBH2KpT3vILMIwGOIzg+TBAhdjQaTWuKk9VFM39h6kltmuCkYxjfpdKXETl0w3tdbK3FkzAyCkzu6edUrB30S8/ZM1jkowELW996w0inEbuMlvZsXfYQ== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 402592f5-4b83-4687-335a-08dbbd8db0c5 X-MS-Exchange-CrossTenant-AuthSource: PH0PR13MB5568.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2023 06:07:26.0428 (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: TLWNYLVyd3VtF+XTvwsp0206rTCCgJVeqqcF64LFTqXV2jqVYD2Hju+wBC9xyy5xrcX5oxc/K0/qHYC4t0dkG8wqSeEFJ+rDWesHor6rkMI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR13MB5080 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 From: Shihong Wang Add general use per-vNIC mailbox area and use it for IPsec SA offload support and get Rx/Tx packet statistics. Signed-off-by: Shihong Wang Signed-off-by: Chang Miao Reviewed-by: Chaoyong He --- drivers/net/nfp/nfp_common.c | 41 ++++++++++++++++++++++++++++++++++++ drivers/net/nfp/nfp_common.h | 1 + drivers/net/nfp/nfp_ctrl.h | 6 ++++++ 3 files changed, 48 insertions(+) diff --git a/drivers/net/nfp/nfp_common.c b/drivers/net/nfp/nfp_common.c index 40027dbdfc..31dab3ae9b 100644 --- a/drivers/net/nfp/nfp_common.c +++ b/drivers/net/nfp/nfp_common.c @@ -320,6 +320,47 @@ nfp_net_ext_reconfig(struct nfp_net_hw *hw, uint32_t ctrl_ext, uint32_t update) return 0; } +/** + * Reconfigure the firmware via the mailbox + * + * @param hw + * Device to reconfigure + * @param mbox_cmd + * The value for the mailbox command + * + * @return + * - (0) if OK to reconfigure by the mailbox. + * - (-EIO) if I/O err and fail to reconfigure by the mailbox + */ +int +nfp_net_mbox_reconfig(struct nfp_net_hw *hw, + uint32_t mbox_cmd) +{ + int ret; + uint32_t mbox; + + mbox = hw->tlv_caps.mbox_off; + + rte_spinlock_lock(&hw->reconfig_lock); + + nn_cfg_writeq(hw, mbox + NFP_NET_CFG_MBOX_SIMPLE_CMD, mbox_cmd); + nn_cfg_writel(hw, NFP_NET_CFG_UPDATE, NFP_NET_CFG_UPDATE_MBOX); + + rte_wmb(); + + ret = __nfp_net_reconfig(hw, NFP_NET_CFG_UPDATE_MBOX); + + rte_spinlock_unlock(&hw->reconfig_lock); + + if (ret != 0) { + PMD_DRV_LOG(ERR, "Error nft net mailbox reconfig: mbox=%#08x update=%#08x", + mbox_cmd, NFP_NET_CFG_UPDATE_MBOX); + return -EIO; + } + + return nn_cfg_readl(hw, mbox + NFP_NET_CFG_MBOX_SIMPLE_RET); +} + /* * Configure an Ethernet device. This function must be invoked first * before any other function in the Ethernet API. This function can diff --git a/drivers/net/nfp/nfp_common.h b/drivers/net/nfp/nfp_common.h index 4a19c18466..64f0af94c1 100644 --- a/drivers/net/nfp/nfp_common.h +++ b/drivers/net/nfp/nfp_common.h @@ -335,6 +335,7 @@ nfp_qcp_queue_offset(const struct nfp_dev_info *dev_info, /* Prototypes for common NFP functions */ int nfp_net_reconfig(struct nfp_net_hw *hw, uint32_t ctrl, uint32_t update); int nfp_net_ext_reconfig(struct nfp_net_hw *hw, uint32_t ctrl_ext, uint32_t update); +int nfp_net_mbox_reconfig(struct nfp_net_hw *hw, uint32_t mbox_cmd); int nfp_net_configure(struct rte_eth_dev *dev); int nfp_net_common_init(struct rte_pci_device *pci_dev, struct nfp_net_hw *hw); void nfp_net_log_device_information(const struct nfp_net_hw *hw); diff --git a/drivers/net/nfp/nfp_ctrl.h b/drivers/net/nfp/nfp_ctrl.h index 80a4196bea..d539846d02 100644 --- a/drivers/net/nfp/nfp_ctrl.h +++ b/drivers/net/nfp/nfp_ctrl.h @@ -123,6 +123,7 @@ #define NFP_NET_CFG_UPDATE_IRQMOD (0x1 << 8) /* IRQ mod change */ #define NFP_NET_CFG_UPDATE_VXLAN (0x1 << 9) /* VXLAN port change */ #define NFP_NET_CFG_UPDATE_MACADDR (0x1 << 11) /* MAC address change */ +#define NFP_NET_CFG_UPDATE_MBOX (0x1 << 12) /**< Mailbox update */ #define NFP_NET_CFG_UPDATE_ERR (0x1U << 31) /* A error occurred */ #define NFP_NET_CFG_TXRS_ENABLE 0x0008 #define NFP_NET_CFG_RXRS_ENABLE 0x0010 @@ -447,6 +448,11 @@ struct nfp_net_fw_ver { #define NFP_NET_CFG_MBOX_BASE 0x1800 #define NFP_NET_CFG_MBOX_VAL 0x1808 #define NFP_NET_CFG_MBOX_VAL_MAX_SZ 0x1F8 +#define NFP_NET_CFG_MBOX_SIMPLE_CMD 0x0 +#define NFP_NET_CFG_MBOX_SIMPLE_RET 0x4 +#define NFP_NET_CFG_MBOX_SIMPLE_VAL 0x8 + +#define NFP_NET_CFG_MBOX_CMD_IPSEC 3 /* * TLV capabilities