From patchwork Thu Oct 19 01:13:31 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mody, Rasesh" X-Patchwork-Id: 30568 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5EB92325C; Thu, 19 Oct 2017 03:14:15 +0200 (CEST) Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0084.outbound.protection.outlook.com [104.47.32.84]) by dpdk.org (Postfix) with ESMTP id ECBE62BC7; Thu, 19 Oct 2017 03:14:12 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=FyCACM3AsShwnRPiXRP5iD8KWlVD9cJIlyfREW16OYs=; b=Z4aP9rVZKyLFIvNbO6Fsx0MLTcdlhVcuv8QXnQaLoJpqbS12IuCbkhJQaWtHU+xct/EW/+kRitmenjPLYiYz5afYoT5I1aEHTLQpoGfckFvfox1WGTyEhe2gTuXQI4VUY2BuXOvPjIRJqWwJPRYNxyo9Xd2vgeQnOa5sGXet28M= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Rasesh.Mody@cavium.com; Received: from cavium.com (198.186.0.2) by DM5PR0701MB3830.namprd07.prod.outlook.com (2603:10b6:4:7f::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Thu, 19 Oct 2017 01:14:11 +0000 From: Rasesh Mody To: dev@dpdk.org Cc: Harish Patil , Dept-EngDPDKDev@cavium.com, stable@dpdk.org Date: Wed, 18 Oct 2017 18:13:31 -0700 Message-Id: <1508375611-9326-3-git-send-email-rasesh.mody@cavium.com> X-Mailer: git-send-email 1.7.10.3 In-Reply-To: <1508375611-9326-1-git-send-email-rasesh.mody@cavium.com> References: <1508375611-9326-1-git-send-email-rasesh.mody@cavium.com> MIME-Version: 1.0 X-Originating-IP: [198.186.0.2] X-ClientProxiedBy: CY4PR03CA0104.namprd03.prod.outlook.com (2603:10b6:910:4d::45) To DM5PR0701MB3830.namprd07.prod.outlook.com (2603:10b6:4:7f::28) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3c0e49bb-c024-4879-1183-08d5168eb4ed X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:DM5PR0701MB3830; X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3830; 3:49ydBnBy6EY7gBZmBpX87+u4LGNR5U2QxcPglQ+krS+eZKThA7WsGMtCrFRNrB9x0Q7e1Gd6iSprf5MkYFo6UrInUWaUBBHZKyQnsuefPTlfqWCdQRVPaR/qCvjw37sZffqiQNfeNzSHxaQ3C7Llake+Mjslm4/gpzJIcW+wtAeTDVzmY+Ca9AeJd388Q/HmLV8vstv8PzSuiOsoU+ADc5t2UuyfGnj8JmKKE8RiaLwwwC58I3+tD9jOz/pbdPrw; 25:r1XVDV4Chx3/2KleTLl+TeRQtT9x1chbSvj9CotAWc8xQqS85JEtpNBVQuRH6NkxjmNhMNvFnsFAgFjfba21iyd+eGLEJsoX8wcVkofFN/i9ibai/p53n67hZfM6Vwwi1m3qe37Y0mMA5tWRDAd3jnfJAezEmXLnfugc6idjZ+VavsQxCO/uiaA4bXroZSciAzTsuAOZ5/NbXuupFb1t3mIuuPqIUdXl98XQ0vqKTC9m7yQM2CqC3q0n95Yxs2bXUNIRVa8DOfTGYkKHez7NT9ClCGyXxgYqbZVoEVJ1HnSkZ6oYHUHlPy+j+wHwiw/gUXdN5BB979o/GVOezZnGYQ==; 31:ljk8jphIpQDuAGkLhk8WkhZcUKWMu7QWO6E3UoMNPmrpwHhLVix1/Cnc44W00FGAwBDh4dwSTal6UIPHQcVKIVXBpmC36sPiS+/zotqrBn0dh+BFRw1Y/dH3voXmPUvP/IUStUijqRdlgfbkAfs2nYLHJi8yjKUnJaODPKs5cAea0iB9WERsLw33y67NR9275bKujrHi5nT83TIcT7mSKoqN8NL2Xb6JrKVdC679KhE= X-MS-TrafficTypeDiagnostic: DM5PR0701MB3830: X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3830; 20:UvJcylTXF5+vp/z7CuIkbnNTCWk32IpKIkKqggwhKljLAawPtQXtUoQuJWQyAQPERIh/5hsci9IwbzjGDq4pQ0kuWW4S2X/a3zxD9Nhyrnk1mEwUIscxb9P3yobuGMf1wV1j0d1pAoiq3Is42CDGOSQIw399zGLTMOls+v+NOQmnMyFlkUBqQfCIhHccAUdHOMSK+qCf9Old5jW2ZpKXdqfvM1YEeAYyg57EKQy5LOdSSjnL0+sWG/4bzWoBYQI9fReFTrQ0WsEg2qzrRgprvCdkp8LJHvwtGrFODTiYGfJ2slDjLknXDh5i6C7rU+plqp8UMxOCvpLWvBOKN9jhG1HQvd1iXV3Xk9JxMKXnt8frAN/CVBIrK/ui4Ut8zBW8F8zYpc+mGdQG8edsHontuy2QU4ZTM00FLjV+IeYKU6QXrhRh9t7ynWmifVMvi0PAyUaFhO68Mt/W+MMaGF6rKWxHgz+zIch1yTyVSCEjxef+GPbxV8LmeP7sKH+mL7C1; 4:ZvScc7YRNbMrDgootSVqXlPQS3ymKZZ60alhA1oOqUFSE/iJtIy6sID5C5PQBadwmn2Rm+Z66XEiBAzeRdx1JZ1AdNlU7huQ3oTssRRMSAn5YZ2XEo3eRrQXjt+Xj5x+KrkikBU8s9AsnT6qvlGocaFHakU0xPG1myP0cuarw2XKimmSGfPXfyxjSCgC55fAJmTTMxgJzRHPm5L+lXcHM+j8LD02MKx2kY8WMEdEpl2NYiQ9qLHyZ2TSBzwobSU5 X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(3002001)(6041248)(20161123564025)(20161123555025)(20161123562025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM5PR0701MB3830; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM5PR0701MB3830; X-Forefront-PRVS: 0465429B7F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(979002)(6009001)(376002)(346002)(189002)(199003)(57704003)(68736007)(305945005)(2361001)(316002)(6666003)(72206003)(4720700003)(189998001)(16586007)(50986999)(101416001)(5660300001)(50226002)(21086003)(16526018)(76176999)(48376002)(97736004)(3846002)(36756003)(55016002)(53936002)(50466002)(106356001)(5003940100001)(25786009)(6116002)(478600001)(2906002)(8676002)(2950100002)(8936002)(69596002)(6916009)(7736002)(47776003)(81166006)(33646002)(66066001)(450100002)(81156014)(105586002)(86362001)(2351001)(4326008)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR0701MB3830; H:cavium.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR0701MB3830; 23:kpW2J3RA63aGjc+Y6uC2esR4TknUjfEW2E+KKgn?= lZf1/FW7yS/Tb9ry2c8ojptaDg9TcDX1S8nAmhGHcXV8W3xAr79QsO2JxIqD889vOQxEAkEYovL+8i5Hpp6Gl1A+byD1iKwOFB4w03gq4v+Q8W87Y5+HOKkYKNMD0M5UXn63iJ8lhu6BgjODOSgQAqbgjFmUnU94+4/hNtkN7qennFmMoa9iS9C4Bn99bIVO4Oj7uO9MrrmiVJZY0+k0HnwrSHlEh20fkXPms6cTnHOH64h9TY3AcvvfK+4ejLniX6hDpdV0Am7rAj7u3O9/mlVkRwN9wBtONGNCdLbuY//ZT0NRUpbxuyPaqYtRPzRAgEglh0TW7zOc9u6GKpP91g2ljNNmA7Bp+5M9IoC6xgODoE1EbJFfTNTNu6QtycWdiBicL80EyDc7GhV5Txq7a0ksLKDuMgl8G8g26OiErMRkgT7np252oq4LsA+Nwb4OTBbkd1hFtQ4QaBnj/R/viHtg5U8vE8iJZWRuP6hAH3cIFilA6StKPJli5o8nDAO48NQO2G2zv235Vhp2jahDeHK69/iKCIZ8/UtwadhI3BNWoz4145SOyZO8aINKTHibFK9faaOHmazMw4BkYjFDt6LY+tyt7mJDe1T/G3LSIioll7ow6Zf49hd/xowWj/KJfShaEV8IefxgqpMnPgoY45PrrYRn8ACrIdiR9KOcHE2uEzrJR/C5xvCEvRccLhJNjLXMUcM2NFbgS4ceSLTuYHe6yovaEvoE91F0E6o0W9US1FdwBwrGL6q83ILgNScEj4D4tvTqM/nzNvE9raEgylyydA46JtdQLjOsgFsMd/qb2LeprfQVqATCQZR9hXaYOpOhd9tgVVnZKThIxi3zje6+yTJOuxSGfDjq2OF28CQWW+PKj/bDH6h9F+prl7ax5Bgi7qoamE/3lWvZHgpnY8qegbeUPZ9XLdRUgMrCw77Q5h50dYKIxKSpC1XLJJl3DpQ9q+KUE2b9mhvx0UGFdw9kvxhLy90OnwEJHw4QCPrEfd2fFCXU17VxpWBPGOfjnIttfZqPnunXe6/111P7n1yFNEmFbwRCvepCIti/YJFS8ckgLLreUklQ2ZsG1iggOq/9iPJ01sOEijHexVBsF2JyWj8Gr541ZNqB0mEkaEqnRxAsAlvR3QjyG+PVhzS+5zYOR7Py9tOGS1q4j5EXvXLduAl+cBixynHiZEDy4QPW+2QeTcAlsIXJ20XGLh+jKDI5Gx/hOVx4aIQPiE8+WQ8XcfTWCXwqVHbuJvnLc3q9olQ== X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3830; 6:pUCdwfKE335kDDCPIvmnOPuk/u9z2EazvAXUHj5IQ4/mGCjb+Ig4By5P2KCjU7K2mlN+WicomrvC4vccGUzJHpIuZUmVq9oXgVG0+Wfq7kl1cfUeG1hYVGCflim0LoxwPkYC/vMRa1mv+jRhz2LnU494wVSXVvEiPpk8tsTfqcfquACRi/DCA18bz33Z/Wo6zyVQy9xnUpVlmhrKdVKursHUUoC7ddbzdCRR4Ako4W8aljKVJJ7lZR95MDecpPRN2E7SHvoKGh3aRT70+4xzWSnNYjEKvhmOzZ0ylUrq5cM/3pzl2WTZRLIrChgAmqgsPsEejO6vfI3e+eGYPDVOMQ==; 5:ZNyUT+vPHhHi3qbL4z0x9pZJX3sCMEps+7iwO9ulpccndFP0tRhAfkk8BwmDJyyuoGOQVOrGvMFZdK9b4ak5jiIc4OLEeQp+KAKXmyj1P5zFRV/VLTLsiQotNTH3brG4dXPW8WuZ3DkphsYGBc5Q2A==; 24:/58sA6iDJn6wcNZpbfU851U2Wh2UHX6XwVZ0Mgmp16snQ9H1EjzGDu7d3Z6ISpoWG+uNrVFoq3BFY/Zj1Fi0KtxHZi9c+EIZgyhZMaW7B1w=; 7:E1t5Ou1WkjiqVQ/wGTLzBzQWtqRpMWBOaziZIvqCguESV1okzmf2f1mT0cpixdO1VaR9MjFJmiXaJDr2PSmzBNorZIq4AuJzPe51D1kMeDW5OnJCx1kkv/XfbDG7x9VlUExvFugNMalkZ/KRftVhKtrQ6QERfInbtF7A6MqeF9V4KuavoS8JxPoJQ62dIgbROX1cKout8hg0maThyumu/z1vVSwiTcoVfrSRk3zrAWQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Oct 2017 01:14:11.5333 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR0701MB3830 Subject: [dpdk-dev] [PATCH 3/3] net/qede: fix to re-enable LRO during device start 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" From: Harish Patil Move LRO configuration from dev_configure to dev_start so that LRO configuration can be re-enabled following a port restart. Fixes: 9a6d30ae6d46 ("net/qede: refactoring vport handling code") Cc: stable@dpdk.org Signed-off-by: Harish Patil --- drivers/net/qede/qede_ethdev.c | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c index 5727c6a..4b61904 100644 --- a/drivers/net/qede/qede_ethdev.c +++ b/drivers/net/qede/qede_ethdev.c @@ -520,7 +520,7 @@ int qede_enable_tpa(struct rte_eth_dev *eth_dev, bool flg) return -1; } } - + qdev->enable_lro = flg; DP_INFO(edev, "LRO is %s\n", flg ? "enabled" : "disabled"); return 0; @@ -1108,6 +1108,7 @@ static void qede_fastpath_start(struct ecore_dev *edev) static int qede_dev_start(struct rte_eth_dev *eth_dev) { + struct rte_eth_rxmode *rxmode = ð_dev->data->dev_conf.rxmode; struct qede_dev *qdev = QEDE_INIT_QDEV(eth_dev); struct ecore_dev *edev = QEDE_INIT_EDEV(qdev); @@ -1118,10 +1119,15 @@ static int qede_dev_start(struct rte_eth_dev *eth_dev) if (qede_update_mtu(eth_dev, qdev->new_mtu)) goto err; qdev->mtu = qdev->new_mtu; - /* If MTU has changed then update TPA too */ - if (qdev->enable_lro) - if (qede_enable_tpa(eth_dev, true)) - goto err; + } + + /* Configure TPA parameters */ + if (rxmode->enable_lro) { + if (qede_enable_tpa(eth_dev, true)) + return -EINVAL; + /* Enable scatter mode for LRO */ + if (!rxmode->enable_scatter) + eth_dev->data->scattered_rx = 1; } /* Start queues */ @@ -1133,7 +1139,7 @@ static int qede_dev_start(struct rte_eth_dev *eth_dev) * Also, we would like to retain similar behavior in PF case, so we * don't do PF/VF specific check here. */ - if (eth_dev->data->dev_conf.rxmode.mq_mode == ETH_MQ_RX_RSS) + if (rxmode->mq_mode == ETH_MQ_RX_RSS) if (qede_config_rss(eth_dev)) goto err; @@ -1169,7 +1175,6 @@ static void qede_dev_stop(struct rte_eth_dev *eth_dev) if (qdev->enable_lro) qede_enable_tpa(eth_dev, false); - /* TODO: Do we need disable LRO or RSS */ /* Stop queues */ qede_stop_queues(eth_dev); @@ -1256,16 +1261,6 @@ static int qede_dev_configure(struct rte_eth_dev *eth_dev) qdev->mtu = rxmode->max_rx_pkt_len; qdev->new_mtu = qdev->mtu; - /* Configure TPA parameters */ - if (rxmode->enable_lro) { - if (qede_enable_tpa(eth_dev, true)) - return -EINVAL; - /* Enable scatter mode for LRO */ - if (!rxmode->enable_scatter) - eth_dev->data->scattered_rx = 1; - } - qdev->enable_lro = rxmode->enable_lro; - /* Enable VLAN offloads by default */ qede_vlan_offload_set(eth_dev, ETH_VLAN_STRIP_MASK | ETH_VLAN_FILTER_MASK |