From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20062.outbound.protection.outlook.com [40.107.2.62]) by dpdk.org (Postfix) with ESMTP id 1C0201DB8 for ; Fri, 27 Jul 2018 04:11:25 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qUwApSjFVZcrxfU35qNR8k7G5eyFL7ZHRqSuf9QRCdU=; b=QA3orU3b37LJw2LsREX+uOZgcA/ibjzJDJtzEOytMM2QgrpK9lCdsT27gc/dGLqMgVQz0Do1KEBbJyH9ufpMSwKmrW0PoWkNt4VpCXfimljPT5+5XKYQc0DpSJbQPnPVIOpMRP3KbjBf1mt0pgQgI5E6ZGjO2yOK7tfognX0Lxk= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; Received: from mellanox.com (209.116.155.178) by HE1PR0501MB2041.eurprd05.prod.outlook.com (2603:10a6:3:35::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.973.21; Fri, 27 Jul 2018 02:11:22 +0000 From: Yongseok Koh To: Shahed Shaikh Cc: dpdk stable Date: Thu, 26 Jul 2018 19:09:22 -0700 Message-Id: <20180727021019.37388-26-yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180727021019.37388-1-yskoh@mellanox.com> References: <20180727021019.37388-1-yskoh@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [209.116.155.178] X-ClientProxiedBy: DM6PR08CA0022.namprd08.prod.outlook.com (2603:10b6:5:80::35) To HE1PR0501MB2041.eurprd05.prod.outlook.com (2603:10a6:3:35::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 316ea5cf-d1a0-4ba3-f7aa-08d5f3664023 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:HE1PR0501MB2041; X-Microsoft-Exchange-Diagnostics: 1; HE1PR0501MB2041; 3:DNaKUWiIeWDLFfq3X9ZXBJcRVXzLSH2Fd3H+Io4VZAdfQ9NMWStPZ8+W4Of+Z56gRRXP7bwiLkjGRBUdqsEYYrQR4gYaD6dwHdscofiGYBvi9IMox/f1R2uA1NuvBjngcfVEKD8iWqGyPCmzdGuegQexU67bmNtbrgDq/C6lhUbF6izYjnzSr2IJjI1WSoVkSV+L2Jldx2GCn7HyClEGbdCxAnZUFnu0eG937OHvYO/rMcsK5aFnPWoWnswKuoCQ; 25:Mf9Ould29a5YqZl4oGNtVuWRo+29pWHOcSy1qQZkFl7GuQM5KjdHPvBTIY83QmsYfmvd5LlJhRbA8hYGjeE1wpS5ItK53QNFKwidjuaJgF42ulD2aGnaugpS+QsoCMcpz8hTUt9MJaD7KJITHpyDKhvvbsRtzi25khy/llGhS+Ux7kKAcJvEio+o3Ew1N4AtlmdbXtBaa2o1P7V7lErWYULatC0co7seqmTzNjuMDPOpgOdeC13nr3aOnDfE0RQGQTTRwvF4AoKvBDC4cQz5YLDzV8t03Pv1t5S6yOEIx6LJ0xIyNZdeRgHv33cnkxSSZpobgFDxqEG/v1QHIixZqw==; 31:ETzOPHELW1RYRbPAT7aTawE4UizpXMIElKqDzhiQikMRK0X2GL2P1pNooniCn4xuPTIX24u/ela1i1RFppPW1KO/hVbnnFK1cJNvA1T2Jv+UkS1f4G4/N4nYWH8lXzQ0BIHUgQ8rzE7XtT54fTm1yu9VuW7rwPTj8HqaBaObiAonDo0TJJSNUscyMfO3ZOBEqhNY7p9rVT+chxF3JKAJGb+kp8xxAt/270a6zSEWXBM= X-MS-TrafficTypeDiagnostic: HE1PR0501MB2041: X-Microsoft-Exchange-Diagnostics: 1; HE1PR0501MB2041; 20:kWRae5S3FHU/xMG/5vubtG0d6D0/aCCYQJbHvi/k+CKHn/6WXdYDYXu3mODwqyZv6cQfFucIPPhXZ8HomB+yTKp94lUJT/7JKQ3em3yOk7WE+5t5xyC2RrGnAFH4CJqCqgOyIMO3UaYCHsOgtukvhz2RMIZhqcSVuKTHjRocxr3Vwdb4TLVldFkPAwGRBs8Wf0FpvSMFsS9e/08MY9IdeGKQUrMaiE9wpQOU+DVe/D1kwi2xgzdnBBa0JcJU6SgQaHJq3wGKyrp8XjoY/nD/ZQtE0DnRnW50NNMc8zE8KiPjYRdi07YGWEY/OF4P5u3LapIoCb+/PzPgXFzuN7nUwrzrHJmevwRFzKkFL0QCsfibGCQXh+WLrYHKdQSCqxoCuZZFnZ1FOLUjVZNKgA3NgDsYEeXrc5G5loqYrT8+5AW6jFFkVpi4Fah+vMtdN0bHCeFmCZiK16phaMRLUsQSBuDHWYIbqI6fwKlMRMsK8X0hmZv9YhiTiFu0Zdya7Hnz; 4:tUgQ9Jj2Yv7RwSy3+b5vDk5Bew988rXfi99/MrnjTH1PvNmmJIaJYfWm2n9b8zptP3umQcWj75W1eW4jqT3IEZwSmzqtk28zLL4QvQH6hUL9C0z1Lkhup3Ccz0Bgfuy7NS1TuL1BdeGkQ4rT5jj60j25nFuYPPYEyPMTmY1wqggI3ZlifzRNESdDreluXhlQIsaXNVaRxoH06aP5waHVfdDgEeZo8/cMUXW8NAgoCjottywdeOuy6VIAl15QvTN1V93szuOf+NSUk9M0ggzYjQ== 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)(93006095)(93001095)(3002001)(10201501046)(6055026)(149027)(150027)(6041310)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(20161123558120)(6072148)(201708071742011)(7699016); SRVR:HE1PR0501MB2041; BCL:0; PCL:0; RULEID:; SRVR:HE1PR0501MB2041; X-Forefront-PRVS: 07467C4D33 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(366004)(39860400002)(136003)(376002)(396003)(346002)(69234005)(28163001)(189003)(199004)(6306002)(55016002)(53376002)(36756003)(4326008)(76176011)(2906002)(105586002)(26005)(2616005)(25786009)(956004)(486006)(21086003)(386003)(966005)(106356001)(51416003)(7736002)(86362001)(53546011)(50466002)(16526019)(48376002)(1076002)(52116002)(8936002)(5660300001)(11346002)(3846002)(16586007)(446003)(66066001)(81166006)(68736007)(316002)(69596002)(7696005)(6116002)(14444005)(97736004)(53936002)(476003)(81156014)(50226002)(47776003)(6916009)(186003)(1720100001)(8676002)(305945005)(478600001); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0501MB2041; H:mellanox.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR0501MB2041; 23:wc467N3R2xSzwEfjp0Pky2r33qpbkcu3rHiOv98?= =?us-ascii?Q?mBjn3MEbAU2URdglw1jQP1hR133eQ8WpUIgWHVe3a4u0u95UOFLSJDt44bOG?= =?us-ascii?Q?2lb84WNLZmJeaKb+yZnXUZu7HsxR0SYvBLSy0pcl1Nc9Cn+bz0swJF3MKbGZ?= =?us-ascii?Q?p/DJ/82TzDBSs3Xi3tXIU08Gl5uLcpAD+CeWUeS/9xSSGfT+0KVYjRSSjE4w?= =?us-ascii?Q?c68XcgQjBcBny9mo7eYJgKdojdxY9q/kjDMBRIIhEauvbvKZMFPEQafRJgC/?= =?us-ascii?Q?Vz1mNZPzKjU42hDkg2ru9m33RfdBj734+XLoHJuP5iktxWt/i5Ry+zBry/QY?= =?us-ascii?Q?1RUGNlRSBo36WdYEjLiXN7thr/PYU+ff3IfcknxAUQTdWqZoNM7yiAOLAzxA?= =?us-ascii?Q?JTEwuGl1Ait0rEglkOc0p7Wdq0vOqeqQ2FtjAdIN2sVTMS/j4+0Ol+kLfb7r?= =?us-ascii?Q?28h7+0ykJOLIUh5VI4LQ/TrqDmt77sGKyVyHwdZQ0DoSuiQ5Cex2P5aTbdYI?= =?us-ascii?Q?K8amRwL3Bw0Wk1IzSuDWeqSrU3kBj5RpqxU5zPS7ssUX3xXP20bxqi9YG4qe?= =?us-ascii?Q?ngrom6GTzm7euSNwsgK6jtBAfLGYXcBjVs1bnVbDGF3l09X6JVoEiDOeRBn0?= =?us-ascii?Q?RU69jpI1Jq/eOeSJi45Q7BB4+yqc8vF6mzLVho82urzPKQTzCA2NG9Mde4WQ?= =?us-ascii?Q?nxdGx/xrnCPXCNRBLWRVo21qiRGtt2ySxSaeRaaPHSdUGjoOIeiIC29HrixE?= =?us-ascii?Q?VdXGw1PvzCGVweFaL6J7avbxsHq8xF3xefhEc6e1fA9S+6bYxufV7b18Wt/V?= =?us-ascii?Q?z73iOV/cAQs1ymK5ZMInikQKMc0qGtU4svk3NdcSGCX9/wsNd4Fs7THHxUyQ?= =?us-ascii?Q?SQ/88MSNnELWKRCe1nQiDc7Bmigh9xhBMQC7C2abnPjyDZ8UjNHyKV21B23R?= =?us-ascii?Q?RyLijVUDKtTxht/BFUvFBab+6xnvi0IrzDzr+zh+ViNsMKf65p6eeTjtOpnu?= =?us-ascii?Q?+DtMT7wYJTjH6DZFDwRxiZqMUF0HI01oinZNglk1OrOwmmd9Sj756Tl68x3m?= =?us-ascii?Q?0j/AUeIFg4qf8lceyeh994lVAA7dtOOGzpFM6aei3h33eNfiUdWlk1VSv5w4?= =?us-ascii?Q?ftACB3iriDrssBYVMROBxn6IBCa1iJu7pud8ylaQHEhenlE41Nin3fab7EvG?= =?us-ascii?Q?fX6ZjLTLmD3EIktvVczAeenJN3e20w8SlWHFGZMZgoUQT/+1wrvb9hhsmdmC?= =?us-ascii?Q?wuB1X33mh8k3A8dhaaOJATg1jOO8gN+4RJXJrhV1WSJR9Srioc8rK8ZjV6/R?= =?us-ascii?Q?V13HBSlzm0OztR0HlnmcZ427bUvoVadLQfamPJBcoMxkuhUTC2kvdc5ukS+c?= =?us-ascii?Q?idomJvA=3D=3D?= X-Microsoft-Antispam-Message-Info: W2HUqwQwp8wY8SykBzC/cMl+6NonWG3XYw2MQA+ZpecEN6ZU7IEJ9GZ4hgLjGtZ/RLM6kUBDfpL0uB4V8GmHskJTfjdtbSiidxXhR73BhBLiDcK70pLrIGA6v+akfVj4vW9G5HMWRYQUCEveazJfnagbI7Vp9OXRcgT9p7of/3Z0R+AxqdgjcHpWseT/oRCRqKKYyZQA4QmybKxpGIyM3YTiHjoqxf+VJ+spCYE6JENkVi/V0iTzY9d3dbw+pgje0ayZ7FZiOA+Wpm6R4wQzmCC1v27ZfW1WHu7myAfAyd6gPr6C68wZA8jPU3qTG+YXCD/+xj0Dh7AUYWwiikfasUt8FmwBOwiHp1uEbb2wRww= X-Microsoft-Exchange-Diagnostics: 1; HE1PR0501MB2041; 6:kL6F7os1M3ZLexjeoYzVRp4vcjWuaFgknIhhsjJyaTZkwgNP7AChEixiSfuFU/nbO3xuWObxERu0QeMHPOp0ojGieBPB4Z3IDn89R9ZXjO5+3TpLDR4KlYd/8MRrpGyBPBVNBn8oo19/oFOoiSh2GMbju3ByHwu7+fUds801RpsA9H//l1pjQbH0p/x8wXoHsBS4686lY3l9e+46eR3npYusSUojnxjDCXvPqtyMjCAQi7uDerJrKndEEfhc/8yK5q4TCQFI3XEbHcRCCrApMgmKOx0QafRniQSqs/ivfVirYedQ7JB8EqZDR91sq0IlNszDb/MMo3ceseV3u17htH/8w9Awv9Pw0r3GMbGWA2Eou3KNJBd0Bmg7LeikEogOUYV7LlMx8kNEdEsxzkbTVrq4kh94yD8SACDKyYe0TYJDQI5A4R2ibzaDs1wAQ7jNR8E++BQIT8SZuL4vzOz1Ww==; 5:U+kirQGOXfHJ11ZsHa4hR0lQDM5HH+AkXZUwglRCkychfF4QJNsWABB4zA/2XVem8RcpL/ru4a1YlGzmLT1bBurfvJznYsFZOKA2ioNx19oQ9m5PgKZBMdnPTJzijCmcgVVwvg25vdmKis7ATguab6gp8FEJGSUrGduIhJ+OkKA=; 7:2BKBbhPEl/mXpRE9irR1Da0NVczv/kfzUZDptGrVtXahfjbT0rIRw2N5aDbvN8rIZkJQ1Vjol1wg8dBSG06BfudZFk3FbSeHXstQ4ZTKa51Q9coANcBlXAPF66jk/2AbUQEMM5zWuB2VgsfqVj0ZwRqUR6HPYLZaIYGPINKtfLcg7tF3AzYY29rc/3PLRpMciz8/CDAnoZOtM7w2gPkxnS7YtF8AVPP3a9pqICLMhUVdn5rcJumi0oELiiLKrUTs SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jul 2018 02:11:22.1730 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 316ea5cf-d1a0-4ba3-f7aa-08d5f3664023 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0501MB2041 Subject: [dpdk-stable] patch 'net/qede: fix legacy interrupt mode' has been queued to LTS release 17.11.4 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jul 2018 02:11:25 -0000 Hi, FYI, your patch has been queued to LTS release 17.11.4 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 07/28/18. So please shout if anyone has objections. Thanks. Yongseok --- >>From 13c7547c41d0504d6932421ce2f6e124b8754496 Mon Sep 17 00:00:00 2001 From: Shahed Shaikh Date: Sat, 23 Jun 2018 14:20:32 -0700 Subject: [PATCH] net/qede: fix legacy interrupt mode [ upstream commit 245aec2893380e442169c8a1914c36daa444efd3 ] qede pmd does not have support for legacy interrupt mode. This causes slow path completion failure with uio_pci_generic module, since it uses legacy interrupt (INTx) mode. Fix this issue by installing legacy interrupt handler. Fixes: ec94dbc57362 ("qede: add base driver") Signed-off-by: Shahed Shaikh --- drivers/net/qede/qede_ethdev.c | 40 +++++++++++++++++++++++++++++++++++++--- drivers/net/qede/qede_main.c | 2 +- 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c index c63b4d5c9..ee439ae6c 100644 --- a/drivers/net/qede/qede_ethdev.c +++ b/drivers/net/qede/qede_ethdev.c @@ -336,6 +336,24 @@ static void qede_interrupt_action(struct ecore_hwfn *p_hwfn) } static void +qede_interrupt_handler_intx(void *param) +{ + struct rte_eth_dev *eth_dev = (struct rte_eth_dev *)param; + struct qede_dev *qdev = eth_dev->data->dev_private; + struct ecore_dev *edev = &qdev->edev; + u64 status; + + /* Check if our device actually raised an interrupt */ + status = ecore_int_igu_read_sisr_reg(ECORE_LEADING_HWFN(edev)); + if (status & 0x1) { + qede_interrupt_action(ECORE_LEADING_HWFN(edev)); + + if (rte_intr_enable(eth_dev->intr_handle)) + DP_ERR(edev, "rte_intr_enable failed\n"); + } +} + +static void qede_interrupt_handler(void *param) { struct rte_eth_dev *eth_dev = (struct rte_eth_dev *)param; @@ -2844,6 +2862,7 @@ static int qede_common_dev_init(struct rte_eth_dev *eth_dev, bool is_vf) /* Fix up ecore debug level */ uint32_t dp_module = ~0 & ~ECORE_MSG_HW; uint8_t dp_level = ECORE_LEVEL_VERBOSE; + uint32_t int_mode; int rc; /* Extract key data structures */ @@ -2888,8 +2907,22 @@ static int qede_common_dev_init(struct rte_eth_dev *eth_dev, bool is_vf) return -ENODEV; } qede_update_pf_params(edev); - rte_intr_callback_register(&pci_dev->intr_handle, - qede_interrupt_handler, (void *)eth_dev); + + switch (pci_dev->intr_handle.type) { + case RTE_INTR_HANDLE_UIO_INTX: + case RTE_INTR_HANDLE_VFIO_LEGACY: + int_mode = ECORE_INT_MODE_INTA; + rte_intr_callback_register(&pci_dev->intr_handle, + qede_interrupt_handler_intx, + (void *)eth_dev); + break; + default: + int_mode = ECORE_INT_MODE_MSIX; + rte_intr_callback_register(&pci_dev->intr_handle, + qede_interrupt_handler, + (void *)eth_dev); + } + if (rte_intr_enable(&pci_dev->intr_handle)) { DP_ERR(edev, "rte_intr_enable() failed\n"); return -ENODEV; @@ -2897,7 +2930,8 @@ static int qede_common_dev_init(struct rte_eth_dev *eth_dev, bool is_vf) /* Start the Slowpath-process */ memset(¶ms, 0, sizeof(struct qed_slowpath_params)); - params.int_mode = ECORE_INT_MODE_MSIX; + + params.int_mode = int_mode; params.drv_major = QEDE_PMD_VERSION_MAJOR; params.drv_minor = QEDE_PMD_VERSION_MINOR; params.drv_rev = QEDE_PMD_VERSION_REVISION; diff --git a/drivers/net/qede/qede_main.c b/drivers/net/qede/qede_main.c index 373139d7a..95b4cd91b 100644 --- a/drivers/net/qede/qede_main.c +++ b/drivers/net/qede/qede_main.c @@ -279,7 +279,7 @@ static int qed_slowpath_start(struct ecore_dev *edev, /* Start the slowpath */ memset(&hw_init_params, 0, sizeof(hw_init_params)); hw_init_params.b_hw_start = true; - hw_init_params.int_mode = ECORE_INT_MODE_MSIX; + hw_init_params.int_mode = params->int_mode; hw_init_params.allow_npar_tx_switch = true; hw_init_params.bin_fw_data = data; -- 2.11.0