From patchwork Mon Jan 30 06:04:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ratheesh Kannoth X-Patchwork-Id: 50143 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp2032037wrn; Sun, 29 Jan 2023 22:21:47 -0800 (PST) X-Google-Smtp-Source: AMrXdXtjp0tDAEthGoEVuma+qUOApPwzQFbO6zLbGwDbbVQZHbvtwNf+qg6G8nVLpUYtUPb5fymO X-Received: by 2002:a17:90a:f605:b0:229:9aac:abb6 with SMTP id bw5-20020a17090af60500b002299aacabb6mr50871575pjb.47.1675059707062; Sun, 29 Jan 2023 22:21:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675059707; cv=none; d=google.com; s=arc-20160816; b=qhX8zO7+kNcpo//jL0rk3YKYvsvmycoQrtkBMhcvZ2dnTar0Pgxxw8TNmlk7B5a+vM OhJHy5XG475t3aLH3rEK8RbtI2XhkV+1nM1p1wGOunO6kq9NMmvqii0+bHgTlfxtQHhy Sh7O35qX85l7tP1oFYFNAeMjfOFwwJSn0XCC8ahgJCkfHQy1WSyEOiTgBIAGhFCLMGTP qofcKPy+2BngoPdYf3wbUArlmj9i1rb7jinir5me/r51/xFNHqxe8Au/79QVJ/+jusGX OGpnvCF7r+qgpp4WILe38Yi8hK2fa5DQekAepBsAUmcvq51mXrj94Lgbshq62BekrsOt jy9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=kYVlg7M+LyeBMeTAwgARgGcLkO+r3DovFFIobZHuQK8=; b=z3o32aXx5u9ikb4jjYT/o9NRBgZhOSQBsVCDXqy3QN2N6my3DUbD089rUqBnSqYV/o MTrthxtk0UeYtSlJxvgMjofIYuiFLB26OiAsnYPG3umkSGdnpIBX0jKXshmj7UK/SL2N mGrGexp/odVdFiDlXxOyGA8Aa6J9BkXVrIaeL0HQBRAThmoHuBztJY1aGvTS+of0PGSr 7clI4F/3gJtbQkihZBYxSDGCFIcFZduHyjQ3RPBzu6rvBKC52I7XduUFpn6hN2LW3OL7 tO75PB0MRNjVFDyB6zudix6KD4JBeueqoRFZ8hWIf52NdBFzVv8vReCjKfLB1fY5ffFY jrZA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@marvell.com header.s=pfpt0220 header.b=GyaxQnW2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=REJECT dis=NONE) header.from=marvell.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a30-20020a63705e000000b004cf7904ba5csi3983319pgn.243.2023.01.29.22.21.34; Sun, 29 Jan 2023 22:21:47 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@marvell.com header.s=pfpt0220 header.b=GyaxQnW2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=REJECT dis=NONE) header.from=marvell.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235747AbjA3GFT (ORCPT + 99 others); Mon, 30 Jan 2023 01:05:19 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42678 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235741AbjA3GFQ (ORCPT ); Mon, 30 Jan 2023 01:05:16 -0500 Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C589F25E3B; Sun, 29 Jan 2023 22:05:04 -0800 (PST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 30TMjZi6001917; Sun, 29 Jan 2023 22:04:51 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=kYVlg7M+LyeBMeTAwgARgGcLkO+r3DovFFIobZHuQK8=; b=GyaxQnW2f8UtwmT/Z3e2sqsKLPhmN9DEYPOtztIBquSHsPpd5DfMJi1rn0sK9aeCTyrb D8jrxaDPr7HvqEOQwUOHW3vPM2nj32t3dz5rzx4kLl/jjqP1lHT5NiYvTLYRPE8i8cRR 1i7vrCbEaU5azwDxg4BqQoqTkxe7aZQFsI/uW8YT10/Q9gB0OsR3TqfovG40icdsRgfF kfUWdnmTd2r3eps1lfIO+n4dJvsqxwJz8zspLOpZVQxl5Z5wwFVKP/6gGKQiO0JLLOqv R/oYWs2rNsLEcGmAlwCi5mNTOAjPfYaVr5g+5o+QblP9kWkzvk6bnxrxwmozU/Rc2uMH LA== Received: from dc5-exch02.marvell.com ([199.233.59.182]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3nd442fcxf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sun, 29 Jan 2023 22:04:51 -0800 Received: from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Sun, 29 Jan 2023 22:04:49 -0800 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.42 via Frontend Transport; Sun, 29 Jan 2023 22:04:49 -0800 Received: from localhost.localdomain (unknown [10.28.36.165]) by maili.marvell.com (Postfix) with ESMTP id DA3D83F705F; Sun, 29 Jan 2023 22:04:46 -0800 (PST) From: Ratheesh Kannoth To: , , , , , , CC: , Ratheesh Kannoth Subject: [net PATCH v1] octeontx2-af: Fix devlink unregister Date: Mon, 30 Jan 2023 11:34:43 +0530 Message-ID: <20230130060443.763564-1-rkannoth@marvell.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Proofpoint-GUID: iWt_V-wApo6oXHyd7meUhUUEy-2y7RPM X-Proofpoint-ORIG-GUID: iWt_V-wApo6oXHyd7meUhUUEy-2y7RPM X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.122.1 definitions=2023-01-30_04,2023-01-27_01,2022-06-22_01 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE, SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756427407515451915?= X-GMAIL-MSGID: =?utf-8?q?1756427407515451915?= Exact match devlink entry is only for CN10K-B. Unregistration devlink should subtract this entry before invoking devlink unregistration Fixes: 87e4ea29b030 ("octeontx2-af: Debugsfs support for exact match.") Signed-off-by: Ratheesh Kannoth --- .../marvell/octeontx2/af/rvu_devlink.c | 37 ++++++++++++++----- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_devlink.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_devlink.c index bda1a6fa2ec4..4950eb13a79f 100644 --- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_devlink.c +++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_devlink.c @@ -1500,6 +1500,9 @@ static const struct devlink_param rvu_af_dl_params[] = { BIT(DEVLINK_PARAM_CMODE_RUNTIME), rvu_af_dl_dwrr_mtu_get, rvu_af_dl_dwrr_mtu_set, rvu_af_dl_dwrr_mtu_validate), +}; + +static const struct devlink_param rvu_af_dl_param_exact_match[] = { DEVLINK_PARAM_DRIVER(RVU_AF_DEVLINK_PARAM_ID_NPC_EXACT_FEATURE_DISABLE, "npc_exact_feature_disable", DEVLINK_PARAM_TYPE_STRING, BIT(DEVLINK_PARAM_CMODE_RUNTIME), @@ -1556,7 +1559,6 @@ int rvu_register_dl(struct rvu *rvu) { struct rvu_devlink *rvu_dl; struct devlink *dl; - size_t size; int err; dl = devlink_alloc(&rvu_devlink_ops, sizeof(struct rvu_devlink), @@ -1578,18 +1580,29 @@ int rvu_register_dl(struct rvu *rvu) goto err_dl_health; } - /* Register exact match devlink only for CN10K-B */ - size = ARRAY_SIZE(rvu_af_dl_params); - if (!rvu_npc_exact_has_match_table(rvu)) - size -= 1; - - err = devlink_params_register(dl, rvu_af_dl_params, size); + err = devlink_params_register(dl, rvu_af_dl_params, ARRAY_SIZE(rvu_af_dl_params)); if (err) { dev_err(rvu->dev, "devlink params register failed with error %d", err); goto err_dl_health; } + /* Register exact match devlink only for CN10K-B */ + if (!rvu_npc_exact_has_match_table(rvu)) + goto done; + + err = devlink_params_register(dl, rvu_af_dl_param_exact_match, + ARRAY_SIZE(rvu_af_dl_param_exact_match)); + if (!err) + goto done; + + dev_err(rvu->dev, + "devlink exact match params register failed with error %d", err); + + devlink_params_unregister(dl, rvu_af_dl_params, ARRAY_SIZE(rvu_af_dl_params)); + goto err_dl_health; + +done: devlink_register(dl); return 0; @@ -1605,8 +1618,14 @@ void rvu_unregister_dl(struct rvu *rvu) struct devlink *dl = rvu_dl->dl; devlink_unregister(dl); - devlink_params_unregister(dl, rvu_af_dl_params, - ARRAY_SIZE(rvu_af_dl_params)); + + devlink_params_unregister(dl, rvu_af_dl_params, ARRAY_SIZE(rvu_af_dl_params)); + + /* Unregister exact match devlink only for CN10K-B */ + if (rvu_npc_exact_has_match_table(rvu)) + devlink_params_unregister(dl, rvu_af_dl_param_exact_match, + ARRAY_SIZE(rvu_af_dl_param_exact_match)); + rvu_health_reporters_destroy(rvu); devlink_free(dl); }