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 7E720A0546; Tue, 6 Apr 2021 16:42:42 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 55ED714102A; Tue, 6 Apr 2021 16:42:09 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 11976141012 for ; Tue, 6 Apr 2021 16:42:07 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 136Ee7dM000967 for ; Tue, 6 Apr 2021 07:42:07 -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=7uxMet4YkubnQyLNgDCS95n2Ej+U3I1bVbjSKXJ/pqo=; b=eQgEbnWCNTaZ2Hug5Cy9uV/QazV84qwzs0VPl/UvFpVFc/BbEFzTeBwYQoRI0pbwkqGn ecZ1RsqJth4gYdEr7bpzKC5XcVNC0o/f7HxMX635BHWcVGvI/wUV5MMVy8qoo/RvJjVb eIqkpSjG0KMWZsAJGyuJehzPE4RSY5dqgbdKSuvZ1UlHvudQ6haWjT9o3QMh+2J8fciy OKkSnaDjfCnGqG0pemm/O/i+1YjDyTTDxX5RXypymYZL/I6gdAcAopXlMjJfLfnCsgnY 6jY5E9YrDVplQuMvz5JdeK8x2bLGJsWP629My1Zd0HiewqlNggFlldjrOPtx2CI9yEa+ WA== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com with ESMTP id 37r72p30ah-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Tue, 06 Apr 2021 07:42:07 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 6 Apr 2021 07:42:05 -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 07:42:05 -0700 Received: from hyd1588t430.marvell.com (unknown [10.29.52.204]) by maili.marvell.com (Postfix) with ESMTP id 8540E3F7044; Tue, 6 Apr 2021 07:42:01 -0700 (PDT) From: Nithin Dabilpuram To: CC: , , , , , , Date: Tue, 6 Apr 2021 20:10:56 +0530 Message-ID: <20210406144144.19925-5-ndabilpuram@marvell.com> X-Mailer: git-send-email 2.8.4 In-Reply-To: <20210406144144.19925-1-ndabilpuram@marvell.com> References: <20210305133918.8005-1-ndabilpuram@marvell.com> <20210406144144.19925-1-ndabilpuram@marvell.com> MIME-Version: 1.0 Content-Type: text/plain X-Proofpoint-GUID: xVi1DnNdMlqAblaa0brCiDz6NO9QeFWH X-Proofpoint-ORIG-GUID: xVi1DnNdMlqAblaa0brCiDz6NO9QeFWH X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.369, 18.0.761 definitions=2021-04-06_03:2021-04-01, 2021-04-06 signatures=0 Subject: [dpdk-dev] [PATCH v5 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 | 22 ++++++++++++++++++++++ drivers/common/cnxk/roc_platform.h | 4 ++++ drivers/common/cnxk/version.map | 1 + 3 files changed, 27 insertions(+) diff --git a/drivers/common/cnxk/roc_platform.c b/drivers/common/cnxk/roc_platform.c index 5baec95..0aed76b 100644 --- a/drivers/common/cnxk/roc_platform.c +++ b/drivers/common/cnxk/roc_platform.c @@ -4,10 +4,26 @@ #include "roc_api.h" +#define PLT_INIT_CB_MAX 8 + +static int plt_init_cb_num; +static roc_plt_init_cb_t plt_init_cbs[PLT_INIT_CB_MAX]; + +int +roc_plt_init_cb_register(roc_plt_init_cb_t cb) +{ + if (plt_init_cb_num >= PLT_INIT_CB_MAX) + return -ERANGE; + + plt_init_cbs[plt_init_cb_num++] = cb; + return 0; +} + 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 +45,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..2987713 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); +int __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