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 04ADEA052A; Wed, 23 Dec 2020 10:42:04 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B58C0CC48; Wed, 23 Dec 2020 10:41:20 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id B338CCA9E for ; Wed, 23 Dec 2020 10:41:18 +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 0BN9V44D002511 for ; Wed, 23 Dec 2020 01:41:17 -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=XSSOG/IML/E53ful/hyYWWU66YM78eH986ZSfYFn9tcxAweOVgjG708xW0CpzQa5Ao9D 3bzEZ55b8Zim54MJZ/v0JNNXoyYHmwwrRrSTgIQz6gmTSeZjhDQ3TWXhDAGLelw0GE6I LEu4n6VJT8mEG+3wM5gJRXCon4oO8nQNSm3V/FDZMXG9fVdET2O39wdA8KKJsb4K6YxM K0kjsZJNyKDTY02Rc+jSq54GfeYfp4Vg1nGtDN+a27xZpEUWD0xCL26aGsTcJpfme3tB glavc5991NIz5pEfsbOui8ewTeCzWC4tp9LLac9bTQ+LJ8PeX6pHL42fnkkf680syd/a SA== Received: from sc-exch02.marvell.com ([199.233.58.182]) by mx0b-0016f401.pphosted.com with ESMTP id 35k0hx5n6x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Wed, 23 Dec 2020 01:41:17 -0800 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 23 Dec 2020 01:41:15 -0800 Received: from SC-EXCH02.marvell.com (10.93.176.82) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 23 Dec 2020 01:41:14 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.107) 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:41:14 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VAUACywuQ0ah3GIj2S2ymVvjT5ZKQKXNY+hp5Pc0KlSmBzdEj2UnDGqx2tATYbyhqje6xO44Y+AebuFQf2AmftMTqJtDLudurXFSiKzVUT2mzmdqYoKlVqzeYj3E+Q+2oLgpcv/zWF26c1mTLioVVxeqIO/+IqTd/iN6seRzEOHS+C2JDNARGVObfg++zRjBmlhaBgOH8oSM/BZHrgh2kke8puvdKs2j0YYTe3JXeoWzp+tsUK2evaue+XvM+hceI4GFxuMDDsXXXUFrpfDgTgUPafoTWNr2gFL3fcK6j+ntPEc2H+z7IPnwmUYzfuA4XdIOU3n0hGBymGIxo0nQBQ== 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=fE//CF2pUdAPpGIFL3zuvFJ1o2M0gKEFruhEcRJ258p2f7g7zwEqLLGhvxAtMrhPict5QteMpRm8aB5N0lqVxyYyZSqM5PmeawxuO9BUx4a140nRVNASlqbRoEVT4m3z7ChlSh+Wcv517SyLTHnlucQ8wcVyNqpYyxwVRc8cJiF1RsA543MIjEEDkMFfcJgIEB33Ad/hX1sq2SBbFaRy+pabCqbSMqvmXZZVdUj6XgoBeX2bO3cTrr1vFEUJQz72+BHhP7TgwWIL+j01rvTwVphJW5ZUeKOVivgrJp6LQ+mvCqUvITdqiHmJs7P5aLcrX2I4tuapa4BLgDWXpLioxg== 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=LV9GmCm8BwcVM019ZnlPMDBj3rI2cBEAYg2aZeV+/EP89opDJeKkoNh05JmCBMal0OfVvmW2J6w2L6Jd6ZK9ShP8cn9fzHXwnjpuaRNywUkV1xRje4WwZ2eeaBksPVrbxXo6kQV7RBwdFnxojKbmVzFuabnor45DZfEBLNF/Dbo= 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:41:13 +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:41:13 +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: AQHWyJRrJz2CtzvP8kuitBkEjz776KoEjk/w Date: Wed, 23 Dec 2020 09:41:13 +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: c6e4d4e1-dcc1-4d2a-c2f8-08d8a726e335 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: IDJUmxhp1mSYpZRNglZXYvrcIm+8Rih84dieHKFxPemZwXBpxToZ1u/yij2mJns8HAsZ/f0yoW9x6pnGLAK63oLlk8hJJ1pqCC9EPfjM++OTGEfRgZzcKZ2OQaCfeRr4rB8eJikVeYtCu8YZZOYlBNuTW6UNXzp0MJZ/kY6VwOOrqnRwa13h4PSa2Y/vN0bH22OMFa/f4UqomADMiZ/Ies+wQua+AOLLfu9YEXmGqDIKDyX+QJSsE6f9bXJtksxmQd1yg2bt3SS54UnxhM/RDgau/32gwcCCO1HSEpTqfBEHkQm/jirfgUi6tp4NsvIu/k84A7tmg3rv9TF806ka/E/ocfDlnT901eYBOr8XwKjtGk0KMD0iUlFIeELkwpiS8sSFQQ8ynf+etLdbu0MUag== 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?ZkPZtdDlJCGnun279pHAjhDShDV6MEDaJndbYrB4DfLMve2WKo1BeEJEkI0K?= =?us-ascii?Q?oXyqXeNLIgApvUgpTRyqvmOCkEYbui6N4teIf4WoB4SkODGBdCeaYBpATQy8?= =?us-ascii?Q?Ky0TeXALyqTE85l6cyVOiinEhzCdd7Q2PTAz3iqu4TArXu82L8gCk5+mggbU?= =?us-ascii?Q?YuxX0mRnaol6BVW1wrT2218iKvBOlTlfRpOcLp5yLN3lxQd9zV9lP2dqot+Q?= =?us-ascii?Q?9VUeqPZ/C6RprkQOcY9nXnCniq0ai9FuaWHJoUrzdEhJdHB91fUJRipE2PWA?= =?us-ascii?Q?45ZLy3dYEf8kfpsYTF1fCTZq7Ugc2CS8F72kKZqgyonCjgRqWUal6cpD0ajT?= =?us-ascii?Q?M1qaCjuDYHBpqlpe3VesBC65r9vmHC76X7dptqULUXhr39mCJo73crH5YwIz?= =?us-ascii?Q?gAGBxFxLYIXBEgskXVorNQmQhbdHdgBKaH0Vk9KN9GgEDrrvg3mpFk2HPgJc?= =?us-ascii?Q?s3zAaOFvcwCMSfNc/TiXLMSNZWcoZ+M3h2z+mJoluGMKAlCyyKJHbms2/vU8?= =?us-ascii?Q?OGBRYpDGUSw3i9D1Wluro3Tvu/X5aulmNLaaVDhaTixZ+P2qAoJjDceocv7N?= =?us-ascii?Q?0wg/vsnhwPjb9J2U3IyV2Z+MZhscNG+UVZAIZxHqs1uEB3m4PtuUcbfajekt?= =?us-ascii?Q?98CSMrOou8dUAJJHZlU1m5OBQrfXushl27oqUhglqUaedxFW0M6spCLsdXM4?= =?us-ascii?Q?B1RODGjVFP2O6zcckbAPjtwHDM8LN/6YklJzJd66+dZx3uHHzLga1WNmX79A?= =?us-ascii?Q?xvwHaE1rvPz5aWfEVJ2F04qNSInMXqR05Relm5ICEW+4bHTtpnGN+wRXTI3h?= =?us-ascii?Q?F3FV7bX6aoQhx4wh6XqpmhOYi0ScdSnZybbwcdIyqvmgPcdU+k2SkpqkAdb6?= =?us-ascii?Q?p6F+K2RvJfKgR+1L6BvvTAq8+QhzXK0AaBksitX+3ldRPBCzqUGe3yM7N7/d?= =?us-ascii?Q?UQr69QZIlxOjjD2EPrmTTFF4oKulJMfg1Ouo02G3AtY=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: c6e4d4e1-dcc1-4d2a-c2f8-08d8a726e335 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Dec 2020 09:41:13.4383 (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: YdvJ/Tu8C+ZW/OvI4vs0JEgxFYUdIqbaNs5BhzIWZ7yvsMN+r8yayqy9uApPXCGD0fqAVKUUfPbE6SfsQsM2LA== 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