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 103CCA0546; Tue, 6 Apr 2021 13:42:27 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 90727140F1D; Tue, 6 Apr 2021 13:41:54 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 79210140EEB for ; Tue, 6 Apr 2021 13:41:53 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 136BePF1017492 for ; Tue, 6 Apr 2021 04:41:53 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=pfpt0220; bh=1A5iHQZUM9IOxHkyLUwvrjk5p1S5Wzja2OYb6bCkrT4=; b=gDWYgx4FYlwE5e5rnwamQb0P6r8iBy5f8/XbvkI020ujWF8guzxAULs4Egy316NDOT0M H73OjNJSaUlj2Mqs7psRfaNnJ2l1o7RbI00ryy1deNJuXzkml040HkpFbDKz/8GZQlZ7 PiMM2nj8t5JnLJeHtW7yT7ErxVzYnGIxTT3AODcySXseixko9MhOsfuamT61w93qcfaL jqNLjfxZJ7Uumt3egWS4gAJILjicsYElixeXx5RvUC2v5clAgvdyT3thru4o9p8fmsCr PrUUkByCOq5LWhqR8wD3m4Jas6pPBcWS/H71fQuzgliiR3xANAUw2T1y+vupOH3Vhrzk BA== Received: from dc5-exch02.marvell.com ([199.233.59.182]) by mx0b-0016f401.pphosted.com with ESMTP id 37redm9bdm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Tue, 06 Apr 2021 04:41:52 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 6 Apr 2021 04:41:50 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Tue, 6 Apr 2021 04:41:50 -0700 Received: from hyd1588t430.marvell.com (unknown [10.29.52.204]) by maili.marvell.com (Postfix) with ESMTP id 7B5303F7044; Tue, 6 Apr 2021 04:41:48 -0700 (PDT) From: Nithin Dabilpuram To: CC: , , , , , , Date: Tue, 6 Apr 2021 17:10:43 +0530 Message-ID: <20210406114131.25874-5-ndabilpuram@marvell.com> X-Mailer: git-send-email 2.8.4 In-Reply-To: <20210406114131.25874-1-ndabilpuram@marvell.com> References: <20210305133918.8005-1-ndabilpuram@marvell.com> <20210406114131.25874-1-ndabilpuram@marvell.com> MIME-Version: 1.0 Content-Type: text/plain X-Proofpoint-GUID: foiQZ8lnN6QuV136-0vvKhGwzyQ8Ldj7 X-Proofpoint-ORIG-GUID: foiQZ8lnN6QuV136-0vvKhGwzyQ8Ldj7 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.369, 18.0.761 definitions=2021-04-06_02:2021-04-01, 2021-04-06 signatures=0 Subject: [dpdk-dev] [PATCH v4 04/52] common/cnxk: add roc plt init callback support 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 Sender: "dev" From: Ashwin Sekhar T K Add support for registering callbacks for roc plt init. Signed-off-by: Ashwin Sekhar T K --- drivers/common/cnxk/roc_platform.c | 19 +++++++++++++++++++ drivers/common/cnxk/roc_platform.h | 4 ++++ drivers/common/cnxk/version.map | 1 + 3 files changed, 24 insertions(+) diff --git a/drivers/common/cnxk/roc_platform.c b/drivers/common/cnxk/roc_platform.c index 5baec95..3eba1a7 100644 --- a/drivers/common/cnxk/roc_platform.c +++ b/drivers/common/cnxk/roc_platform.c @@ -4,10 +4,23 @@ #include "roc_api.h" +#define ROC_PLT_INIT_CB_MAX 8 + +static int plt_init_cb_num; +static roc_plt_init_cb_t plt_init_cbs[ROC_PLT_INIT_CB_MAX]; + +void +roc_plt_init_cb_register(roc_plt_init_cb_t cb) +{ + RTE_ASSERT(plt_init_cb_num < ROC_PLT_INIT_CB_MAX); + plt_init_cbs[plt_init_cb_num++] = cb; +} + int roc_plt_init(void) { const struct rte_memzone *mz; + int i, rc; mz = rte_memzone_lookup(PLT_MODEL_MZ_NAME); if (rte_eal_process_type() == RTE_PROC_PRIMARY) { @@ -29,5 +42,11 @@ roc_plt_init(void) roc_model = mz->addr; } + for (i = 0; i < plt_init_cb_num; i++) { + rc = (*plt_init_cbs[i])(); + if (rc) + return rc; + } + return 0; } diff --git a/drivers/common/cnxk/roc_platform.h b/drivers/common/cnxk/roc_platform.h index 1d06435..b358efe 100644 --- a/drivers/common/cnxk/roc_platform.h +++ b/drivers/common/cnxk/roc_platform.h @@ -161,4 +161,8 @@ __rte_internal int roc_plt_init(void); +/* Init callbacks */ +typedef int (*roc_plt_init_cb_t)(void); +void __roc_api roc_plt_init_cb_register(roc_plt_init_cb_t cb); + #endif /* _ROC_PLATFORM_H_ */ diff --git a/drivers/common/cnxk/version.map b/drivers/common/cnxk/version.map index 1798b48..984feb3 100644 --- a/drivers/common/cnxk/version.map +++ b/drivers/common/cnxk/version.map @@ -4,6 +4,7 @@ INTERNAL { roc_error_msg_get; roc_model; roc_plt_init; + roc_plt_init_cb_register; local: *; }; -- 2.8.4