From patchwork Wed Apr 18 20:15:08 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mody, Rasesh" X-Patchwork-Id: 38435 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 438D66CC9; Wed, 18 Apr 2018 22:15:39 +0200 (CEST) Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0066.outbound.protection.outlook.com [104.47.38.66]) by dpdk.org (Postfix) with ESMTP id 2CF765F3C; Wed, 18 Apr 2018 22:15:36 +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=E0EP0AbyP8doNlpkzqWH/9RMYH+iSJgegVi4mx+Xg4c=; b=R4sU7BjG5ySe3MuTYGShWbT/whImiHtMdQ4JzHKCyzpNDe72zkwZF+Guob7CdQDZ5Lu6j+YS1B/Lji/hIzn1kLfuf1X3y/PMrfQIjo4xVTY4E36zsdtLPQKr864jDxQ5+i+7/FhQ6TYHm1TnHwVioR3ksuP27bAKolXYtr3QaQw= Authentication-Results: dpdk.org; dkim=none (message not signed) header.d=none; dpdk.org; dmarc=none action=none header.from=cavium.com; Received: from cavium.com (198.186.0.2) by CY4PR0701MB3665.namprd07.prod.outlook.com (2603:10b6:910:93::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.696.12; Wed, 18 Apr 2018 20:15:35 +0000 From: Rasesh Mody To: dev@dpdk.org Cc: Rasesh Mody , ferruh.yigit@intel.com, Dept-EngDPDKDev@cavium.com, stable@dpdk.org Date: Wed, 18 Apr 2018 13:15:08 -0700 Message-Id: <1524082509-25456-1-git-send-email-rasesh.mody@cavium.com> X-Mailer: git-send-email 1.7.10.3 MIME-Version: 1.0 X-Originating-IP: [198.186.0.2] X-ClientProxiedBy: CO2PR07CA0068.namprd07.prod.outlook.com (2603:10b6:100::36) To CY4PR0701MB3665.namprd07.prod.outlook.com (2603:10b6:910:93::16) X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:CY4PR0701MB3665; X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3665; 3:8KJ9fQb+3H+grN/OHaQv5Ris5ABu8k5fXPKH7SbOhGItnPi/wxatxtDtZZ2DxAa2jv1cSr+bitRlIBhzr3dSkC7mqKAX7sIOmvHWhm6PDSXz8D6jkRuMbHlR2Sp03T6UTw4sEBT4WoleEpFRRdEHtOBA8B95TzwJvkUTHqsbUhQ0C1eMlKznWQahZwXoYTDe4pQ4cKqz5YKaIYlEoMEQ6PB5oHsDu0Jpyiz0N55gMy75ohc0cZe+ykeduLKFNMLP; 25:dOfNeHewKnj+ROM9BpN97IhlYLbkTtvHX6JASCfdnPDCJ81ayCOKC2Oej3NmcPMk/IoiKqlRJCsBrqEEmIIp5hBjYsQQvmbUSgxZR8Wcl8gx8HPhFUHm/GLNCisPUe3blsI/xw/jbLz7hhBAWeu9G9d9whl18xcX0taxLXo0UfJxej0DclPGQO3nTshON+IEqg1OEJZGV488vk/2rpZUf26MrgloxetRTkaE1HIb3WqsxBidJXGaFs6V3ZZB4hwd55zCBLjQLz+u6jl2d9L2hM8v+D8ekRXTWF/kRo+agcZ/1h8i6kcpPeHwXAkIDJwFiaufufnykZ5yZu+Sw0I00A==; 31:twWngCjVnXQ5nxLJdN1uin/Llzyb/7cWLhTHqzZ6cYr4AjMd4nFIEZGY5xKAoYayKTrQ137+mmiM9CE3oFaWxCwZClOpWo0HVZDIzZYGhcA3ylYHnQS2GTIuMf/Qic/Lzbgq8VlVhMlVEDEdZpAFIo/7947x0fpdinF4w2saPQs2VEpo/KyXTO3KtpqTlOU2sMBIbiSbW79DAIABw+YDw4GX7uXmR3zhP2HDhfyhCsY= X-MS-TrafficTypeDiagnostic: CY4PR0701MB3665: X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3665; 20:ji/KolSuYDXDRN9jdFHxun7Da0iys/6iHdwMdjtnunQ2DESII1es13lpeMIk43Z/zTai73CRnOljlognNKwiphE3vKvLkyB4xfA+0g508UmvRC+Toq6VdOj/7blBXniB5oIuvpqI8MwwUB5OhNNaybSHDn79Qoy8V3wDiTlKrh0M69lLnCh63RpbEZwLNr7DnuSjYwWoXZpp2+IKdWxq8M6H3NpxyHBZANbIhhliROdLXt3WZ0H+Frq9GKXHK+jth/1eQxVchb2saC7DhavY0SmeIGyOvYftFuHxHl5lk2F0QYOI2q09eRSbHHNm/HhXr+8zJOByDwStfdLIHvHudMrAtjIl60oqsOeIupKoiyfImWgBlGj42nX9ow/ewnTeUJBRQcVc8O0plNH9HZQQnpaTcKdjMPfwUEeZnhP/ZwFAIzME6CVgD+4x4VqdWbSj974E4cAsU+E9Z71d0HM9u7Yv50sGH93XvzUZHzK8ORYIFo4hb53rC5iAO7J3WvQ8; 4:A+ug0WoSwjqJ1PKvKI52FIGDVn3VT6ojtDHlqXom9ul5QruSglFYWDOANGbnlwZKVU+REBLf5a0G6LcEu59vGoSasTCFi9vDgb5n8q/PQzXDLL42Rs5/lbUSdG51tRiPwFi6/7MF34am7xH9RIkokA4ryqLMwjEXsZtbuVKg4iHOG+HeIWLalGjgOQ8ld2aLv2dnPEuGnXKRRqq1cQftkOLjeoEHUfwV8K44jyjg0cpn0fHglUse0v+jB+JGATM0hdRIybv1EcD4fwKtmqLdBQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(3231232)(944501327)(52105095)(10201501046)(93006095)(93001095)(6041310)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(6072148)(201708071742011); SRVR:CY4PR0701MB3665; BCL:0; PCL:0; RULEID:; SRVR:CY4PR0701MB3665; X-Forefront-PRVS: 06469BCC91 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(366004)(39860400002)(39380400002)(376002)(346002)(50466002)(8676002)(44832011)(2361001)(476003)(956004)(48376002)(2616005)(50226002)(72206003)(2351001)(8936002)(47776003)(55016002)(386003)(26005)(52116002)(66066001)(7696005)(478600001)(59450400001)(81166006)(2906002)(25786009)(5660300001)(316002)(7736002)(6116002)(3846002)(53936002)(6916009)(4720700003)(6666003)(4326008)(36756003)(5890100001)(16526019)(186003)(16586007)(86362001)(305945005)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR0701MB3665; H:cavium.com; FPR:; SPF:None; LANG:en; MLV:sfv; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR0701MB3665; 23:OufuI61Ssef3iu7OfRK57Yw+tPrhafKyURczxbz?= Xe7D7HdXJ4DFoF3LFifc2fETwgj4D+Z3iSZgSY+u7uvC6r79yJ7ZBK5Z9yLlhuo+b/xG8zKxG9tJfalZNgM1p3triSbiLlkDKiuukHTU9Wk4FFtWpS36qLw7W4XFIBoapklPlWdiaqICKu7QzPmgLAGNFBCjfLgF27m9dLWDbZ7UekixEDq13XIjdysGvZMudW6nxZ4WZ+m6DDwbZ4QBwUIxQliYZuYNATIFZ7z066QZBnhEP8YYsSM5DInolKoQi2ckaV5GbIpfKyZQlOpu6qdYIpQjLlCMQFGQxvy42+EYeNQeEBUDkDDQQaOY80NmDRlORmUvtrgk77X+woi/rHqpN6JuGF7toIIQiCqt3LQj4EQWJB4hT9ErRym/+OdNnsgnkj/RFlktCZj/RlLi1zwu8kf/xUZOjkkooEkuTJ0Oqp7MSplx3X26Y/xIOQV9gDzSBaG1oqi5sfbvZ/DeaDqsw1Wty2RBQ5RLQ1T88K5Gt8IQCsqKA20FjpKe5KTPSpAChaCngPqA18rMghOhOr5Jbv+/XftWajPaViIOyWRqjma9OA8+gR6SRW/2kC43zmfDTN6nXSykOvk/Wd6IimbaW6Vlj91at/91PPomaq0aCoqjJXkm2CCFeNPP0lwZUzRdEJJ93E0ME330BuLi45u52bw+bKHMMUUG76Ug7WPlcdokg4R2wPSe9cjWjUzw2YNJ0dbTf5Mni5eeK1aPdJ9teSDL+3JmZHtvSHNZwEkALEPgoGXRy/LdqTvs+MzMK8qiFevxGbv8WMNJ3RyGJYTse96FYbCyZ2YMhnH/wkSHb8b2k0CIa1qb5Cf1MiLchcDeyv+zSNI/Hgz8HK9kJQgDkrH90wILOroQEBYudzBTQo2qnhW36UoKHUxgN13XYpKSRdyQI8WN+nvQ32dQpLt7Xt9xY8XEhdWjueuyygMt0foxOAE26SvcL+Zm6dTS+MtPVvu2HyCiPgZQBTYq2AvaO90JUZEGrCgW7iSPibfE4PCyET5YF2b81gwL6lAhyd74B9MRQri8pmosbSdo0XfjXIr6eqjcybeNsguFOzw59GQ== X-Microsoft-Antispam-Message-Info: sZ2YoCKRJA3uoPmNZC+erBQgRRCuhgSdENTSfqgXI1F3QQENC0g3tS07XvGqLyE08E4c58oRLdSsGN70Z9VbOrA7p2QyN0cD+TpL5kRnbewcy/8pHfogwFD95eRaXdxgqMf2CM80Jg7bYFV+vHW55KJsjflPDd1sJBRaNvrQTWERHaF4tIzbWpehADa0KZUZ X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3665; 6:vfhzKUu8hIsXOM2Ya2I2kdgTlYa2rM444YX+Ps3YStEZEImaJKw77wFn0UecM/8U8NwDS3bt1khn8rMUyvMQzxRnVEGgg6CzbLtMLaj78EuS6476pSeOuFH/DuoFIonv1El4pYmJYz0V8dz3t772y5/MQt0+Hc9uayZk7TppRuSR1pm0CSfP7twSk9tvV1Bqtzow8oFHyTGAcAYfRwx3LsvSccrQ2NRXgcDdNomLFMVOf8LlkLryLDoVhS/HbWnzmP66KTVliIAnr0IkGfXQiwnKOIF9cOmOJmv4Vju6veVGve39zqrTnb7IPTaMiYEGsVeZIStoN6H3DqcRDe2fDbE2USOREmFUfono04XspcsU+d4fJLzg5OjrqASenlx/UUzJK48+emQmAzN4NnmebDcy6l3PeJxwDyiexcJQBA13VAXaQyTHXnDtqTxz8st4gCOSUIOkULdHxg20O4Do0A==; 5:dGPRJTuT4tQdIi1pVJxACtx+K5U+D/8m+igZIC1nVr8I7KD8+Dh3F7c14PUo2KMjQSYm/qMk52NEWeBEy+kRV35zcvlYx+8J2kJOj0hRAuvL8MDvKznUdsS4yIZ5BV/VQWay/HlGI3xeIBWWrfU69nKOfc3T3K2jq0qBDjSWfnU=; 24:e0N7ZHT3FVzSjC2sZCTKdaj2h6LVdP+by9JDBWHfvgbcHKyF/FZ59iZyAWOlECJEJWl/4lqr8B2HVRmb6ovJhhbQhe8AcwHfX+s9+FIbGsQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3665; 7:UWoKNjBcwz364ThhfUf3+vK0k7CnL7w6vOOZi3U0VnbtnYZiOrg3RFERtt8gTKkNSYbi1vSQWKUHf7K0dBCpig8J7RyGNtD+kktSPAttjHBRvIyLu6HB7gZnDp3BVJlEArBSN0BpgnUZ6nIpd4ezmS5uozd5rZeSm0khpTktYw6OeEPVJFB1ud0cjnZb10xDTnh10e1VgvZGqGrQaP1z+Z+qDH5iD6wCP4TduJ9pJLHsFx1NTmvcnzvSO2+bKmiX X-MS-Office365-Filtering-Correlation-Id: 9b1a21e2-7d85-434f-0c5b-08d5a569256b X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2018 20:15:35.6802 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9b1a21e2-7d85-434f-0c5b-08d5a569256b X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR0701MB3665 Subject: [dpdk-dev] [PATCH 1/2] net/bnx2x: fix for PCI FLR after ungraceful exit 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: Rasesh Mody This patch provides a fix for PCI function level reset after an ungraceful exit from an application. The fix is to enable internal target read as part of device attach before getting device information from device config space, device itself and shared memory. In addition to that, add a 200ms delay for the recovery flow to complete. Fixes: 540a211084a7 ("bnx2x: driver core") Cc: stable@dpdk.org Signed-off-by: Rasesh Mody --- drivers/net/bnx2x/bnx2x.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c index 382b50f..bfd9cce 100644 --- a/drivers/net/bnx2x/bnx2x.c +++ b/drivers/net/bnx2x/bnx2x.c @@ -8285,16 +8285,6 @@ static int bnx2x_get_device_info(struct bnx2x_softc *sc) REG_WR(sc, PXP2_REG_PGL_ADDR_90_F1, 0); REG_WR(sc, PXP2_REG_PGL_ADDR_94_F1, 0); } - -/* - * Enable internal target-read (in case we are probed after PF - * FLR). Must be done prior to any BAR read access. Only for - * 57712 and up - */ - if (!CHIP_IS_E1x(sc)) { - REG_WR(sc, PGLUE_B_REG_INTERNAL_PFID_ENABLE_TARGET_READ, - 1); - } } /* get the nvram size */ @@ -9671,7 +9661,17 @@ int bnx2x_attach(struct bnx2x_softc *sc) bnx2x_init_rte(sc); if (IS_PF(sc)) { -/* get device info and set params */ + /* Enable internal target-read (in case we are probed after PF + * FLR). Must be done prior to any BAR read access. Only for + * 57712 and up + */ + if (!CHIP_IS_E1x(sc)) { + REG_WR(sc, PGLUE_B_REG_INTERNAL_PFID_ENABLE_TARGET_READ, + 1); + DELAY(200000); + } + + /* get device info and set params */ if (bnx2x_get_device_info(sc) != 0) { PMD_DRV_LOG(NOTICE, "getting device info"); return -ENXIO; @@ -9680,7 +9680,7 @@ int bnx2x_attach(struct bnx2x_softc *sc) /* get phy settings from shmem and 'and' against admin settings */ bnx2x_get_phy_info(sc); } else { -/* Left mac of VF unfilled, PF should set it for VF */ + /* Left mac of VF unfilled, PF should set it for VF */ memset(sc->link_params.mac_addr, 0, ETHER_ADDR_LEN); }