From patchwork Fri Jul 13 19:50:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Manlunas, Felix" X-Patchwork-Id: 943793 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=cavium.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=CAVIUMNETWORKS.onmicrosoft.com header.i=@CAVIUMNETWORKS.onmicrosoft.com header.b="j5wOOPj/"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 41S3Lz0SgCz9ryt for ; Sat, 14 Jul 2018 05:50:35 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731501AbeGMUGa (ORCPT ); Fri, 13 Jul 2018 16:06:30 -0400 Received: from mail-bl2nam02on0056.outbound.protection.outlook.com ([104.47.38.56]:32096 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1730683AbeGMUG3 (ORCPT ); Fri, 13 Jul 2018 16:06:29 -0400 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:X-MS-Exchange-SenderADCheck; bh=8/mLM0TYicGiMJlfIdGjo+eIg8g1PErShZH9FEuDirs=; b=j5wOOPj/3W4OS5SxquYRTPxUFohjzRss8VQFFeKjUuWZ58jtwQrApi8fkx6LLLYDze6M/E7x98hfD3/qCjyiDDebvZ08IFaqHR54MpQkuuqyVPX5cC70X47P3KdxnLowNU78QQxBKt8gTNFnaBEaBWL6Pb3WP22J2hnKuv3GmeQ= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Felix.Manlunas@cavium.com; Received: from localhost (50.233.148.155) by DM5PR07MB2826.namprd07.prod.outlook.com (2603:10b6:3:7::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.952.18; Fri, 13 Jul 2018 19:50:23 +0000 Date: Fri, 13 Jul 2018 12:50:21 -0700 From: Felix Manlunas To: davem@davemloft.net Cc: netdev@vger.kernel.org, raghu.vatsavayi@cavium.com, derek.chickles@cavium.com, satananda.burla@cavium.com, felix.manlunas@cavium.com, ricardo.farrington@cavium.com Subject: [PATCH net-next] liquidio: fix hang when re-binding VF host drv after running DPDK VF driver Message-ID: <20180713195021.GA1178@felix-thinkpad.cavium.com> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.6.1 (2016-04-27) X-Originating-IP: [50.233.148.155] X-ClientProxiedBy: BYAPR03CA0008.namprd03.prod.outlook.com (2603:10b6:a02:a8::21) To DM5PR07MB2826.namprd07.prod.outlook.com (2603:10b6:3:7::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: daa22d27-b20b-42cb-ac01-08d5e8f9dfae X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600053)(711020)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:DM5PR07MB2826; X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB2826; 3:stSWhTbFjUWXWgzHbhV+HMcVHqRDamcQiVR8ivR97XT3Xz0iZ/edyz8m0f08c/M1y9GosKMBmnfsbuAj7nhAW/VsxxY/uV/KU5e3+JwOlWPDmfEiV9NErMyphdqomJ980dP90YkLoZysOPdv7T4ReTfNgRy0w2RaJR3KuVs1fFzWsJimeQTmCY0j1QrbsC8xgJWUaj4R1LEn9+D7DcJEkROp/VgVyWBtv7W7CM3AzPTsHMqBwNdgKMev25g8thMS; 25:NieZVXs1k77IOd7YKFwMx9RhI28YfxbEvrizi6gOnPLbcoOTKUrX/66JI4Sw/G51oyjQlhJJfc30UulKBcYb4Jy5Sx42HSomgTcldPRg1/FNV/xnvGDRSisltE/gKiBz/JGpz039qpDBOzXL7aHKTNEjcfnefoQbNB/V97LYaL9Ct4SUGT/EANL9qrFJIncXWaHIQRZY/6+Y0xtC7+HprwuwI9jo8t3pY9DxZkHNnodCVMJq9IOGetA+DKi8FTbSV8yY2xOyncaqemR0o4t2gvF4g9YzefhC5V4uvyGmsn8hi8c8NC4C2y1rgSesmnFgQjn1hXC9x1L+xnFIA//nPw==; 31:1SubzDpwCjLF12baiOFIF+tYguZE82hQ4mZ4huUWOZZICKSC7woi6u8qIP9syg4B1JE9qTLHXbdYLZEc3qOoK+Zli85QVC9oZyDjmzl7tN/PeRmG83sFm8qf1iiK02pv8CDPdfMBhnuETxPRj2FONEr8kTQT15Y4mc2yLQEfw3YlYA2qhCX4lGk5kXstvK4xdL70klMxqF0TZRN09xjLhjmPSlvoAUyoi8egSQs3wfA= X-MS-TrafficTypeDiagnostic: DM5PR07MB2826: X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB2826; 20:sFCr1PhRgW2pNvEAsYdOu0q4sIWN84fswCg6I3FCiRSJZhFpV0qBVy/wtc+EpqJdUrw7lq7X730MTACe0owInAuLMPpf97PTiVaBp++u3wb/oZvXRMAJh2b2ky1kHxUVKxqm127/TOqYJpP7zCjp4L76d/BfNgjwjoAXZz/NsFJG7d1jsXlSKOS3pUIbaMGT+4uv+1/5tKbXsWHQufWGWjrvJnydLgZUZ64OMFwshW3AhSGO4hkLWsBbInC00WrM8SBr5yRFLUrV5lIx8YMnK/gpwmdsSIvGRpvqj5aEMyXqOMAF56Ma6VHBq37/DiiadByneq/COXKkRsnT48yKNecvcY/YbtzKwGClMfgNQ6SQQD8nDlhvw24cqGQhcsRAChhZuErhRNBsFnzVuG7Kd/H7s1lY4N3kTL4sdyv5oanI0i0C/ro6bEUPDj2uWvfVne3CNAQ48SrPwHYLQsdViT6bioTeed89t6HTz1cEaVV7U6cnfmFHv8RK+Ke3UNbN; 4:B/MEwO0/pWM2zQhNlekchw0T2QIWJ0bKXlDXGnmACkB7umnFdro+SubocywEZSPoCiwCIZuuCwQ77ccfdIrpBqPmlAxINolM1jJhs1zlUex4uFZgUOSQJfZGFGabsIeYPvQdPpegCoH2lS9A8jIPMjdMvq5ictDxLEZKF4kfdm3wDOPXP+Oqq/34zK1RQpdk7iZqz5gvg7AYjsW82Z5Pr38oY76WyP/y6U8OokQmR1/hF3TvgwFwZUl8R03fqU9n9OY+bK911xK4Q87IvOUb0g== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231311)(944501410)(52105095)(3002001)(10201501046)(93006095)(93001095)(149027)(150027)(6041310)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(6072148)(201708071742011)(7699016); SRVR:DM5PR07MB2826; BCL:0; PCL:0; RULEID:; SRVR:DM5PR07MB2826; X-Forefront-PRVS: 07326CFBC4 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(366004)(346002)(39860400002)(136003)(396003)(376002)(189003)(199004)(25786009)(4326008)(76506005)(44832011)(58126008)(2351001)(16586007)(316002)(105586002)(16526019)(50466002)(2906002)(26005)(186003)(386003)(72206003)(107886003)(106356001)(53936002)(486006)(956004)(476003)(478600001)(47776003)(81156014)(8936002)(14444005)(23726003)(1076002)(2361001)(6116002)(86362001)(33656002)(81166006)(6496006)(305945005)(7736002)(5660300001)(68736007)(97736004)(6916009)(6486002)(3846002)(52116002)(8676002)(66066001)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR07MB2826; H:localhost; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB2826; 23:Rg336aPQy1mKmLckjPjwBoRvQ6BWtfEvwP/tMb1yCD0TAihOFXpUXlfgKP9kcl3p8NTZvW5ETaFATLWW+FNXcWQDLIXcQnXd9s3T0fEViFTk/OO02Drxi5RZ5iolbvNt5jMWFwR3l42Sbz5ToHJvKDRae49QuIGhQGCaAm/D7M53hzS+ayexDM/+u5324QmojcXkl3P3yVc4OriVYM1vLbT88+kpJnOgpAqf8fQCzTuxr0fbFL2+EQuuW+Nh+Frdk+ZRSvBVo8MY3C9352xOQcBPdIvgjV3v2e6vAHup9yS2KHjs2+NYsU5aY5rN6LKIDv69z1DRYq6Yg+CkCFqikWg0fEd0WHMraN/L3ZtfGVLLJDk1QXRlrgN31srloeoX9WjgiHazGCCzsNrghGQ6bWLF59abAXw8kiO4Dm0jhuL1VGDUKELhhZiU7Sy0EI3EOd8ezUlHpgYZwyOqLQbY3yaiJi94l7hz2q0FccchS2+vLmPcX8WUnnIVBVV8W+Q5Q0fMXk9a0VqcwjiJE9sjzWiaxmwdxJkbrOEn03ng3vaygt4SpcrT7vjfgIBMCV9b5JKgEhgd2mgPXtvdK7rqFPF1cdjxl7ivmpbAZCyvY7ESKE+FLw16Ea/XdHWayjv2W8+kv3fjLZqufZ5JsMhlHqXYPaGnv51SY/qczfPcPT4sC+h+Hnh0nm6rBq7esRZmz0Y1vwqCCfLF5vgHHsHbwx7qHvuHOkOaQpHchvoESGDrAZWdMM+AdazYrCKe4U3TdiELueD1C/gTR89/IAb3V6+8XagQ93GPSDiHbKbdCs+pIAUl5iR6GFN6FhvaMNy7NfHm2d9OIwSSiRaaFcvpyShE11DHrgbH9/gp5zkyj+2k/SOMO6DNoCa/QdmJQk56FO3NQg8rh67DdBEAgyAiBO5FIqo7tChvYdp2l/gQzs4mMRNZePy0Y8skhGDVBjgNNopqjmQSaqc4DfwWtXMDIaCFVcWHwstB6Vt4LoVHvU/9Diavjp9Lgaz7UQPfQ0EJsPEw4LMMliyemEsHwzNdsexlxcDjtpO7lx597XUaIHjXLPnuIC9yxMY7E863PpXapIcx4oxy9LKZmTnttrrzcX6xgxHpmseqryHXTzicmSmYX0Sc607QQjzUdLK+McLfb38srTEZy6NfUhKOnd8xWGaNVlWpK+VCxmETwJRcmvjsTbpHJJVIePH3MLFhHIvNBK+5DliOvpX2FIxjOOtYnZartnYXQHC2vhvUvOoSPJw= X-Microsoft-Antispam-Message-Info: asXgPXA+bLGLT3Fvhcp/KwqoT2St8sIKGYjx9xRCXMHbwpBTpvKQ+5h98D6qaHIySDRqZcikUcG8wxGGES6jayKoNA/9RQ/SOdglWqS+X4KJnPt2BjPrbDpyE1WgcpPWl6JiSUaEddn0+ZweHk46lhfXrRsz98bMNP6Je5HI4uQzgDinFoGSSxU4K/4yozT1yz/ymuw2yOvXWce8gbXEriDlbt0SMe6zimZw5hqoXmXHnGzv/hjYUIJeVqjLcUScFb2hP/YukA/Eu3+JdHiSz6DBkb7QkF9tyC8Eiq/DiqaJSboLJ8jRTslOyr5feFP4qQuxwOnSy4XOLzuGh/iRWXEX+JaNWp2QpDZ2Qx8yR7g= X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB2826; 6:m2/HrVm1bxa3Z4rLHlvVdKwjcQs7hksDKiKifLoGw+YyNFQ80D2TqfTqlOlhCveCAk2ByMYLeESqprSIDXLPcEaXh4veI5A+VnyXSXB7ls+W7LBGdaVQq94lgmT7MpPPJKmF0x2zK46Mn/bIUBq4VVo9Lz06OFuRfKHSTNwOjPVb2gKAQ/DTYpoBnmAYS5DgS/MNLEDYMrzihjJA8C9vk4hU7eFzEs3bLZw2glYG/nRkzTs94bSGp3ojdqJwKujUmQfq/CtjaT/Pu9QwSTqtNrr85klNjVlXx9gDj5BtD5kze9upLJzEkyojnXimFmGI2dt4FN+eI8RPxrhly9N9euemSgiMJ1Ddz2ffLll7x3HDMuA47+aas5dWI1As/OQAE+e465cGiOpmwZMSQgXJ4KDX7HNgWLwE048UgZbBGZLekXz0iWmIG5JER+J8dGhhsliVmFpfxggkyzKtcvx/Gw==; 5:2UzFsHkbGSKqkVtlMoMjjhKqikm2MXxRWuUvLRbB7Ly4OqLDiGIbZHSiMF81iwiEiMWSbaVvAhU7WYn7VnaieBZNB565l2lUGn+fUgZcodpHdDBjVtgFZ7ZEAf0WVShvo3FYJewMt2aOY0DoG+XrhHv7jfy5//tSkxJkKbLQ/8M=; 24:h2PSZeAzfKtqG4SG8A5vbjJwS0wAAla46cenQFkf93lH+QDL/vQpF2qOpvonAMTEomKnj2+9uQLzY9SLwj7i24/KN5zwlM0ipnaWnjrZluk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB2826; 7:Mze6xYrJiAsyqe2zn7+AFQKvV6AB/Tx4UmSNypxAHErkhMBpromD2F4iCQXEl8yG+NtNIKHPp2mhleVxLHAyqTjT+U3NKxRMygu6xfZHjU3t7Xbno9wVMBzeqy6aTh1Q47tHjmcm1QNt6LPKfdp/3frP4UKmneE/hxW8y1qvdT5ijqu2sVrDNW+t7W+NpnXSYBgp3KGn0r4al98PfY2E174zSQbWnRGRUisrzd2iDn1ejkbSV935qqrkUFw9heu2 X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jul 2018 19:50:23.8654 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: daa22d27-b20b-42cb-ac01-08d5e8f9dfae X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR07MB2826 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Rick Farrington When configuring SLI_PKTn_OUTPUT_CONTROL, VF driver was assuming that IPTR mode was disabled by reset, which was not true. Since DPDK driver had set IPTR mode previously, the VF driver (which uses buf-ptr-only mode) was not properly handling DROQ packets (i.e. it saw zero-length packets). This represented an invalid hardware configuration which the driver could not handle. Signed-off-by: Rick Farrington Signed-off-by: Felix Manlunas --- drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c | 3 +++ drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c b/drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c index 929d485..e088ded 100644 --- a/drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c +++ b/drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c @@ -493,6 +493,9 @@ static void cn23xx_pf_setup_global_output_regs(struct octeon_device *oct) for (q_no = srn; q_no < ern; q_no++) { reg_val = octeon_read_csr(oct, CN23XX_SLI_OQ_PKT_CONTROL(q_no)); + /* clear IPTR */ + reg_val &= ~CN23XX_PKT_OUTPUT_CTL_IPTR; + /* set DPTR */ reg_val |= CN23XX_PKT_OUTPUT_CTL_DPTR; diff --git a/drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c b/drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c index 9338a00..1f8b7f6 100644 --- a/drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c +++ b/drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c @@ -165,6 +165,9 @@ static void cn23xx_vf_setup_global_output_regs(struct octeon_device *oct) reg_val = octeon_read_csr(oct, CN23XX_VF_SLI_OQ_PKT_CONTROL(q_no)); + /* clear IPTR */ + reg_val &= ~CN23XX_PKT_OUTPUT_CTL_IPTR; + /* set DPTR */ reg_val |= CN23XX_PKT_OUTPUT_CTL_DPTR;