From patchwork Thu Aug 24 11:09:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 130720 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 766C3430EF; Thu, 24 Aug 2023 13:13:16 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E610B432C0; Thu, 24 Aug 2023 13:11:20 +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 181F9432B1 for ; Thu, 24 Aug 2023 13:11:18 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V2cfTH/NprlcEvvS3uGiRDfYCS1s+3DMAaRDlAw6dM9rrQKBe/yDpACDrpBmSg4YbbrtQPAvw2mdq6r84Sey4NdANpf6HuJCwE3b3UgpWBY5wMrlFRmr/TJSeSAGG00NgSw4YaHtQKr1dNnPkbXqOyEOpoW0HN+cOeZ3/Ftm8CTXzdQRGy4zgvHGC7bGe4469VMj5q6LSy+cKv3Lb64T3lFNuSpPGaL02yY35NOu69WbSarqr+gFZLUdm2dJG76ekKzBBx6Kv33GYa2Eibnn2ErZSKAS6cUxgl3BtzDQu2IrXwurJUzlqO4ZtYgq/m6f4q6YiVryyXLBiPPZhto44g== 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=gHMGDfIF2r46rjzHG3AzK2tuXj1arjm8akUJtC6F8shYJlkOUTAhiqU9T22AcTfsgKaQ7i6dkfa5+gPr0nyL1pnHSq8VkfbaTmlUiYaTK+IASH+09+aZrWQIJDHC8YAuT0YSr6xFRpJtYnrtTbhgrx+zCfjRZjyOwPkwVPJiOZEGLgk+8qMIJl4g7zj/70BB32r1dVpaR9BUQZmkSeZyKe1XqlztgficK864I7L0Zt4AQUP/eUVcFyeJfxRRdSYhTQ5BZOGVQRm96yCDKk0B3fvTSvErCr3AMatlgedYS0Mr9+UJjast0lbyP2nGkjLFG3aDG6pn0FWQ84xsvW8hhw== 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=t2CY/wp5VPPh8cfswEBpYVfqeifBsdDYQ4gADVm04G6dMtchSVkDQZ0v9CsAFTFi2R6yj+W1ddjyMDfsgjIS5B28Ttk3ImBQTjExgM+GgbM7xUPpUMdImc9vORtSTaSUPVkAgxxmi7DlhO9WUgxDi7PDFwbJvcd8HUAIAtreRtQ= 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 PH7PR13MB6116.namprd13.prod.outlook.com (2603:10b6:510:2b7::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Thu, 24 Aug 2023 11:11:16 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::51fe:5846:af8b:bace]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::51fe:5846:af8b:bace%3]) with mapi id 15.20.6699.020; Thu, 24 Aug 2023 11:11:16 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, niklas.soderlund@corigine.com, Chaoyong He Subject: [PATCH 17/27] net/nfp: refact the target module Date: Thu, 24 Aug 2023 19:09:46 +0800 Message-Id: <20230824110956.1943559-18-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230824110956.1943559-1-chaoyong.he@corigine.com> References: <20230824110956.1943559-1-chaoyong.he@corigine.com> X-ClientProxiedBy: SJ0PR05CA0005.namprd05.prod.outlook.com (2603:10b6:a03:33b::10) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|PH7PR13MB6116:EE_ X-MS-Office365-Filtering-Correlation-Id: e9f52614-6f93-4ff1-45e6-08dba492d5c5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vJM3aBccokdaHaEq8zp6TeYbnxZ6t0H1Xtc4iPc42pQiCxXX2uJJTgvlePS4JGUt6mp1JNVdiM6WR4RWwIleNtCuzfnVzNa7Vse2UvTSr+1kRZr5f8YNNmIkm0w/YCO334Z2h40BptQxXDZr6rl23HI4GKBxAaj9BbbvIoFRZ6MjAlE7IPD/7bCKhmXOVZtmqAKbug8TcC2iV0xSe5IW5xD+2/dDuQYIsKkOFPkFCXefMQ5qSo5b9A1fkY3+RH+X7HicGZRiRf0FjDmaoR3VTXfJ/YUbPLtf/uG+QrmxpkkBU3hoWGPq8fZxwSm/SLIu1vVCwVOAtQqjhJJHM3KBUZpSwXyCcC00j/DDeMIcrpaQk0ZIBUhk0PyNPEUeTr3QwaR8Uva7YoRvhcOPcslL8UHlVzc2oXOK1Epx8cx2vWiMIQj5fgR7oGV0mVzYJ62NgRo9d/RExMRb0bu6y05snTbhUtBYWvLKxzSLFsN06MTBpzWn1aGHtjEFDZh9e0/4oHDVOHegKNShBiyRf//52Du0YHuni+xJ9UNY3ATjp3dzprHqWoHmkzETBgRct6p5M/Ux7yBl7VmiR7FaCj6j14ZHsK2UWj2FwX+52wnTzWw9voStvzNPuvmrIqbtWPVMGNgkS0FxTVKXQDk5cQXZEkr2Nb5a6TTEfvbYEWXIsBj8vmFrelcwbgso+nxjopBn 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)(366004)(39830400003)(346002)(396003)(136003)(376002)(1800799009)(186009)(451199024)(6506007)(26005)(1076003)(2616005)(107886003)(52116002)(12101799020)(6512007)(66574015)(6486002)(83380400001)(38100700002)(8676002)(8936002)(36756003)(316002)(4326008)(41300700001)(2906002)(86362001)(5660300002)(44832011)(38350700002)(6666004)(6916009)(478600001)(66476007)(66946007)(66556008); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?Ps0lvRs23h4aYhIupbHZWDAUNzRl?= =?utf-8?q?deFs7EBuKF1m0gYJ291jRCEV3lkVFioWRHYFdBkeuOxL68VMv1L6R90Bq36AMXKf1?= =?utf-8?q?0OnZDBP3Y1NkuhQWdnSTmpHPsr1hR551xvATJO0rTz1kteO5Uj/83UHAJkMIFecEz?= =?utf-8?q?PxZnC0QKuArmggrVV2VyxGsYR4QObmtTF+yuvCgHgz186CbXWVuH3XSOJLjUiol9f?= =?utf-8?q?MyWe/zYUAZnw5h3mGvG9gFgAfYbNM8JaFEczDaUomFxKdLgfBTdD2anvkSbVNy2rL?= =?utf-8?q?47ZOu7++IaoLtcuulCuwuJvJqL/PKzkz+8VZSWUlkn7VEIa1mO0cGZG0rZJWbo9KK?= =?utf-8?q?5Xk97aVxhf/geE48ONb0TzukCS+jLRoP2aNzETASjWXLJD7K+mANjpER98lMkzHWv?= =?utf-8?q?Tem4XMgAEngbXenUDmle2q2GYk9QE7TinXn2l+1WbOiI1ta5gXc/AgNF0Ab3dosqb?= =?utf-8?q?jOxUVLMWHNdrKPcAo3mX3XaESANr/gBOBB+rjhCxARAR8lsoBhkA9IjVocVaz9paT?= =?utf-8?q?S4J/Z6fFhGsbRVJVyywYKHqIYWktKabhtGMu1iZZemEIEZT1aRmfc2TGseEfPWG/U?= =?utf-8?q?C9eNg85XfFPfHeRUS7tTnrywBkVwATqm9oMbogk9Yn6a6EaoIEIJOd6eZwRf9GeUH?= =?utf-8?q?ejU2TyUcpMO3PqV2AF3qCmMBDwkgamjoxktugtiNmJoI46f4YfQJmYEXrEI6Q+5Jp?= =?utf-8?q?a3v2MyM7bO9oAzdC+pu6TCwrkQeHemEZ48xDecsJ8oZ7IfkpkuMYT+lI0iPAxfCWc?= =?utf-8?q?7iRlcLCjEAAHONTnfL5G9NjhPlBADr42azfuJeagwIjzhBzZj6uwiq/ucu2QLQGY9?= =?utf-8?q?4ASLHyRnvioMUHOjr+Dtq/qRGW5QhJ/63k6XHGkRqp4254O+AAQJiKVLtqb2jqAQK?= =?utf-8?q?S2+SgI4eh4Vf514uAuL4NSMgxCVWa5SXHykjf7lk65GZXI8dCxxjwdG8n0b95Y8Ge?= =?utf-8?q?pqNPcotbYR1sYRcSTuvowG8Q11eoH9LBmIKOaSSX8PEGZtX+hqjcb6B3LDv1TTSt3?= =?utf-8?q?lSDmms4r+ZYBc4SQnfRbeK22Rt5zvNFRdv6UdAKZ44GYNlrjKj/U5FMMxTP78dpz0?= =?utf-8?q?SkXkoHSVMpC8Zmn94onRVLURAG4h2F0c+AzsIKnUlWJGW7eN2WHZj9AdSI0BenLrq?= =?utf-8?q?nXGsV/OBTV7Z8N+Q5ReoLWx9OvZTZfq7B/S6AwxnAAYLYgFEadgvUcCCBUH4yOIRG?= =?utf-8?q?7thl1dQ2KiDkNBSISIjUcbv+uD0Iqkhnh9m9w5FidZEs7n+P8yonSb2VocSTttRTl?= =?utf-8?q?mYYsYuq+OxoKck5vWpmbGf/c1eXjBivPjr0FwaUjL2QIneNRyyhMNwXaGgUX+eucu?= =?utf-8?q?/fC8ErrBpatEEiMUiShsMMgWGJCROk5O0U2FGuXh7HeBe+RfySgSL/BevqhV70MRU?= =?utf-8?q?/d3heor2vqZlYlQXaIL1lXTW/wEyj689KatvZwbywIecrsYlnSBOTZUHAansY/LOb?= =?utf-8?q?qy8xIiyRAFzryAjndH5A68U91EokqeTUBxPt3qTfjXFnWJ8o21UkmJ9H1KZVauaTk?= =?utf-8?q?R+NNe+rHe66r8pc8YDIQNa9AOxLXgbGLaA=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: e9f52614-6f93-4ff1-45e6-08dba492d5c5 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2023 11:11:16.5148 (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: vSRKpqKSwxLf8+RGsHSwl4L2L4DZkxPn4mclBm0tSpA5JUHTRwgr/093ZHYqMk3wyf4IQruu12hlz4Hocdgw19jvMAYaBAb+FDhQcYsVCO8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR13MB6116 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__ */