From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751245AbdAULqh (ORCPT ); Sat, 21 Jan 2017 06:46:37 -0500 Received: from mail-by2nam01on0066.outbound.protection.outlook.com ([104.47.34.66]:16096 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750884AbdAULqc (ORCPT ); Sat, 21 Jan 2017 06:46:32 -0500 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; windriver.com; dkim=none (message not signed) header.d=none;windriver.com; dmarc=bestguesspass action=none header.from=xilinx.com; From: Bharat Kumar Gogada To: , , , , , CC: , , , , , Bharat Kumar Gogada Subject: [PATCH 1/4] PCI: Xilinx NWL: Fix, do not check for legacy status in while loop Date: Sat, 21 Jan 2017 16:41:09 +0530 Message-ID: <1484997072-19276-1-git-send-email-bharatku@xilinx.com> X-Mailer: git-send-email 2.1.1 X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.0.0.1202-22836.006 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(39840400002)(39450400003)(39850400002)(39860400002)(39410400002)(2980300002)(438002)(199003)(189002)(356003)(626004)(305945005)(38730400001)(33646002)(107886002)(189998001)(8936002)(36386004)(52956003)(6666003)(5660300001)(81156014)(8676002)(92566002)(50226002)(5001770100001)(81166006)(2201001)(5003940100001)(46386002)(48376002)(47776003)(2906002)(50986999)(4001430100002)(4326007)(106466001)(103686003)(45336002)(50466002)(63266004)(54906002)(42186005)(90966002)(36756003)(107986001);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR02MB1392;H:xsj-pvapsmtpgw01;FPR:;SPF:Pass;PTR:unknown-60-83.xilinx.com;A:1;MX:1;LANG:; X-Microsoft-Exchange-Diagnostics: 1;BL2NAM02FT012;1:ClbBLwZLuwtzcfVrFISMf+7GWLDYcw2oEIJo8juXFLS+II5PnlYL+16/rYVgUJP2xVsZ3TX1mLWKL9QF58QJzZpVSAD1mtWyDgRVrryJ+ZMJQL3vn3kp9GdsBM4YC0itPcdv0PgFxqkU5x3IicOJmJpUuVsI1wtVu2v2sjMUIaocTJn8gpZNjRAgVGIE+oVjCOmm9bqw47BnRrYLQ2U3SCyrMdlbWKCiPf1DgfeRicLhtuWeAv7FOWKSNNHRc6/2Pj1tGfB0FTR36UL7AepvcFRitUDqAmvORGui+9HggkIKO0sUxKh+RpOeGkEyItcWr1tViLfbW2NDjI7yE9uMcXzOCkJTL+5gflKihJqzISMhNJN+VvC9c+APS+o2+jzXD3xFHwJACWlRLHmQVESUpfn2o50CAJcz6gd25LzCcYiYUWJPE5KhKCIR2zT1+yAMsEBqGHOFYxreffL4uFwTWY1RI15knWEMxE5gib2r5XzStqQcPy6ONE8uzRzVx9igBX2T/lWeaThGDW5fuTxXTSLX1EWfs0zZdVluoWH5Qf/gH+USaMivAVHytIW9CrOqsuikRPJikSMA7L7E7Anq4nWoXb+mLkV2cF77QDteWNI= MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: d775be92-7001-47de-0ab1-08d441ee3ceb X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(8251501002);SRVR:SN1PR02MB1392; X-Microsoft-Exchange-Diagnostics: 1;SN1PR02MB1392;3:oWQbixwQUWPIdlIFR2Q04woXMDcdKi0YdqxWnNxgdD2cowzcimsvzepsjYnsmF/E0lFi5eWq7ttwzY8F5qH40afmjQtw3euyPcEr/mEgwGQv2IfvVrPBDT6U7YdReYTrEmBjg6YCwzop1Yu5TNuDD7cE2xX0QZWHknnrqqKU8H9bT38Xn5DzZxnt6jB3a3ZehkaX/JHW7j0YOEqmaauTR/ElXy5SNzUOfxTC3hrvtaR/GwJQNA05WoqbL6mK2GfONGQbHYW4DbTaHNjpucike9Sn2qp31GeYyF9p9mzeO9QhGuAcEUFYPxtM9UWaJIuluOEl8I4/YRPzK4KueTpSRRIkqD6qGAhwwLOJ0VLxBr8LQEWmvPptbErx7sVJ5ssH7cribB3H9Ws42RkqNyNS0Q==;25:t1QP0qeY+JPVtmDs7ffHp88R8sO3LYpc6s/+k6aoAIVNai0m0VoyPVPcfuTQAOQy21wSY1h94kVTRYw2UPMlPppjkuVfCh0SxsiKLfjkrPmmk3skAZl2g76LKQ65ZrypA0gHmue05mZMI9Uhn4glOq1VQllNdQrhEo+G4l5yTTBJ6p9TV8zn8SO2nHzvtnyhk9nWaYh6ByK2LruIG2spiqIL9mQHB6ISHGZqqLUOvnGliu8E4H4+BGQWckauzGYfj9UVJEeyyn00/bhpdjDpFxvibxoB1rTvI1rELA8EBityTMJjgzfYsHJ8wdmnFzpKsVhF2XfjOAFfRgkop6YRAlVtgotT76VdMFle6XdcY0fQpcC+KlQMFvB2qtWepbVjFMwGmtGub/zl8WV+fPNXvzfzEiy+jed6bWTY+FJmyvy/F1KOO//NG1/k4vdWB3ZlImmV06ah6Yzbiy663rCTig== X-Microsoft-Exchange-Diagnostics: 1;SN1PR02MB1392;31:6xKqatqooD9/v1Oo0cvhPGpJ7Ui7EJZ7MzfF5mgugfO0X/cq32v5ZMjkax41tw7XCKUBVSRWfETtQxDehTkp74KecI8mzCjcDU+w3fiwBAd1SBk+BtF/cmgWmum3JA9jxq3DhLs/o2Z53hYXSdy1cOLnHawuND7+cuw+7bqnnve/6j6iyIU5u2oDpR5d3epoGPm0T7uFd+XGrIuu5csXSqnGULWrCbBOUAFRM5qzR2aU/MFhho5VlsFnf0YHquvafpGECqx9nRWojpZq/pl98Q==;20:jy8OHsqth5AGJOtQg4NO8hqzzCKodOnKMq8bB5+Iiplm1/FeCltHmrXcLzaAFsepuIMipzpIjDgstPf1dRBr38uWuumMDEAbZjc/we0pwmq8BJF3cunso2CNRAYsQo1oTTB57t2BPgxPi1lr+jkqAW8HXj6B/toaVc7F7lL31Bo/C+MJI5jOPxns63Lz6X6GnlxDsa0PFLnEalpSUBbi+Px57Tex6LVnG7QvJMA6T7qdUAjcziI6RsBwP24FgEK+MCrZNVJWgNn3eJaTisKTbT54idfiuXGLwZEkABjMrH97L3ef8YRU5xmzTZuCtDuHHI1yiMRy0Ffb4LBr8kShjpwVFFvfMrM/ryYRfCQemwzcPfZRn6aCadkRzdnXr265D40xYpz1SP+zfoLIfFj3VJRbooE0ht0KrQEJm/1ZsPgzE98lLVZ2y1SUJ4w2eDZ4T3h47Rzsk8co2JZeaQ7Wj72nLXE/mJjkVyl4sTQ3mJHvgI/Ri1tbY2BS9HBi3l7t X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(13023025)(13017025)(13015025)(13024025)(13018025)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6041248)(20161123560025)(20161123562025)(20161123555025)(20161123564025)(6072148);SRVR:SN1PR02MB1392;BCL:0;PCL:0;RULEID:;SRVR:SN1PR02MB1392; X-Microsoft-Exchange-Diagnostics: 1;SN1PR02MB1392;4:RV44yWavYVSd9u6X/cWhQlJN9k3Sez/8K3THwpyyMTRy2pz27k1wGrM8lUMBvNv5453gH/YsLZscVe1t9HJjprNxXE0g8V35xR/M5rEyvodE6wzV3Wi1NTLqdmyNeUZ8Hi1tweVxIge1fpLkUX0KM31pPdpCpmukgtBwWeQbrxTV7zBlPplEM2ohnBVT73o2i3SfyfH6I07QiX8sM/LueBlHkjfr1DRALgoEFND0yN1+huoZKWNg55EsA34E+mbwCRPUfB+7i5L5uMZYUHvzh2gaK0uQ/x+Zl1kGJ9mNdER6Lk/Lx6ZCdX7k6t5QmLeqfxFjjW8z7p4/+WexfES/9RHYqBDK/pzLg8wSNMx8OiS20Vme+gG6EHqwrw8pb7e5IdDAvaoebo/m31TqMcjgVVHf2aFpjcSk5QFTBtB9S3XcrMRZy/BUNEI3X/sLzHZvawd1iYB+0XxMxLuaml33cEE0xt0dVam+aSM6C7KHjAqS7bWzNP780VwT40CIeGh5MIOJ+Z3WB6CZSkxU4G8Aj2ZZaeGfCsHDb5PPZ5VXCXCcZt9sEa3v5lEutSynJcPSTxyV0b8y6q1q7LEdhAHz4GG2X3nYi6N0VNsXM3KSNKI1nVwOOSNiSeA82dOx1t4FTJi99MjNysXTmZDk8+7i49bIqpUIRRCxdYvMLw5/ePLKJ/9ikq5vG75FvlEecy3vFER6YwTuhyVhHEWqJobHM2rYR7oZzrnCYMt+DwgkBt0= X-Forefront-PRVS: 01949FE337 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN1PR02MB1392;23:vzbll4uXwJxVMihqQT3h2+/v/I3iQC/mmo2sXHp/L?= =?us-ascii?Q?Le1xyN2dVuwnDTSsk1Mlu3JRs8YF2yh/aWaJRnpYj5ROkq2sr6NVqPOyOZhe?= =?us-ascii?Q?R+yfM7NNzJY/b/rKWtOWYvHtRsk3KKikxw0JTAYIAMBiAMr1y4Lva1+/+9Y8?= =?us-ascii?Q?w3cCrtyy6WLZFvPXG8MYlV9wv4UIDut2viGrcmaCUK2I/a5mZG8c3y9DLvMJ?= =?us-ascii?Q?cykTw58Tn4IItsBFM8wpFHbU5oZ3W8ophhCvZ+gVkcG6NUtgOQmxgJfiD3U/?= =?us-ascii?Q?9e8plp6FlIUthUBDetFLZyCie7RftV2NJQflmpRK9/BXwjZJZHJ3rQrnRi+S?= =?us-ascii?Q?zuyNZyU674E3/f1kW7SP3Ib2FI204IyULDNCw3hOHm03VkN51wMZYlUrDm60?= =?us-ascii?Q?VMt/j0prjxGIwSLWP0qvPYtsFEemDwhpHQtiSZLPPxa0SfcbMRUq/d1n6bgy?= =?us-ascii?Q?KcEDDQv80LvaEkNQ+b2g2nkgJwk/18VwjHTqFWJshB834AV2+zRG1yuvLOnn?= =?us-ascii?Q?MdTYWZuUMTX0OX5Mr69Y2iFHhe/ezVS6KdvXEQDFi1ZmPYH/RZxZ13H+SOZt?= =?us-ascii?Q?4SXeiVDAZuw92H+Fzo8xjCPU+Ur38LUJPmf1r6awF/O9InGBhBPqSOF9bMKO?= =?us-ascii?Q?owq+QO7R9fKkqXhWncuMs9hf/EK9bSpN66je1Ceu7rOgxZZ2gp9o8reIb8yI?= =?us-ascii?Q?yZKG8S4Q5ZwGuPiCcC8vCl1Nt0p12PigaT8RhggGfQp+Tda4bpXxKmCZr+T0?= =?us-ascii?Q?q1LBMHLgEpa8/mk73hWwoakeP6LhQGrQfwZNUZNKZp2U1ViauOLU1irU8Hkz?= =?us-ascii?Q?S8gS+VofrUperOzhXN8C+U3eY3nWYZqnXma+gMKp35C30rq0HWDXfJjH65Mt?= =?us-ascii?Q?ivGXjDh2ea4il/Kqsb6sDV2EeKEOyxa8ZfYBWSi10FrlPJa9t4cm6doBKROq?= =?us-ascii?Q?QYqmoRgx1RgNIBBUpm0PNlwHcveh+vOrT3Txdalk/g512l0pYUxMApIMS2Lz?= =?us-ascii?Q?miKO35UfscuNZRwYrQNd2Ma0p5WoPu+hInc46Mjw4OBgiR+ZoGcjwU8+1o16?= =?us-ascii?Q?ZWiNg29mjCuJXRbYdNQeEBHo18t3Yfw8fvZGm5/+nvbHaorGDc5qkx/wEUuN?= =?us-ascii?Q?ypedx/uHuMZKLFxENOUZTX09SIBC7AsaBJGeKV7msjqkjQNwmWShB5f1iMLy?= =?us-ascii?Q?E21nVATT/Gj1sWL9vD8ayZR16sqxr3YQ7uG?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR02MB1392;6:Y7oiXBV7YtRLyvPvUM2Nyi5/oe8jcrwzSslIzgBkj2N+Yb0M/jTpsBk9xRssruMuCTxQtjc3dWl48E7JTyUsKwIGdhgFqVZGmRMl8O9V2Lrx8kZRd4f+8ZRyuuA9G+mxwAFb/0niBB1jyMsMWcFMY5eESw3OwQtaaUv7Y2DgOsAaHZmTjDcRyQu5DufQcRmNgVlrqJQi7CV4laWOYqU3R+7bOcknHgWDj8DLyUKwJXvRE/v74FE7pGQkmVVbpeynrRa079qUUn1giNOyTGz4i2GKJYmHNf0VS10M75x1H4wGPlgGLZEiosp+bxU27kHgOTMatHcpF23PP26T9msL97fgJRh02qEtALumfOVUaKxpT+wi+TxZ1Oc49OQlsGAI8cLdON5xZTqOlmlFW0mZ9ZmdIi1PTM9gHKz8urJfBQ5OR4OGMwF4rQW9U2CkrPcTowcb9OS3fgPfiteCJru/xw==;5:Kku2yVLQMxEIGot0ywwMivXtOYK40hRXINB7qT/Irtwye3UhERye7iOoJXIzc0EgKISJ4KEdduUHkaxr2/fLS6+mhm03rmV724eSNu17FNDboWZGZ+bRSI1QBxn1Ga9UGJZf8nx+btB7imYHK90dBQ==;24:Fj0ym9ncbhNA426/zP6ZFD97BN6FiWuPIeUzBfkDRPv01VoWau7JuZRqKC00MJogTf7oEztiScMT05eUQul0ZToK7vHYThaH3QXONO5PEY8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN1PR02MB1392;7:GukdMe5lmisJzW2bGipFKkEm8YCo+JCdZrFLNMtyEpYpNNNBd+7y9u64aCckcLRfodMzi5wPJmBjBPBKq36rW8dDAeuSoLxhzIsB+FiN4hiY+hNZaYle3WghctP+LbSLARsFkkATWjyX6ZaIi4pi9TPXtaGJKON9UX/MDHlL1wkxWAiOvdfEvH4D5NcfxtMui4mMtQSQFo0PMuXEakKarInElyeHaGVO6AoLpSHoDCVNbR90BEEu2q1v3IR9XhYlFVv2DsDckwD3skV7ZJ7RoVt2Bj3mlHPVpIL7gqcqforyKYmzZfopCHU0q73Azo/W9pZ9m1ry1e2qpjnmjnuF6/hmz0sq16mDGW8W/qMDphZNasAFpnZve8Pcfj9rY2oAeG7Tb/p1PyjCF/rV9WqFcb5PmgUW+HiNcIpF2GdqwEKEQrbcdQDU8eZj/vQ5/FxsZoxLZrWcpC9alU3D+RcipA== X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2017 11:11:24.4266 (UTC) X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.60.83];Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR02MB1392 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org - The legacy status register value for particular INTx becomes low only after DEASSERT_INTx is received. - Few End Points take time for sending DEASSERT_INTx, checking legacy status register in while loop causes invoking of EP handler continuosly until DEASSERT_INTx is received. Signed-off-by: Bharat Kumar Gogada --- drivers/pci/host/pcie-xilinx-nwl.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/pci/host/pcie-xilinx-nwl.c b/drivers/pci/host/pcie-xilinx-nwl.c index 43eaa4a..c8b5a33 100644 --- a/drivers/pci/host/pcie-xilinx-nwl.c +++ b/drivers/pci/host/pcie-xilinx-nwl.c @@ -342,9 +342,10 @@ static void nwl_pcie_leg_handler(struct irq_desc *desc) chained_irq_enter(chip, desc); pcie = irq_desc_get_handler_data(desc); + status = nwl_bridge_readl(pcie, MSGF_LEG_STATUS) & + MSGF_LEG_SR_MASKALL; - while ((status = nwl_bridge_readl(pcie, MSGF_LEG_STATUS) & - MSGF_LEG_SR_MASKALL) != 0) { + if (status != 0) { for_each_set_bit(bit, &status, INTX_NUM) { virq = irq_find_mapping(pcie->legacy_irq_domain, bit + 1); -- 1.7.1