From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7BCE342668; Fri, 29 Sep 2023 04:08:53 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CEA57402DE; Fri, 29 Sep 2023 04:08:40 +0200 (CEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2133.outbound.protection.outlook.com [40.107.220.133]) by mails.dpdk.org (Postfix) with ESMTP id 61FB1402BA for ; Fri, 29 Sep 2023 04:08:37 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OpDLcpO5VS7sI53wz1DkkhwAS5TBBao9Qqz0ll+CIFS+VL033JQeBXGKoP23ws6hUV4tdjBxrXTglKiNLK9ymcaNOCcLsbDbjIzXhEQTq1pZbPqEOSgy5Q3zR8rm6URwDoHuk+vqeI2SKfzUSmELGTR+5XBl/i/6RMNocLJsjuiRPeQz1F2e2UBlKD19dZBeI5otM8pip14ABA0oVYujuOpnhLjuOWjUtpHx1L6zQvEORxOf2P1HPXCc5QnGxGb3r1XHjTmHHF4eC3LGGHGTmGU+T3GH1E+1AhbTQZwqedgi/8ZKBTk+AlISaN8CGC0jNLySUlGNq534l8LacvKpvg== 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=Jr4bTj6zKg1FXAMv+g4vAKW1hAY+zQwQTPf6VKLHfes=; b=bSsDd1GRp3r0iRBgqsx72HY+bwfVL53g1nwinjEm4tQBB240z6FrsvrSGDUpJDtBkDMB4sTHgif+C5enK2AOttg1PSuai0w2yCKKAyjtTMswZc3fN1K2Pk5mQmbetiEXWOL0YdcMPR80V8jDDZMD7kbvEt128rxxauUmPM2zZw0eYmtci/KpsKHuLA1wAd0CSeTqGejVDJfQrk2QCSlKvipYir++ropjJgS+Qumcd5fC3D4P4jUUgZ7OrDkE+M39bj91M9reohsTGZqAjwWK8gvbvXLbk0EEfVp6ClRgHwFlwLZU8+3hcQ/lk9+gW7IuA0cHbs5nAf0N1VyxTGQa1Q== 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=Jr4bTj6zKg1FXAMv+g4vAKW1hAY+zQwQTPf6VKLHfes=; b=kTAGIvv76mtFCgWafn5dUC8DJcvbTyp2VO0lZ/C2mWZqUNAnXwoZImovNiRkIn2S8Rarlh1rXMgjmtwZIziQKXmbNZ8VNmMIpI7DMcosMZYsRQh8t6TTB98I9ctQ2nfsa9cYKdwBycRPh8Fa++auWqUm/YsOlvsH70vcW1r2eG4= 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 CO3PR13MB5687.namprd13.prod.outlook.com (2603:10b6:303:17a::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.19; Fri, 29 Sep 2023 02:08:35 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::28c0:63e2:ecd1:9314]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::28c0:63e2:ecd1:9314%4]) with mapi id 15.20.6813.027; Fri, 29 Sep 2023 02:08:35 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Shihong Wang , Chang Miao , Chaoyong He Subject: [PATCH v3 2/9] net/nfp: add mailbox to support IPsec offload Date: Fri, 29 Sep 2023 10:08:03 +0800 Message-Id: <20230929020810.1219391-3-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230929020810.1219391-1-chaoyong.he@corigine.com> References: <20230926024959.207098-1-chaoyong.he@corigine.com> <20230929020810.1219391-1-chaoyong.he@corigine.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: PH8PR07CA0028.namprd07.prod.outlook.com (2603:10b6:510:2cf::23) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|CO3PR13MB5687:EE_ X-MS-Office365-Filtering-Correlation-Id: b5b50040-56d9-4a05-4d09-08dbc090fcd0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1AFt7RL2zouBh4hq8fUs08txkt4fsUr7/7tarGBPN6Vy9ocPj8KgfASGSCMhlFnww+vxbYNqTIgxMOLtz8Tg4NEzILP7zkncVmvrw16Rqtbo3QdlOCHtl75vYVhdYSp2vgR0bFQ/xKvu2DmXjOjKFI4Rit8cmLxt5sgJV+bN7BWybNeljk6/DAd4KJfU8t8GsdFc78/+nb5bxhoMYS90cDoM05fUrhjCQ2ccHFvZS3Vl5qS3nS+uRaXx4VNB/pidCyDH8Q4P2yvvdxiqD3E7jH9jhRVzuXX2t+eCFPqHxEZoeUGeSzNQHEKpxRKB3TI7FQg6juDAFAvtTdim4kIiFWYFhWGA5AcEMMMvmIMBORZuFQ1azWu5HVni/M1EgY5gD531gWLrlQgIVnqb8gxNe0OA8rPIKYJ9BD9p30SEbgGgSNPioSGmV762ZLCja1babzR8hWTn7k++FDw7G6QT4oyk/H2gAJdY412spfiotOkV3JKWbIjDZS4uNkPSAx5XTI2GgXqVoedJ1iWcQFv/TrZ2uoB7pgkNAxxlx77ghfqPo/0cVBmAk2HWDHZFEt+p9hAjtzE49R+IJbSP2badkqbtPnqM5PmzuWf26OGkcyx4h6YhusngRLtsImjkuUXQvMT4gDD+HzyFcx3oGIEzICcbZP0qGAynUoSM1OfLZKY= 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:(13230031)(346002)(366004)(396003)(376002)(39830400003)(136003)(230922051799003)(451199024)(1800799009)(64100799003)(186009)(15650500001)(2906002)(6916009)(316002)(54906003)(66946007)(66556008)(66476007)(44832011)(8936002)(8676002)(4326008)(41300700001)(5660300002)(2616005)(83380400001)(107886003)(1076003)(26005)(36756003)(86362001)(38100700002)(38350700002)(52116002)(6666004)(478600001)(6486002)(6512007)(6506007); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?eH9R/pfKPFBjWJyMv/z5RBbK5t6zKNwLgk+flUg572dFHdNqLYCo+/anEf6i?= =?us-ascii?Q?pw76QaS9LlPZeFzcKHKRaEF1a2LCnCJJkf1mxnKCHy5G5yp9X8LpEYnhDeXw?= =?us-ascii?Q?Fb9zvl64grn9TvyYMg4C/wIXLtk8VEDkzwT+bB8eOTouIp67I+I4FK+B/xuP?= =?us-ascii?Q?l7+3xBhEFWaqFCR72dHyIw/YlXG7W1YW6cieWBc2HzhW3bz5OYPEt0rI/iSo?= =?us-ascii?Q?K2uCH3oLD8Tlvl6vqyRCDpgN/TmFn7JgAWSaz9fhlV5vY78vzB7y2rWK4D0J?= =?us-ascii?Q?wCYibz1XXq5PZybrpAvkQxdk8h1s54GjgSRW6i5iN57jrJ7COI/RHqgsR8rz?= =?us-ascii?Q?z9F3dwbamQ+04I8KC+579tm44r+gy4Hd+zId3y9vRnK3tueAyxd4fwYfD2Se?= =?us-ascii?Q?vsQmSzP8WKx5PWNyo7oBnvulfDtn2OiEtuygkP9jV1YDQMNaD0VAjvuN7Mzn?= =?us-ascii?Q?QBIeMqFszql3WDXXNHtfZi6x/u0NQ1YdUt+4jEKp8tNmyVD73X4sXSR376nr?= =?us-ascii?Q?F8BkcQXs9dqgsNgwMp5Ll8jv5k6qJXOdpSV2RiyRja9rJNeZLn4qjgn7Fq19?= =?us-ascii?Q?+Fm9nGqA8mucF2oaB8ZIV1Ts8cPwj2ejNfZcYwkx+hpMbeubkbZI7mkBAO+r?= =?us-ascii?Q?yaJxwqrZ0YscdmcnCa0eQzj81iNVMh+aZM6zgMTAt193I40/p3sOS9xynnyv?= =?us-ascii?Q?UcCULxijp9u+Ac+3mWO+e9EUFBDRY2+2mdjuQH11OFxZHRkl2oVtW/nVOqCx?= =?us-ascii?Q?1mEOaHjlJBRn1h028PPlmGjHRoGyGhaWuW+YaSaVfsW6DriE/e4XX/2ZtDQ4?= =?us-ascii?Q?EOxy1JRTYc+NkuCR9yPg4QlaIr0IIfpHhL/8KYluAFf8+q1sPU2anornREEr?= =?us-ascii?Q?07f9UqY7r8lRuCQi7Lto/l0h6H3OK5rSPPRASHtf7lWsZj8L2UPKJbpRUSX6?= =?us-ascii?Q?w2DYH2NmNwmRPYAbGx3jnUuTt493VtvY7CBIhGfwvV0wfCKYuDYsySI1TWW+?= =?us-ascii?Q?hgvEhAanjct0du4wpMgY/Am33mKwYdYA4PYNKECUMXHUJcz1h3BaHJtApEw7?= =?us-ascii?Q?Q1EtUVT9JMNohfE313khNKpEX4mZCSkj5XG3GwljyuzNR6+Y9dvu7ZLbhEHz?= =?us-ascii?Q?DVa2VnSVDnwELCGO8lRmKzDgtKcoNHv6KFhPSGDNnxmnFlW2IV5NxQ0jR7YD?= =?us-ascii?Q?1OkBetklBRgMEcu45ZJ/1E5EAsrSKaxbynBOHZX8worz5SqWexAv41cCh7CJ?= =?us-ascii?Q?HBdh6YWL6SwyUsWQ8a7+2piggjhI+qyym6gfM/B8nH1EfcKUf4o2lp3+ygc/?= =?us-ascii?Q?TgqIRldT0vloMHqxqLZNGLZf3q4H+giae/Dn/Uvy3XHEG08/ujPoLZPQ1rrZ?= =?us-ascii?Q?XACM9uirmcC9+ddDTZ4MUfwN+3ic35JdE//pbiiztILtx4ZmJTXOBqABotW1?= =?us-ascii?Q?pAsrq29iL2DjK4W3JS7vrzun2kME4KZqRU9X/p8nwlyYVE0haSXGoo677HKO?= =?us-ascii?Q?akRFbPq8Yz+rqUnsg5iTzrltWX1JMdXlgBhaZnYbeDgSFplzRz97W0MAmOqI?= =?us-ascii?Q?GEKo3k5UY0bEsgs47KsNIjpR86lmNz6xqcf+B0v1Wg7jhWH6Sgh9u5uiCWgn?= =?us-ascii?Q?lA=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: b5b50040-56d9-4a05-4d09-08dbc090fcd0 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Sep 2023 02:08:35.5710 (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: QeuVLn09qUMjhqe/F8rIktiDCbQR0HrmTuuwgboNG1wcakSR4eaW0z/g45imAKO3RBkg1PfaktvDwzaptA/iwFbWG3XsHF0o4akRDm5g68w= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO3PR13MB5687 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 b02475b403..6487468d81 100644 --- a/drivers/net/nfp/nfp_common.h +++ b/drivers/net/nfp/nfp_common.h @@ -331,6 +331,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 43fc9972a0..0e194538ad 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 -- 2.39.1