From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753053AbcH3ONM (ORCPT ); Tue, 30 Aug 2016 10:13:12 -0400 Received: from mail-bl2nam02on0043.outbound.protection.outlook.com ([104.47.38.43]:60934 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751550AbcH3ONI (ORCPT ); Tue, 30 Aug 2016 10:13:08 -0400 Authentication-Results: spf=pass (sender IP is 149.199.60.100) smtp.mailfrom=xilinx.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=bestguesspass action=none header.from=xilinx.com; From: Bharat Kumar Gogada To: Marc Zyngier , "robh@kernel.org" , "bhelgaas@google.com" , "colin.king@canonical.com" , Soren Brinkmann , Michal Simek , "arnd@arndb.de" CC: "linux-arm-kernel@lists.infradead.org" , "linux-pci@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Ravikiran Gummaluri Subject: RE: [PATCH 3/3] PCI: Xilinx NWL PCIe: Fix Error for multi function device for legacy interrupts. Thread-Topic: [PATCH 3/3] PCI: Xilinx NWL PCIe: Fix Error for multi function device for legacy interrupts. Thread-Index: AQHSAqrdY8Zj+O9d0E2xRiMSs6E3q6Bg5aOAgACfgzA= Date: Tue, 30 Aug 2016 14:13:01 +0000 Message-ID: <8520D5D51A55D047800579B094147198258D239D@XAP-PVEXMBX01.xlnx.xilinx.com> References: <1472553558-27215-1-git-send-email-bharatku@xilinx.com> <1472553558-27215-3-git-send-email-bharatku@xilinx.com> <57C57975.7040306@arm.com> In-Reply-To: <57C57975.7040306@arm.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.23.94.45] Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.0.0.1202-22544.005 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.100;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(979002)(6009001)(7916002)(2980300002)(438002)(199003)(189002)(7846002)(5660300001)(356003)(5890100001)(2920100001)(5250100002)(7736002)(2900100001)(2501003)(2950100001)(4001430100002)(92566002)(7696003)(4326007)(626004)(50466002)(97756001)(2906002)(8676002)(55846006)(305945005)(106466001)(8936002)(81166006)(81156014)(2201001)(5001770100001)(63266004)(106116001)(50986999)(47776003)(76176999)(23726003)(8746002)(87936001)(3846002)(586003)(19580395003)(46406003)(189998001)(6116002)(33656002)(107886002)(11100500001)(86362001)(102836003)(54356999)(107986001)(5001870100001)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR02MB1149;H:xsj-pvapsmtpgw02;FPR:;SPF:Pass;PTR:unknown-60-100.xilinx.com,xapps1.xilinx.com;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BL2NAM02FT054;1:mKijQvcAUiFT2qBK6mP18Sfm4l5Ez4j4yDKZAEn7nYSU//uiamtrFZwOe/T9wNqwWZjSyJRGTUbisexVM3C6iMwU0vkC8W9eiR/6bt3jnl+5mmXK5Edejt4nRlxq/SCH1TJ/W4lrknabq/c9jhPgUZWvqTlruo44sTbmtw6f6m5iJvQ7O1q+gjfWAMcHYSxhxx52qZ5B5hpOr+Ks/ezVpObf5CCJroww1crh2WOM7mRSCfdVzvOtMDTeEKw9glAUo+AMp9vXbZ1P0d0CRpQpfB8qpggzG41zMd5aKlClpWLbhH+c/Hyeo0W3VvNxXlyzccEjWb3A+3DDMFEREPIgund2R9nRMNjeM4DLbgyIRqfDCoO/Y73EkoxzKg7dvCHFnTyIeXHI3YwYaH1A7Ol/kMUHo6VBrNEbVkYTmCEULgRDl7WViXB0JGh9QFOu3dv/ql9/EVYILm/X2pwz/E1SKBUtVxb3E5XSkVZoJAWHNpZpl7PGZ9yCRRg3WfFgyhg/thqmQkQdWOjkbjKre++utUen847MVXFCgM+2rrIi6Zz3CIGY/x3XB7IWUVndXPz0vEIRBgp5JzCt8K4m1hKNihHH/IBLwZhtOo/LGYxv4aTkotwzg/X3mVF5ZFPdx0K1 X-MS-Office365-Filtering-Correlation-Id: 52a52b43-e6df-4e72-728d-08d3d0dfc31b X-Microsoft-Exchange-Diagnostics: 1;CY1PR02MB1149;2:cjFkKJKczOeW6DKpjUJ7KyDpP2bFPDVqqRItnTAOPyupqa9K3sas17l7OcH6xNPXnclTKufm0Vulrshlrf+4eBH/EZz2Iji5tN9E/xHk5YJcNF1nr2XDdMuJaiRCUOsC60uQ1ECfEdUKf+WnFTZ2DTSbMzjnoFqvuI8JGiyTO59uhfzCwm39GRpSNdTslc+9;3:8LxmPe6ITOvEjzoLNQKUr+awPoLXPHXCouXIjfFdmyP056yx9y7uoKVCkxcs4hZb6PS4YGlalqSaTr+4pbWS2u49BGYsKxOhSOEoGVurmZlqlnhwmYtCJLKoNA3uLVrE18ick3azLXzpqP6QRbS3WeSOdf6yWCiv6yMRkhdk4OewOnl6zSTX+GUmR6gjqps3FXI1HJeQLdjrivu5EGYcfrZbgO9TfFcKlxnmuYtAABJHP7+8nRqLw4BHj69+qKm9PsUU/z0ciS97J5WRV4psLQ==;25:5lzoMumInZBCOZYXgTwcKloXCk2yupFgnlFy6zUgBGUvAkYtWEdSjdq8aniT2qMwK4hCfpGEdX/alGJUhfwCyGkkyNQQLR4nBNPHHrxFFE0gbCg7q+40/UGwHu1yqs/wtLhCse/3amrwmpgLYiwOhmVdQeC+d1+MGSWavsOI3DGC5RhtLr7O+Nm8Ih4j9k7ESm//PIwdSCb8f9lyJcCv6WbadDUXjGm5EOY4W+VZnt8fLPE5yrjTiEhkIXADLVPEJF5MokkWlahiRvph9vwIcA9iD2GdSVLybBVj1JQa8lVaDT+HOJ7SoEwxHxSj1qFAL+p5byFcLXQvggBK8SxdaU44Rt++p/v8mKTxigXA4yxfb0lhcNXIwjJ8vN71zFUgUrqujtN1oghK4ZPjM4H9/TRaAXmQPqsPgYr40NhnZsA= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501002);SRVR:CY1PR02MB1149; X-Microsoft-Exchange-Diagnostics: 1;CY1PR02MB1149;31:37zoqHVSKe+SbtdnSCmumW+HQ1TDVnxm2Y0itrnWsB0KYvjz0hOpSpKg4jEuiSxXb4rhGWIckiyf025dD02CBVtODkcXJrWjWq+fiwiZaFbnE8YwI+n+4NXwXVDmA7YIC4AWE3sn7mtJdwimDIjTy5bKBqFvRysEITfxlo/QWfrUPovs5Jp6Wp/QFSdmE/BYuhHUlBa4u88SFX5d1uEQHHCmWGwa0ABzre1TQxiaPjQ=;20:leiZw+GHXPOWyKLjcxrnQ9kIoNkGGdJ7hsYJAu6HCcWYZ3C2mw9/tohRKkjAYNCQUlAau75PFJQK8OavYNayNGFt82R5Fg1NW+QrguQiEvADf03zKV02vj+P7XVvUrbxOwDICCc0AHENa0mRu+n4uMwo+KOvBe/PmTcMPqFhOUXnmS9j4savPozdLpZIi7GjS3Xc0p0Vhwb6uDo2QO4gGIWG+BfP4kQbVwBguQ48FOA0U7VFpURYhSabYiGHVTUzaqpYg4MEsb760/+oeIaGnFSpbrKWYhhFmb3xjlg6J1GNLkKLmtI4J8VxGT4V+s+OWKjtmPW3mmOEC498dsjEuX1ODetex7KkH5TClhA00x/DXNgNhP3Xvu+XdKwy+/2hQxeawBLHVhhVmsxTFAGtDCxlvlPMST5uzAYPndHrNJw9pkUb5cEuM/0ZL/ItG9Il0asvi3jD5KeAywdseKe44RZ4kkOUiUenRoec3G/2GPqqJ581RvU+i7SU6c5XDNYV X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(13015025)(13017025)(13023025)(13024025)(13018025)(8121501046)(5005006)(3002001)(10201501046)(6055026);SRVR:CY1PR02MB1149;BCL:0;PCL:0;RULEID:;SRVR:CY1PR02MB1149; X-Microsoft-Exchange-Diagnostics: 1;CY1PR02MB1149;4:D28VtyBxXcfbCtJOO3PI37d76rzC53KL/2PQnPOi/LXyRFdB0iK5pIcMT00BYIwM1hsz7JXjNeElRROk3xrXsrvLhZpnPSFlbewNo0klUEvuyIm5MqB1+pmik0x9hjMSL0jAyuU/3y6P+ULMnGGp0P18JCnBcyVi0eQO4EfKCGabSLq2QsaZ9yeAwCCOiLoDpVkAIPicZW7UaAHvW5AUbeow44xCc7KkZdR5l5uAY20GLA5tbdjVWJg39vcEQSgZDke0ujKPkzOpbKiGlEdZ4H5yUPCWutHhknGWdistb8q7+WpLjVNaJwncvASLWYoju68n3Sn3wXKSfQg9B28jhYuJqe47Ngn7UHGNmg9l5mTy2+lnpOgayqfawy6muNx/qNqy9tI+MPnUExs6MwZoBQt/RicgBrHXsybdeHgZ43X5HCIfNX/xpdoEQFzBt8ne/6zLLwB8SVSGT7sV7N4MknvMrx9Rq5K1yRSOcxULY/RNYQHRevQtvsTBTiuD1wY+ X-Forefront-PRVS: 0050CEFE70 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR02MB1149;23:gyy1ckSqFceobppK0yPW+P3XCIekg1SBC7BE8PamE?= =?us-ascii?Q?s0y6aM91VBrj0AR0IkFXB5twMBSUnZDXAtgL9QYBO12O+6yfdRHn6r0GChmG?= =?us-ascii?Q?PcSfq+LJBTLVicv85yqWNLunG5j7ijX2zKdBNw7E93t6kbfTxmSEi9N2OaCZ?= =?us-ascii?Q?2SwJo1BP+0v5ETkxpuPBDdD7SsXTiBCI4HqLdg0UM4iEvA09KJSOI7ga92kP?= =?us-ascii?Q?5/GXhpxl8y/A88G5qiEV6WgcJ6j5/iIW+7qBacyqTJWTXf8os7+pfzZ7gJ7Q?= =?us-ascii?Q?X8rLnLZqz7o9E37Ti0dSglzQVdmUgVrewr0uJx0jnPIo40X48fOQwPgD1ccJ?= =?us-ascii?Q?qdUOu/jGL7e4/t/U2P29noVc4c0AvF7Gk5ifJXSj98LYC3be1TxL5ecM/g3s?= =?us-ascii?Q?cMXoPweavK8cYvdWBb7eH8Sv5+RD7xhoZIuytJK3eV3A9uoAHlkDcJ4ItAvk?= =?us-ascii?Q?kz962RiDEw+GKA0jS0ZEWMtf9ivrf1xLVA+3oq0W73LzspNL1rqAPSh5Jm5h?= =?us-ascii?Q?Yg4WgT0yiMtJ754fGnc0NMS8O+DX1RtOXZtmOZz/nN/gz+adpeWgWDxWhnR2?= =?us-ascii?Q?2J2sWGwxNY6NLXpqkwgLrKizJktZmfx92MzWOm8UlzT6l0exH9vcpFLooyap?= =?us-ascii?Q?hjC9QByDSNemU3RAif7GDcVywlFUI3Pau/SGC8GDWkywto0V4QHnvrViqtoP?= =?us-ascii?Q?P6hjn2oif5VcsVCqFbflOq34eT2MRcFJHWkIjFNw0CTDu6bjn45ksCwcrHxH?= =?us-ascii?Q?gy7I9V0u6GFJADouaci/vqx6oAc0o8Cry//e/iYuIm0UctDJdFJnbE9ISzz9?= =?us-ascii?Q?nQREFNXRlLm2YLeKsJivDChuYh3qGBpKgaxU3daeq1SZqKHoGTNqNFlKuewM?= =?us-ascii?Q?FY3Qi/tmosCTo5h6efZdzspMWomYkpst7uQF7arW4XRSowMPIBwY51RJ0IIo?= =?us-ascii?Q?6zeQhW2ye5nV2iwTEyccYmzlnlVNCLXJeCaavJJGsniFNY0QOQBJaqq/b7BU?= =?us-ascii?Q?c+7IvkZpMRa1eFk19gk/Qiy7gOH6MA6wTlhbvAFkkOD7bKZQhRt/DrjaVBYu?= =?us-ascii?Q?YzW8WscfjN3lVQStzb3ZRDy6duhVJBKG7jn6yrW/Q0OwQcpCvEeSbCX53fRU?= =?us-ascii?Q?Pv8Wo5JUfDr165EtXrVYp2Tg/7rFF+wixCahn2/dLWIIcg/G/GnM472S2Eb3?= =?us-ascii?Q?i3x7Zf0DqQbxyGfCYmQuZSEeHQBnnsjuv/Np/y0imcRNECxK67DtC656Amiu?= =?us-ascii?Q?8r+Cdm77Y5gQ1LBbBHJ3e3nNGjzlL3gqM7/wt004O6s7X+uUU8ttAiPgORgM?= =?us-ascii?Q?xtXB9x9IH8ppKIUG/9fFvnwxLev1+lzYSgc9NJEqc73tNZGu+nndZ6QWZ2Dj?= =?us-ascii?Q?Wxn4xzPwiUz6IhhebfypBQOL2ywaQWvIgzs7Mxp2d+50jIZkEqngIC3nTTuz?= =?us-ascii?Q?Ml12FwC5w=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR02MB1149;6:xhMiOrutgigIU6Q9nVLUHUtbHQLIBP6FsfxTiCtht7tP47k9iSWhGH5aylXdaafO1YNt9GyLjMJDkzywnHzoD5qh9YYOvfp06RIBXe8fnPZYkBRODg8+bQGNx1sfpOomiFLfXsPGeJmiFxz+vtmKzv9KkvK38jqMU72Xi+rM79pQUXg9LblrjVs4afIe0kzqlKP45v9Zx6T1y5bMd1k0f/NjDCa5BThH3zmrDzlsmpqQrMNRAziwDMfY80V2XW9kwBinYQg4BykvuOCHJdXSWMTR2WTzBHwSVjRQ6hxyP/gnwqPKF3zJt1PPnA7V6lENBdjDHi3mCBFvhi2vwsQ9YQ==;5:GafEWa6byOqmGXYmHB3vAOfcSwDJJkoU7wNy1uAPx5S+Jdes49coVaIb+TpNLqG2F8Ifv8JHrc5O8MCPEC2btwsl8+iWpa1NmV2flQt8muZcwYGrnsEKskePKn/ndtMu1eB3twBZpl0kzv+mIOZU9Q==;24:IJZ4anbptguxUOWA2jxBW89Ywj3n23c3N8uPlSx09iVOYqJsNEesvuxnE46pw2ZmoqsT+EVptDNxMhIHwE+FdfKrhWz2v6KGOT3P41e9h2I=;7:TL8IqFgQCotwQR54qCJ0b7h4bO5HRNZhYFGSjIdKZxIDa2St+yZpb+FWxnT4VJLDvdnqPtn9Tv5h4OciQ4gPtkUS56u8lC5MINeCS0JHnh7SenJaUg4wzRjK8X2OoptuKVFRcfV2ZKqwvIaT36/kdYBAa+KNv2SLxmM3kM/udW+BmggpD5OiElJQdPMuk8VN7ZdYBivoBDVYrAxJwaABhQCec5+80dU/+IyvkoU81kSAYnenJRe3oF/UqLGLAmbn SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2016 14:13:05.6355 (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.100];Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR02MB1149 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id u7UEDIWp029795 > Hi Bharat, > > @@ -561,7 +561,7 @@ static int nwl_pcie_init_irq_domain(struct nwl_pcie > *pcie) > > } > > > > pcie->legacy_irq_domain = irq_domain_add_linear(legacy_intc_node, > > - INTX_NUM, > > + INTX_NUM + 1, > > &legacy_domain_ops, > > pcie); > > This feels like the wrong thing to do. You have INTX_NUM irqs, so the domain > allocation should reflect this. On the other hand, the way the driver currently > deals with mappings is quite broken (consistently adding 1 to the HW interrupt). > Hi Marc, Without above change I get following crash in kernel while booting. [ 2.441684] error: hwirq 0x4 is too large for dummy [ 2.441694] ------------[ cut here ]------------ [ 2.441698] WARNING: at kernel/irq/irqdomain.c:344 [ 2.441702] Modules linked in: [ 2.441706] [ 2.441714] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.4.0 #8 [ 2.441718] Hardware name: xlnx,zynqmp (DT) [ 2.441723] task: ffffffc071886b80 ti: ffffffc071888000 task.ti: ffffffc071888000 [ 2.441732] PC is at irq_domain_associate+0x138/0x1c0 [ 2.441738] LR is at irq_domain_associate+0x138/0x1c0 In kernel/irq/irqdomain.c function irq_domain_associate if (WARN(hwirq >= domain->hwirq_max, "error: hwirq 0x%x is too large for %s\n", (int)hwirq, domain->name)) return -EINVAL; Here the hwirq and hwirq_max are equal to 4 without the above condition (INTX_NUM + 1) due to which crash is coming. This is happening as the legacy interrupts are starting from 1 (INTA). And I'm consistently adding 1 to the HW interrupt as in nwl_pcie_leg_handler I get 0th bit set from MSGF_LEG_STATUS if INTA interrupt is raised but my hwirq number being mapped for INTA is 0x1 so that's I'm adding 1 to obtain correct virtual irq. Same case in nwl_pcie_free_irq_domain since hwirq starts from one I'm adding 1 to obtain virtual irq and free it. Thanks & Regards, Bharat This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.