From patchwork Wed Aug 30 02:14:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 130855 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 07E9A41FC8; Wed, 30 Aug 2023 04:17:59 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9AA06402B7; Wed, 30 Aug 2023 04:16:01 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2125.outbound.protection.outlook.com [40.107.93.125]) by mails.dpdk.org (Postfix) with ESMTP id 65EFA402F1 for ; Wed, 30 Aug 2023 04:15:58 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VCgQLBnltxIq+Qn8A+89IkF/oJhLNPNh29eRSlHKRtUo0mtKy5MOwCBCTeh5Oeyl84D91OxhLfIIfjivrquZUdkZSzCsPPemy+XVB0cktL7meQm+W8DNA6CpOx+cSf9V/rusK6FMOkVV2SGOjhROF0vcBWDZDXuPWIz4t8F7hObV/kjBvPQwlNCDkEeyOPDwrbVz81Ht7ZULLpOxLp/eGz9+ZIvoo8dPSJ/t8XI/9wPl15rjuFX1PNboJUqltJgVbjECGI7OfQrNIsSyzbJVNiMmoLxUQPHkQBo9kJ0mQhuh9gX2u/X7fZE8JYj9EeTWZkFEFBjwOWcmkngIvNLE1w== 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=OFe1jHNufXkHcFcKm+we3D7ZENaWQkw9XRHNjnPZwTU=; b=NueLjKvxksxknOYMWRbp5QmVsea3lFj+46kx1aXfXukIzTrtof7h9s2O2rnwZihIkc083d93+IezXHjdxT/gJ/TCAYqB2jtKUJZV3DEGh9XtVhyD8WdXg38Zchjq6/tYcA9kZFFvvgHqanNDwsH4oJSHXXFY8VKZVOjrvKw5ZhqdpsIPMpPG1CYs/khvhFI64pFnfgavRhsaHVE3GoSX9jtL46mt89Isr2zQEHYHhxixMJSlcPyRv4emgbYVenyA51DAOIzoBppdVYh8AmKfIqMROYhALaQ69H3RK1ASqImFwtdBLKT1lwWMAQjbbnws1AqhIgyKw6kxWEkHVT9vmw== 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=OFe1jHNufXkHcFcKm+we3D7ZENaWQkw9XRHNjnPZwTU=; b=NRkQVkZZKsq/Fokm0q106MGEX2L6XyCA3b4IZ7mkslqV7yvqRfmRhPinzqn9PSUHmSBps7wFHLs5610Ny21+Cq/6KgxrAfzd7dsH1yVAfZv5Yd5u9v8rS+nLS9KKIVWmyWTF+pIZywnOIvnxZcSMwe8302C5xKtNIYy+M4GBraQ= 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 DM6PR13MB3786.namprd13.prod.outlook.com (2603:10b6:5:229::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.18; Wed, 30 Aug 2023 02:15:57 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::c0f3:c2cc:b5bb:4192]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::c0f3:c2cc:b5bb:4192%4]) with mapi id 15.20.6699.034; Wed, 30 Aug 2023 02:15:57 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, niklas.soderlund@corigine.com, Chaoyong He Subject: [PATCH v2 17/27] net/nfp: refact the target module Date: Wed, 30 Aug 2023 10:14:47 +0800 Message-Id: <20230830021457.2064750-18-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230830021457.2064750-1-chaoyong.he@corigine.com> References: <20230824110956.1943559-1-chaoyong.he@corigine.com> <20230830021457.2064750-1-chaoyong.he@corigine.com> X-ClientProxiedBy: PH0PR07CA0113.namprd07.prod.outlook.com (2603:10b6:510:4::28) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|DM6PR13MB3786:EE_ X-MS-Office365-Filtering-Correlation-Id: db9f7ccf-eb3a-4efa-d248-08dba8ff0b7e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FyFV5vhsGq9MLrT86c2OjVHu5J8bGwBZ+Y7cOpLDo5J0ef/G52Bs4NcSyhWL2TY7g40QPDUMMBvRjb6Af/Qp1mKScUOQ3fgTbaYGXwmzYsaw25UaVmrJijYdec2wPi7W4mxWnZy8AW5gpSBAaQMkhDCiRyp8g7MlGP+5hpTa8aD6QLm39d7G3DCCz41/7Tsuexpl7MOlXX2j0HnyAlLMrI6Bf+P6Xl1sKeY9UZ+SprcxyZ2SJN1d5pELH+foqSxwPJ6q7INYt9I22w37YUVIoeOZ5opWxJtHqE5Qzni3vLIj/Ps1v4CKB/oVyPd59DYred8xzQA4/vWQxojMy+SUOZTLXtth6iZF28KkcPAwEG2CMza2PBNyddnuMa6cfmxhcZl3w/PEznh+nQ3TtmZ1OD3Tgk26+OG/Kn7vco38Sr57s5kAepNTnlO9p9NjW3nw8oY5LyCnArqj6JmkeU84VeQCbsGdZJ7rjxmA1c9pRxlWn37+XEBDu12w0ZUyBKdFMB32Ha11BgfNLQpMJuQ/nPhmPUxTaBG96T53K38SSu00WFirE1yKfYWasky3pYQyL3lkUplMrScU5CQCL9OZ2NIRewKjsY/9b3hTVVofJ4SYpB4sGydQ86ltJTFAGTA1hRJ3B8EGIs/ActrJB7QNctnaYfRlHgCdYBZeuHkb56I= 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)(136003)(366004)(376002)(346002)(396003)(39830400003)(451199024)(186009)(1800799009)(6512007)(6916009)(316002)(38100700002)(41300700001)(38350700002)(2906002)(4326008)(66574015)(83380400001)(2616005)(86362001)(44832011)(26005)(36756003)(1076003)(8676002)(5660300002)(107886003)(8936002)(6666004)(6506007)(6486002)(66556008)(66946007)(66476007)(52116002)(478600001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?X5gEzpfm9kZYzvfj8/8Z754FK+JC?= =?utf-8?q?AvDzahqvk6U4YILWUgO1hEnjqgEAEef50OcbwH1bgx6pnb0KqHTIxfGw3Xn4UbyF3?= =?utf-8?q?KaJ0n23VX0TSCYG+DlbnuW/g4d4CKMzTbsFuSZwLswplsAxOF3N+bRn/cUl6Pnm9f?= =?utf-8?q?XY02XbLMaHBzO9KvZCeS9MHtJrSplj1SwKpC1sfCfIdOfQyFVbv2SdZ8ywmawg5XG?= =?utf-8?q?+QUlCB3Q1TqNVO6GpNgp6hI1yE0j4VunrjUxYthSfRG9RIFe884IgABMm2iFIBFRn?= =?utf-8?q?+OacHo5I96DbJZfmKiGS6G3djXYhW5Agcd0q8/uf+KGEYetIw24rT4M47kEto5F7P?= =?utf-8?q?CHsmmY5UnADyvuEB3W7faNId3ESBqMOKtpIq5c+CBNk6DrfCLvZYtM3m3QW06z4Up?= =?utf-8?q?Gmlvsol1MDvQ+yma9oU8OGbofqvhw7motJvuV73R35/xpYYhwVwGOzuKZcphUZyg1?= =?utf-8?q?TEgnJvEoMo8//Na7hyTHqiinj+PdMvxxkAhF0NNzvnnM/kzpAj/qubmMtoAahs+Iv?= =?utf-8?q?hiFcr/KqJzc1JiyRizEVJpbRflSBsXpMStssjOiNCduTz4B5mcLtQg9aMWRp9uPN7?= =?utf-8?q?0BLQC8neOw2xXgr+XnUHAyLfZWbB5xul9xvpdC6rtC/0vuxhX3BBuJVtj7207XvSf?= =?utf-8?q?Dz0vo2xpqJFjJ4/SAnRmelUYR3H63noYHR2dmYkuEGxV0EG1gcO1yzq2E/OTylvis?= =?utf-8?q?Qlw966eHAm/c6t8EGI9tJz+sN2gPQKsnb4sqCe14ycYGXunITLBq4I/+7BOCi1sWz?= =?utf-8?q?P1TqPZlvcJy+lILWWEhGLyiFhmoJw0PADiPckWULgmb3nPB+AqtF6NOhwhBn43KG1?= =?utf-8?q?WWiwnECloFvAK4GgGajr3mdFtZ29V6ZykfwoED4DMde9AKoUnXOS7wmgDuePOLrf3?= =?utf-8?q?/DjaCvekQLbdIR4gG6lN+VTbiDn4WhRPb55HBBtp+1UBoeElFlNFe1Kc+D/q7pbGp?= =?utf-8?q?iv89Aop5FXhylMnSu2WtIkATDNi5MQwxCGeBO61HReuJF3mRn9bQ9/wKltSxKqcUL?= =?utf-8?q?zvpbPzxyV8CJ+5ymplFkqA6iPH3S4b+jAYHq8jV24j/dI73HXejR4TaVtQSX5GXBX?= =?utf-8?q?igRrYpRR6CBexeWkbuRGas8rBgUHjwdInEzAHfmy2RaCiP9tENW0pul/C5FbcgDDq?= =?utf-8?q?aeTEWITPOCTelYtlCe/mAGKkhMtJ+QkJEFtrnPH5X0bmXOIxXin37uHP1m++cVJQ1?= =?utf-8?q?ElZ0VyJWqDs/ZMy8FlbckVyMncnmykvJW/m75SmrycDdNIR+SErBRGSAvYCY6YsSz?= =?utf-8?q?0tx+11xTQBAI1UZ9Fi+5Ye436Ai0Cz/AUTtne7eC6dLvJYL9w7Yeb2Tphs5lCV3PH?= =?utf-8?q?v3DP4XlQMFtAYPrbKajPmJ2rE2gIbJSW3PbxnuRPlDjw2IHcGeXUe++j+ZJj1KvBn?= =?utf-8?q?OFYLV49YSqfW+3bGJ1Fjdk7DqX70+t9SM9+PjLsaKsa4lAFvyj/XRiPNCHAiAE5ea?= =?utf-8?q?BAJXZYchodEmf/XvrHwmolE8pglfYc+XYHhPj3q0wIb48hZ2GEwo/Jy1YBObWzLJO?= =?utf-8?q?WHMPzrBJ5sHNhucsgKHD0tSNzDYtUFWr0w=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: db9f7ccf-eb3a-4efa-d248-08dba8ff0b7e X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 02:15:56.9460 (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: 6GhIEJR/VZ8puiPsakOedRLr1qyy+iCjKihm0ClWUPUkDMbMkj29b4Zcr9kBxzJtoeu2W8y8FSS/qVGyzVKIRl2pef4gVA89/EQ30anU1Ms= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR13MB3786 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 the function declaration into the header file, and sync some logic from kernel driver. Signed-off-by: Chaoyong He Reviewed-by: Niklas Söderlund --- drivers/net/nfp/nfpcore/nfp6000/nfp6000.h | 20 -------------------- drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c | 1 + drivers/net/nfp/nfpcore/nfp_cppcore.c | 1 + drivers/net/nfp/nfpcore/nfp_mutex.c | 2 +- drivers/net/nfp/nfpcore/nfp_nsp_eth.c | 1 - drivers/net/nfp/nfpcore/nfp_resource.c | 2 +- drivers/net/nfp/nfpcore/nfp_rtsym.c | 1 + drivers/net/nfp/nfpcore/nfp_target.c | 7 ++++--- drivers/net/nfp/nfpcore/nfp_target.h | 22 ++++++++++++++++++++++ 9 files changed, 31 insertions(+), 26 deletions(-) diff --git a/drivers/net/nfp/nfpcore/nfp6000/nfp6000.h b/drivers/net/nfp/nfpcore/nfp6000/nfp6000.h index efaa87c0e5..4c9ac017cc 100644 --- a/drivers/net/nfp/nfpcore/nfp6000/nfp6000.h +++ b/drivers/net/nfp/nfpcore/nfp6000/nfp6000.h @@ -6,21 +6,6 @@ #ifndef __NFP_NFP6000_H__ #define __NFP_NFP6000_H__ -/* CPP Target IDs */ -#define NFP_CPP_TARGET_INVALID 0 -#define NFP_CPP_TARGET_NBI 1 -#define NFP_CPP_TARGET_QDR 2 -#define NFP_CPP_TARGET_ILA 6 -#define NFP_CPP_TARGET_MU 7 -#define NFP_CPP_TARGET_PCIE 9 -#define NFP_CPP_TARGET_ARM 10 -#define NFP_CPP_TARGET_CRYPTO 12 -#define NFP_CPP_TARGET_ISLAND_XPB 14 /* Shared with CAP */ -#define NFP_CPP_TARGET_ISLAND_CAP 14 /* Shared with XPB */ -#define NFP_CPP_TARGET_CT_XPB 14 -#define NFP_CPP_TARGET_LOCAL_SCRATCH 15 -#define NFP_CPP_TARGET_CLS NFP_CPP_TARGET_LOCAL_SCRATCH - #define NFP_ISL_EMEM0 24 #define NFP_MU_ADDR_ACCESS_TYPE_MASK 3ULL @@ -52,9 +37,4 @@ nfp_cppat_mu_locality_lsb(int mode, int addr40) } } -int nfp_target_pushpull(uint32_t cpp_id, uint64_t address); -int nfp_target_cpp(uint32_t cpp_island_id, uint64_t cpp_island_address, - uint32_t *cpp_target_id, uint64_t *cpp_target_address, - const uint32_t *imb_table); - #endif /* NFP_NFP6000_H */ diff --git a/drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c b/drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c index db15411eb2..310cc691cd 100644 --- a/drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c +++ b/drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c @@ -34,6 +34,7 @@ #include "nfp_cpp.h" #include "nfp_logs.h" +#include "nfp_target.h" #include "nfp6000/nfp6000.h" #include "../nfp_logs.h" diff --git a/drivers/net/nfp/nfpcore/nfp_cppcore.c b/drivers/net/nfp/nfpcore/nfp_cppcore.c index d8e57b9075..f33985bec6 100644 --- a/drivers/net/nfp/nfpcore/nfp_cppcore.c +++ b/drivers/net/nfp/nfpcore/nfp_cppcore.c @@ -16,6 +16,7 @@ #include "nfp_cpp.h" #include "nfp_logs.h" +#include "nfp_target.h" #include "nfp6000/nfp6000.h" #include "nfp6000/nfp_xpb.h" #include "nfp_nffw.h" diff --git a/drivers/net/nfp/nfpcore/nfp_mutex.c b/drivers/net/nfp/nfpcore/nfp_mutex.c index 85c33502ca..87a9351ff9 100644 --- a/drivers/net/nfp/nfpcore/nfp_mutex.c +++ b/drivers/net/nfp/nfpcore/nfp_mutex.c @@ -9,7 +9,7 @@ #include "nfp_cpp.h" #include "nfp_logs.h" -#include "nfp6000/nfp6000.h" +#include "nfp_target.h" #define MUTEX_LOCKED(interface) ((((uint32_t)(interface)) << 16) | 0x000f) #define MUTEX_UNLOCK(interface) (0 | 0x0000) diff --git a/drivers/net/nfp/nfpcore/nfp_nsp_eth.c b/drivers/net/nfp/nfpcore/nfp_nsp_eth.c index eea5cde426..dbabffea9c 100644 --- a/drivers/net/nfp/nfpcore/nfp_nsp_eth.c +++ b/drivers/net/nfp/nfpcore/nfp_nsp_eth.c @@ -9,7 +9,6 @@ #include "nfp_cpp.h" #include "nfp_logs.h" #include "nfp_nsp.h" -#include "nfp6000/nfp6000.h" #define NSP_ETH_NBI_PORT_COUNT 24 #define NSP_ETH_MAX_COUNT (2 * NSP_ETH_NBI_PORT_COUNT) diff --git a/drivers/net/nfp/nfpcore/nfp_resource.c b/drivers/net/nfp/nfpcore/nfp_resource.c index e4a3a42eea..ee987c4438 100644 --- a/drivers/net/nfp/nfpcore/nfp_resource.c +++ b/drivers/net/nfp/nfpcore/nfp_resource.c @@ -7,7 +7,7 @@ #include "nfp_crc.h" #include "nfp_logs.h" -#include "nfp6000/nfp6000.h" +#include "nfp_target.h" #define NFP_RESOURCE_TBL_TARGET NFP_CPP_TARGET_MU #define NFP_RESOURCE_TBL_BASE 0x8100000000ULL diff --git a/drivers/net/nfp/nfpcore/nfp_rtsym.c b/drivers/net/nfp/nfpcore/nfp_rtsym.c index 2d4100dda2..022753f98a 100644 --- a/drivers/net/nfp/nfpcore/nfp_rtsym.c +++ b/drivers/net/nfp/nfpcore/nfp_rtsym.c @@ -14,6 +14,7 @@ #include "nfp_logs.h" #include "nfp_mip.h" +#include "nfp_target.h" #include "nfp6000/nfp6000.h" enum nfp_rtsym_type { diff --git a/drivers/net/nfp/nfpcore/nfp_target.c b/drivers/net/nfp/nfpcore/nfp_target.c index 540b242a43..ecb45f7928 100644 --- a/drivers/net/nfp/nfpcore/nfp_target.c +++ b/drivers/net/nfp/nfpcore/nfp_target.c @@ -3,6 +3,8 @@ * All rights reserved. */ +#include "nfp_target.h" + #include "nfp_cpp.h" #include "nfp6000/nfp6000.h" @@ -315,8 +317,7 @@ nfp6000_mu(uint32_t cpp_id, } else if (island == 1 || (island >= 4 && island <= 7) || (island >= 12 && island <= 13) || - (island >= 32 && island <= 47) || - (island >= 48 && island <= 51)) { + (island >= 32 && island <= 51)) { pp = nfp6000_mu_ctm(cpp_id); } else { pp = -EINVAL; @@ -510,7 +511,7 @@ nfp_target_pushpull(uint32_t cpp_id, return nfp6000_cap_xpb(cpp_id); case NFP_CPP_TARGET_CLS: return nfp6000_cls(cpp_id); - case 0: + case NFP_CPP_TARGET_INVALID: return target_rw(cpp_id, P32, 4, 4); default: return -EINVAL; diff --git a/drivers/net/nfp/nfpcore/nfp_target.h b/drivers/net/nfp/nfpcore/nfp_target.h index 2a2f083914..47527b4040 100644 --- a/drivers/net/nfp/nfpcore/nfp_target.h +++ b/drivers/net/nfp/nfpcore/nfp_target.h @@ -6,4 +6,26 @@ #ifndef __NFP_TARGET_H__ #define __NFP_TARGET_H__ +#include + +/* CPP Target IDs */ +#define NFP_CPP_TARGET_INVALID 0 +#define NFP_CPP_TARGET_NBI 1 +#define NFP_CPP_TARGET_QDR 2 +#define NFP_CPP_TARGET_ILA 6 +#define NFP_CPP_TARGET_MU 7 +#define NFP_CPP_TARGET_PCIE 9 +#define NFP_CPP_TARGET_ARM 10 +#define NFP_CPP_TARGET_CRYPTO 12 +#define NFP_CPP_TARGET_ISLAND_XPB 14 /* Shared with CAP */ +#define NFP_CPP_TARGET_ISLAND_CAP 14 /* Shared with XPB */ +#define NFP_CPP_TARGET_CT_XPB 14 +#define NFP_CPP_TARGET_LOCAL_SCRATCH 15 +#define NFP_CPP_TARGET_CLS NFP_CPP_TARGET_LOCAL_SCRATCH + +int nfp_target_pushpull(uint32_t cpp_id, uint64_t address); +int nfp_target_cpp(uint32_t cpp_island_id, uint64_t cpp_island_address, + uint32_t *cpp_target_id, uint64_t *cpp_target_address, + const uint32_t *imb_table); + #endif /* __NFP_TARGET_H__ */