From nobody Fri Sep 12 01:34:43 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6FD7EC7113B for ; Thu, 24 Aug 2023 08:13:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232299AbjHXIN2 (ORCPT ); Thu, 24 Aug 2023 04:13:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43138 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233520AbjHXIM4 (ORCPT ); Thu, 24 Aug 2023 04:12:56 -0400 Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 06CDD2703; Thu, 24 Aug 2023 01:11:53 -0700 (PDT) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 37NJp2KP006892; Thu, 24 Aug 2023 01:10:59 -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-transfer-encoding : content-type; s=pfpt0220; bh=bzBEdiFZRb0jxcT/TEECbiAx7DDEP3WAKgANQVDaT9g=; b=VzXABoksa23kwDXJK8gC57e/OGwnBuPCwLM6HrHTcH7rH9e8Bt4O+G0FfPxHfjgMGXwf F5ixC88OC1NKtCUflCJPr6mlnvmd1nYOkBEUWJDpqHFPXhLJ1TUgzgr3lmrPifZNmCED ipC93IOdZD7DT+0quwbyU7a699rLRgxjPBVqe/wmOxXwEp3cJxBhpPeU8kOvk0iRuepr 0LhPfU5hChKldc0+e+rN0V9a+Q5Opt7UBOf5sUiOs0U2AtMa5phE+Z5icaH7eq1QVSxq fqgzoXjtyroLn0pedhIdYUfYkphZMmQjm1bQ5SD5WvxsRq6XAL4TMJGEvdD7+oi+9PLb cA== Received: from dc5-exch02.marvell.com ([199.233.59.182]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3snrmcsv95-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Thu, 24 Aug 2023 01:10:59 -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.48; Thu, 24 Aug 2023 01:10:57 -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.48 via Frontend Transport; Thu, 24 Aug 2023 01:10:57 -0700 Received: from localhost.localdomain (unknown [10.28.36.166]) by maili.marvell.com (Postfix) with ESMTP id 3DA203F705F; Thu, 24 Aug 2023 01:10:52 -0700 (PDT) From: Suman Ghosh To: , , , , , , , , , , , , CC: Suman Ghosh Subject: [net PATCH V4 3/3] cteonxt2-pf: Fix backpressure config for multiple PFC priorities to work simultaneously Date: Thu, 24 Aug 2023 13:40:32 +0530 Message-ID: <20230824081032.436432-4-sumang@marvell.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230824081032.436432-1-sumang@marvell.com> References: <20230824081032.436432-1-sumang@marvell.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: MYFO0hS9uk6D5315y_lQ52pVFhQEx4CS X-Proofpoint-ORIG-GUID: MYFO0hS9uk6D5315y_lQ52pVFhQEx4CS X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26 definitions=2023-08-24_05,2023-08-22_01,2023-05-22_02 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" MAC (CGX or RPM) asserts backpressure at TL3 or TL2 node of the egress hierarchical scheduler tree depending on link level config done. If there are multiple PFC priorities enabled at a time and for all such flows to backoff, each priority will have to assert backpressure at different TL3/TL2 scheduler nodes and these flows will need to submit egress pkts to these nodes. Current PFC configuration has an issue where in only one backpressure scheduler node is being allocated which is resulting in only one PFC priority to work. This patch fixes this issue. Fixes: 99c969a83d82 ("octeontx2-pf: Add egress PFC support") Signed-off-by: Suman Ghosh --- drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c b/driv= ers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c index 6492749dd7c8..bfddbff7bcdf 100644 --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c @@ -70,7 +70,7 @@ static int otx2_pfc_txschq_alloc_one(struct otx2_nic *pfv= f, u8 prio) * link config level. These rest of the scheduler can be * same as hw.txschq_list. */ - for (lvl =3D 0; lvl < pfvf->hw.txschq_link_cfg_lvl; lvl++) + for (lvl =3D 0; lvl <=3D pfvf->hw.txschq_link_cfg_lvl; lvl++) req->schq[lvl] =3D 1; =20 rc =3D otx2_sync_mbox_msg(&pfvf->mbox); @@ -83,7 +83,7 @@ static int otx2_pfc_txschq_alloc_one(struct otx2_nic *pfv= f, u8 prio) return PTR_ERR(rsp); =20 /* Setup transmit scheduler list */ - for (lvl =3D 0; lvl < pfvf->hw.txschq_link_cfg_lvl; lvl++) { + for (lvl =3D 0; lvl <=3D pfvf->hw.txschq_link_cfg_lvl; lvl++) { if (!rsp->schq[lvl]) return -ENOSPC; =20 @@ -128,7 +128,7 @@ static int otx2_pfc_txschq_stop_one(struct otx2_nic *pf= vf, u8 prio) int lvl; =20 /* free PFC TLx nodes */ - for (lvl =3D 0; lvl < pfvf->hw.txschq_link_cfg_lvl; lvl++) + for (lvl =3D 0; lvl <=3D pfvf->hw.txschq_link_cfg_lvl; lvl++) otx2_txschq_free_one(pfvf, lvl, pfvf->pfc_schq_list[lvl][prio]); =20 --=20 2.25.1