From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id DFA26A052A; Wed, 23 Dec 2020 10:41:26 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 880E0CA6E; Wed, 23 Dec 2020 10:41:02 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 67E832A62 for ; Wed, 23 Dec 2020 10:40:59 +0100 (CET) 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 0BN9Uib1002392 for ; Wed, 23 Dec 2020 01:40:58 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0220; bh=fScYvs7xoeJZnY/rm6sXUvCPZrjZ6Uf1mCXpc/4cVsE=; b=aFnluX+anV8VVCii54DH0eBV2hvGVfJt4rBbD9W7kFpw5z0f++eYDVgYSo4xn5UrUEjY zFCzekeA8v7K1v9KsrDjwo4OBcX74tWKJ6aUyrvNH/L61aToBRpFUPdXDWRlH2s1Ib85 KFAke761SR5Zx+HKRoabLYpeRpVuI7fEmN4scv6qGrjz5Blj4baiZo9KzJJhedUgROBj /W2rm11YlWKXNn4wPNovgknBw4KQW8lTczZIYS1a0UtyaSNzSjqiIDaeMqnaHY0A9jZa HkVsQ8eyJAakxkDq2SsDaaVTLcsEGZmEe3iVeQAslRujt/jtbG32RxG+J4ebZZynNur6 cw== Received: from sc-exch03.marvell.com ([199.233.58.183]) by mx0b-0016f401.pphosted.com with ESMTP id 35k0hx5n6d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Wed, 23 Dec 2020 01:40:58 -0800 Received: from SC-EXCH02.marvell.com (10.93.176.82) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 23 Dec 2020 01:40:57 -0800 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.174) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Wed, 23 Dec 2020 01:40:56 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lZnLPH7ogsGLYskhyHtWhh9Sk5wFf0ovKfkRSqha2r7ftano6+eMxchNlW0clInINpY4odCgiiDTSNBwuRSSZsnkxqjGi4QEORl6RZmjqZCApneadblHlvsLReJJEUgdkBsnzNnpA5h55c+TOn94n0plGg3mtkn+3o1N5t58pnWpiy4oBhrQZXdtopw1cu4JIyww3z1NVbtBMwUg6NUYhd1zDziQF89Ls92Li6RynbXFahBdk/TH89fK9u2d58f38B5tzKdAfS9N8WCYHyScbLTUKCiDyZlfnAd+4aAZMzZvjsBJs+lyN9dFVERHQH0AAKXJWi02kxAYj4beK9XgBQ== 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-SenderADCheck; bh=fScYvs7xoeJZnY/rm6sXUvCPZrjZ6Uf1mCXpc/4cVsE=; b=bwuE7H7jfgUKEnfa0xgvwsGw2uvGibtFiMPKPlyoWk7p2yAeu5kC93FUyx20/v5+sund+3BxMwBqcDSY/frWVnuAuDe/XLailf0d9JHtuOiwMBDItZ6KGIM1o5gSMrLaBQ5bGeyuUXLPLSxzmjol5OeOtiVmcoh+VPnZhmPjhJxHxBTXbqFJB8sJrHgEEDcsjS13KqiieII7smwfAAEtWmewccDcC7AIx7Rq6qiAplCuiQW0as1eGKYCRB5/VybxuDGeFhi0zWPjnSMdCeNbRDwoQfJE+bEvB+WSsTsQTGCPE92xDJinV2U+h+waXwzZksbQMe71ZLaRP827zy7e7g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fScYvs7xoeJZnY/rm6sXUvCPZrjZ6Uf1mCXpc/4cVsE=; b=iVoDlrtSOCX3ruUg4fjdAMRtZfPb+Kg8k4NU4fC4NUKXxSaWh0Py9XaVjsT0UonXzaUzueTV5j3yAGQ9ZfNzsEVbpSfMPJHfJaPJSIGsciK3ye1oCffV5DfxDRtpxT//q1qylmDYSwp0ocWYiLLcEH25O4ymlJdd6LAFzxBXwDY= Received: from DM5PR1801MB2058.namprd18.prod.outlook.com (2603:10b6:4:67::31) by DM6PR18MB3603.namprd18.prod.outlook.com (2603:10b6:5:2a5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.27; Wed, 23 Dec 2020 09:40:56 +0000 Received: from DM5PR1801MB2058.namprd18.prod.outlook.com ([fe80::303b:5c79:93c7:b432]) by DM5PR1801MB2058.namprd18.prod.outlook.com ([fe80::303b:5c79:93c7:b432%7]) with mapi id 15.20.3676.033; Wed, 23 Dec 2020 09:40:55 +0000 From: Michael Shamis To: Liron Himi , Jerin Jacob Kollanukkaran CC: "dev@dpdk.org" , Yuri Chipchev , "Liron Himi" Thread-Topic: [dpdk-dev] [PATCH v1 17/38] net/mvpp2: add TX flow control Thread-Index: AQHWyJRrJz2CtzvP8kuitBkEjz776KoEjjoQ Date: Wed, 23 Dec 2020 09:40:55 +0000 Message-ID: References: <20201202101212.4717-1-lironh@marvell.com> <20201202101212.4717-18-lironh@marvell.com> In-Reply-To: <20201202101212.4717-18-lironh@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [83.130.154.133] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f54b9ab0-9ed6-444d-b81b-08d8a726d8a8 x-ms-traffictypediagnostic: DM6PR18MB3603: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2150; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: QkXZIePKzCFpLy1sB91YhkP0Is3ZKwZkit4kzbj7KgQcrjWoETSxX1WmzK3x2FqRrW5ewUHRW6hGk3YUBi1EMnxCiwYvVx0g66oi4xMJlmsqgkTsDYvUToSyKUVU9PymH6GTXEspYZhHzsULFToI3rHsnE4RZ8HiwUUb+Yq8d4hdPNx1Ufs/sp6hWde+pEGpoSe6k7NvXKO15ktJml6M1mGibcYi7d3E8/t1ag54om1HG3YoOrVEy14mfvpzK2xle8sHOpiHg5hImYHWjUjKmk7fIWmzSufCajG0nvNyZd+8Sq9alXMERJ0kpzGIrY9gBOIjeRH/7ypiOqiQZesVEgohDN6GoLtjnX3elil+zDP9T29uDXe/TquJEuQxKPHG4CDRgfoUBGfFQT89ZB7l+g== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM5PR1801MB2058.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(39860400002)(346002)(366004)(376002)(396003)(66446008)(53546011)(54906003)(66556008)(52536014)(66476007)(66946007)(4326008)(5660300002)(64756008)(107886003)(33656002)(8676002)(9686003)(6506007)(76116006)(55016002)(6636002)(86362001)(71200400001)(478600001)(7696005)(186003)(2906002)(110136005)(316002)(83380400001)(26005)(8936002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?x2Tb9BZcHBdKpV2r/nhK4tXq2ESmlKeeS+3puw9fL1PlnmsIhlPtYmU4wZGC?= =?us-ascii?Q?FxXVLuyEaillSxEcFLlJ729r4XeuxjifNHRHlDwcLiu5hAVLLN+HqI/FPjKc?= =?us-ascii?Q?gUntpceQbamSj02X0c0JEgF/W62XYNa33s8z2c6js9anFaN+Sa1KvrBnKa0l?= =?us-ascii?Q?Xs6HpmhniZ2xMta3hiGi3rTjaft5KAT9pGU9FdMphJbvAlC+6ByhNgDs7uh7?= =?us-ascii?Q?BJ32HJN0FIw9yiSxpVVFJvUCuI+AdK/JU46ieCgdpZkVppC/NFM/4Y8RAih2?= =?us-ascii?Q?zZ7JOGa7zUBgacnYRhHmoQR+a4ttsU+w3rHEkKJtJShENLmdXvMOhXUJpDJR?= =?us-ascii?Q?wO4XkWHxUi8v4vU1x2mycxnP1bu+UoZaa2FLbIpwBVPQ23fxBxtbr+drRZfZ?= =?us-ascii?Q?yllFsfPYw0fnheVpg5NJdV4amAloTW0vrfC2WEw0kiQ7FS/J3QKrrQDZBwbo?= =?us-ascii?Q?d7QdZ3jkme7K5NwdahB+YVyQmRwLRmSCcAXl6h+s97x7SGYd1G22PonVYQUG?= =?us-ascii?Q?Vf5OpZeiioIKYuTVG1etTX9KmiWPrqwF8LL5T29Xn/TmzyK/MF8WOY1IeJYE?= =?us-ascii?Q?6RE/NMPKG2uaYWHsOkjEpKgX8mg3JBuGqf1QjH7HSsw0OULwnZuQTGMgsHcD?= =?us-ascii?Q?GPsL4Nkhyq6X7iq3CFdb8gdnnaG8T2RhAO3F0nOEcpIUgxWnhZGmPwUEweLz?= =?us-ascii?Q?QCfkg5x3ZiyqcLNepkQ8eMQuocahbZI5xuwBihMXKTOavHe/pv/hKxcgOjwC?= =?us-ascii?Q?xDB4rjmdG1LjOIx3dsq7cz/w0DRy0hsq5/C0MkDuvMb9vgkflXXKhrv2e8LQ?= =?us-ascii?Q?YGRr3ZkdrHCOAf/Ivo7bnWmBfclMdifkCDV64kYB+6z6gSZlnO4dexpCa2pi?= =?us-ascii?Q?J3ts2nyAxDBFVug/8pJ3AbK3yzujxDIwqJCfuEr4P7/G5FR5y2WfPic372Te?= =?us-ascii?Q?HEbAxL3j1X4/a8HgyTotQ+mrWpBMLM59+4ZL5X1qnyY=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM5PR1801MB2058.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f54b9ab0-9ed6-444d-b81b-08d8a726d8a8 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Dec 2020 09:40:55.7207 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: vhzt/zdsL6D4N+lcgHzCn7b6EnPeFBkM99jIkepYoRBpoHJGs/EGJeYg1DIauFWr1AZIZQ9friK9qojZu/+n1g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR18MB3603 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.343, 18.0.737 definitions=2020-12-23_04:2020-12-21, 2020-12-23 signatures=0 Subject: Re: [dpdk-dev] [PATCH v1 17/38] net/mvpp2: add TX flow control X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" Reviewed-by: Michael Shamis -----Original Message----- From: dev On Behalf Of lironh@marvell.com Sent: Wednesday, December 2, 2020 12:12 PM To: Jerin Jacob Kollanukkaran Cc: dev@dpdk.org; Yuri Chipchev ; Liron Himi Subject: [dpdk-dev] [PATCH v1 17/38] net/mvpp2: add TX flow control From: Yuri Chipchev add tx flow control operations. Signed-off-by: Yuri Chipchev Reviewed-by: Liron Himi --- drivers/net/mvpp2/mrvl_ethdev.c | 59 ++++++++++++++++++++++++++++----- 1 file changed, 51 insertions(+), 8 deletions(-) diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethde= v.c index d1bb4c35a..f80843c63 100644 --- a/drivers/net/mvpp2/mrvl_ethdev.c +++ b/drivers/net/mvpp2/mrvl_ethdev.c @@ -2049,6 +2049,19 @@ mrvl_flow_ctrl_get(struct rte_eth_dev *dev, struct r= te_eth_fc_conf *fc_conf) =20 fc_conf->mode =3D en ? RTE_FC_RX_PAUSE : RTE_FC_NONE; =20 + ret =3D pp2_ppio_get_tx_pause(priv->ppio, &en); + if (ret) { + MRVL_LOG(ERR, "Failed to read tx pause state"); + return ret; + } + + if (en) { + if (fc_conf->mode =3D=3D RTE_FC_NONE) + fc_conf->mode =3D RTE_FC_TX_PAUSE; + else + fc_conf->mode =3D RTE_FC_FULL; + } + return 0; } =20 @@ -2067,6 +2080,9 @@ static int mrvl_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_con= f) { struct mrvl_priv *priv =3D dev->data->dev_private; + struct pp2_ppio_tx_pause_params mrvl_pause_params; + int ret; + int rx_en, tx_en; =20 if (!priv) return -EPERM; @@ -2081,16 +2097,43 @@ mrvl_flow_ctrl_set(struct rte_eth_dev *dev, struct = rte_eth_fc_conf *fc_conf) return -EINVAL; } =20 - if (fc_conf->mode =3D=3D RTE_FC_NONE || - fc_conf->mode =3D=3D RTE_FC_RX_PAUSE) { - int ret, en; + switch (fc_conf->mode) { + case RTE_FC_FULL: + rx_en =3D 1; + tx_en =3D 1; + break; + case RTE_FC_TX_PAUSE: + rx_en =3D 0; + tx_en =3D 1; + break; + case RTE_FC_RX_PAUSE: + rx_en =3D 1; + tx_en =3D 0; + break; + case RTE_FC_NONE: + rx_en =3D 0; + tx_en =3D 0; + break; + default: + MRVL_LOG(ERR, "Incorrect Flow control flag (%d)", + fc_conf->mode); + return -EINVAL; + } =20 - en =3D fc_conf->mode =3D=3D RTE_FC_NONE ? 0 : 1; - ret =3D pp2_ppio_set_rx_pause(priv->ppio, en); - if (ret) - MRVL_LOG(ERR, - "Failed to change flowctrl on RX side"); + /* Set RX flow control */ + ret =3D pp2_ppio_set_rx_pause(priv->ppio, rx_en); + if (ret) { + MRVL_LOG(ERR, "Failed to change RX flowctrl"); + return ret; + } =20 + /* Set TX flow control */ + mrvl_pause_params.en =3D tx_en; + /* all inqs participate in xon/xoff decision */ + mrvl_pause_params.use_tc_pause_inqs =3D 0; + ret =3D pp2_ppio_set_tx_pause(priv->ppio, &mrvl_pause_params); + if (ret) { + MRVL_LOG(ERR, "Failed to change TX flowctrl"); return ret; } =20 -- 2.28.0