From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933274AbbJINrr (ORCPT ); Fri, 9 Oct 2015 09:47:47 -0400 Received: from mail-bn1bon0058.outbound.protection.outlook.com ([157.56.111.58]:11680 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933241AbbJINrl convert rfc822-to-8bit (ORCPT ); Fri, 9 Oct 2015 09:47:41 -0400 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=bestguesspass action=none header.from=xilinx.com; From: Bharat Kumar Gogada To: Marc Zyngier , "robh+dt@kernel.org" , "pawel.moll@arm.com" , "mark.rutland@arm.com" , "ijc+devicetree@hellion.org.uk" , "galak@codeaurora.org" , Michal Simek , Soren Brinkmann , "bhelgaas@google.com" , "arnd@arndb.de" , "tinamdar@apm.com" , "treding@nvidia.com" , "rjui@broadcom.com" , "Minghuan.Lian@freescale.com" , "m-karicheri2@ti.com" , "hauke@hauke-m.de" CC: "devicetree@vger.kernel.org" , "linux-pci@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "Ravikiran Gummaluri" , "linux-arm-kernel@lists.infradead.org" Subject: RE: [PATCH v3] PCI: Xilinx-NWL-PCIe: Added support for Xilinx NWL PCIe Host Controller Thread-Topic: [PATCH v3] PCI: Xilinx-NWL-PCIe: Added support for Xilinx NWL PCIe Host Controller Thread-Index: AQHRAE30axxSNXtbqUiNfxHJIZaaMZ5eHQoAgAUQM1A= Date: Fri, 9 Oct 2015 13:47:35 +0000 Message-ID: <8520D5D51A55D047800579B09414719801690DEC@XAP-PVEXMBX01.xlnx.xilinx.com> References: <1444146289-28940-1-git-send-email-bharatku@xilinx.com> <5613F310.6060305@arm.com> In-Reply-To: <5613F310.6060305@arm.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.23.96.164] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.0.0.1202-21868.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11OLC003;1:zp2aNZyuU8nQ+pokBkeblKvf1K8h8Sbj2kva/iCQaIf7t5/OC/CwEJxbLzGrrISSRXgwa1j8DhqyhrFahHa8Y5P2kpHG8qsvY7JJld6fv1LrG9ClkD3nGBs5bEqGVbwrzXriSZM6JjF4lVKw1R7LU51M3x9U2Hy77NoNk+44xNhutST09/pY2BkmsCXITx3MC7zzbQp3Hl2pCcUpTs6gBLVVf5sR4hjOfkBx3XZnHLKZxZnYHUzlqnLx87cQKwQFiSRKxu1wqWkxG2l6RlDBaj4FoTUYTSpt8Fkt9sk13MeBveEVJvyZt8fkfJO9jURkdFMKhuif11cZRNERzgkSSn+Xk5fOMK4y/m8jT/XSclW7C5TGnYNqIyek7warWEuP X-Forefront-Antispam-Report: CIP:149.199.60.83;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(438002)(199003)(164054003)(189002)(50834003)(86362001)(63266004)(54356999)(106466001)(106116001)(2201001)(50986999)(5001960100002)(92566002)(76176999)(5004730100002)(5007970100001)(6806005)(2900100001)(2920100001)(102836002)(2950100001)(33656002)(23726002)(47776003)(11100500001)(55846006)(64706001)(46406003)(189998001)(97756001)(87936001)(50466002)(5001770100001)(5250100002)(230783001)(2501003)(5001920100001)(81156007)(5003600100002)(5008740100001)(46102003)(7059030)(921003)(107986001)(1121003);DIR:OUT;SFP:1101;SCL:1;SRVR:BL2FFO11HUB032;H:xsj-pvapsmtpgw01;FPR:;SPF:Pass;PTR:unknown-60-83.xilinx.com;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11HUB032;2:z4V4YqBo0fNP0h5WK5ig8kDdNzEOPnSiHbd+UpIppTaj4M3qC1V+K2k+WqyCTnBrxq2FslI/qULB22yvHbtElbu1bRpx5iZNAKT0p6ed6iftfLn+3GqjRwM0QlYHw3L/FDAsPO06rLGoRNlUGZYo0F6RrVVS97oap8cWPrOJxWc=;3:SJraRu1nahtMEMFWJK9X2m8zdGxhC+7bA9HLeo0nqju6MzUBCqm4OPlMSWcctZ7Ro18dJzh2HOrDBnQVUZI0E2HFd6/qlPX+4u2cicDVEZxiuermzLt7k4ouDUkwHV/cJpsNZPbOnnhySkwmFTNegAZQh7veY8IXkW8QOV/5d3WkGDQSW0It4m4Kci/jax/X49+D7g7koY+WfCEbTr4gH6zFY9BJ0o36hnV6EnLb9A3kNpKxWWBWOUGJrRy1pjhGuMrXLzyi3pAzIDZvaBLTJw==;25:YFxkvLbV6UyAWg5NUvBk9wXegbP1TvZCpZvhPCMnXMXmO/0URZdGjfBRt7RFxoBaN/eASLerx6sdieNagKzXjyzHsOeWARddu44s5umgPWYPQYrq4c0RxwANzfLyGt4exDaXqkhI0Fw2yJfCWucNYs35TIxNZ1qobsjlDDWC6iSc4MZs+1xIBK8/tMihoL9ZR+akd+L+dHpuk2kGzR4LeMLH7XsbAB8o2Tu11PLhi+0GEeJ+wAo0A9tSdrU98baWMRyJGtKaCnaGHLoIW/NgAg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501001);SRVR:BL2FFO11HUB032; X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11HUB032;20:zn3Avkev2ERhZAlwG0c7K2ltDulj6qdWu5mebV7+Vg4t28uPAPuivmPWBwBoDpKdI1Djbnqxur8tcuyxEue6HJ1r2Fdzyg1x2c+Ib/M445MrAuhxOypTFR6Ov44snqfd+wIIstzMDWvRNMXnzaQAZDEW0ZyYW2TeJm0c9vcXFocqjjh+n2mSMecc1ICuufKD410H2tf5JzVunHQKBNpnfz6skn+v+trp3z2aDziBNsTdPsDDwytkdDoOZnIUMMHAM3oeAAlrycs/J66oCE3lDFWwamse83ENbgTsuLHZYSPYJuHyp6YGhtTNChJOO7L+75M3hzEoswZHahx51Znfa6QCuiDsbyRoBtLcndgofGIP2AgxrfNEdE3jvtsJ2BjPZbRU5rPAai+N2BfYHu1FVvKut6EiwmwkSv8Jb9N4JKgCbvyhaR+ilXZbtXAAPXUVHOHtmqhXeB2w/W+omnzbA9TdgbXJMQXd8ipcq39SARjNmPpx//1C3VNVRTNDMxzd;4:4qgLakVtkB/ctKHOAgXt2lQb8DzMaFlDR3JVyv8BuHG899NxKPz/epeZcG8XpNPRC9VVJElQD9/EkQBCA5Z3DvRelFPleNM0B51QHSmwivjsfgWfbVsWbP35Pw17l7FOIpuh4z385TzGzwKIrAE1r9Ty74KxbzPtsXSxqRoBCKYlBp2onOwcaLyd6Se1bjhCqhQIFNuSgp6H39BS+l3GDxijYDP+sE3MTfQZFSMHHZfe9YJB8dRgTrKZcB1/P9vbiNeahYmsp6yo6/omhmct6ytKDbLdDt8Js8vLnsi2cNr/EpqHiKaaAKUwGSK69Ecjq5BG/2hB6D5FFKBZb7CVHCLyXeNT+HYRksa9oszMsf3cNZ6cachmY6KGAw1fBAjF X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(8121501046)(5005006)(3002001)(10115024);SRVR:BL2FFO11HUB032;BCL:0;PCL:0;RULEID:;SRVR:BL2FFO11HUB032; X-Forefront-PRVS: 0724FCD4CD X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BL2FFO11HUB032;23:WVpEri7F6cjYV+4ZE9xgr+T3lZF0US7g/4oJgPZ5?= =?us-ascii?Q?3kn5DW+CiVLwTfOxk/2eoVAdCvE+jCxYfz2DuBSf1rQcOtmSROqtrlqDV3nk?= =?us-ascii?Q?lj/CDTwxh0Xc6RpZY5RIC8Xc8VaBx8Basc+WkNi/0a1Shlx6inXlcoI8TaIl?= =?us-ascii?Q?ndwkvkXYQn03FWEcDfTiN9JHaY23E/wil/MQcu6uQXjMU4hLCupAgpvhsMhE?= =?us-ascii?Q?jgajBeryCl2PaKTBmVN98shl+/RnJbgo7nY7WFS7HRA/by0NDhUKk1hPhLti?= =?us-ascii?Q?y972yDC7ePpsqwubcR+wbCSbFyCmv7vek5BzBxr16G0wXX0qURkMKlGmeyOB?= =?us-ascii?Q?hdsB39qawcZRrQrWNn2qqbWhwynIgJOLoLA5WIiaa0FFfRCx9iJuxy5s/usR?= =?us-ascii?Q?S1DBXPtlDdf7gLXeaO9g2pkJujrJ02xaPPeMFdh2iSbP/+5FagFcG9tYZ2Hh?= =?us-ascii?Q?c1zetL/u+pZm+WhgjRov7++TTVevBI3aSOXT0yYTBu7xcHbDqvFnPSO+4X7R?= =?us-ascii?Q?jbopkkb+vsvQWpmrGIYJf5rmA6VdmblDkauf+kxkmu2EEY0gRREpgBTBSxn1?= =?us-ascii?Q?F0UAtS2404GxT8a/EAqnK1X/Lhm7ybsypDqa4F0g1ADo/6yyEwEjwCNUf5Xh?= =?us-ascii?Q?uNF97L6o7EjOCLVRE77gEQpUNT3iG9GJjm9mzIJAqIDrXlbxL9NhpSj/iG3a?= =?us-ascii?Q?THqv+vCtnpuirAziwKckCOkW1J2Sjxnmol5eBIW1i6DZRaaH36F7Ba0h6Znu?= =?us-ascii?Q?pTzKVjEdio3C5H1Tyj9UA0B+NDRAT+xevwo3Thhkfj+4weLEE9z8KR3bDgvn?= =?us-ascii?Q?DmYZnc2k6XcvcMSWFMYkV93E+IjCZS3DcB3HOz6tR+do+BnsllV5ncZY6FLs?= =?us-ascii?Q?NzNhgJGo2mJBX6Xo8fJW6AEja8s9zZAk0uco5IFAzVe1Klbl623Po8xF6Cpi?= =?us-ascii?Q?1NOFXNzS5WcDwuZuWQ7v7ngRe/RCeFoP6AKf5i19weXVqWJVx1BId1eMpGmq?= =?us-ascii?Q?a0XtlsB9PxXygSEvAq6YZy493ihoElS9UVGoDrWr3zhdg04xvdiZTvBH6CHh?= =?us-ascii?Q?cukFYHJyWi9PHGp6DXULcoLvNbFFQlO1bECtOHqGp9PUE07H3d1aai8aa7Yj?= =?us-ascii?Q?7sc8lc+UZ32b+oCDNgMbvwYASU4WwjMobhHjyJUEk14fOWylzj3yb1KP+nE4?= =?us-ascii?Q?Q+173QQH7xiS0q2y0ip9C2hOZNz1XoV4k7LkjLuCaBkOJUjE1IJ4zJ+LoAcO?= =?us-ascii?Q?6durFWwskJKlD5kNTgHEFAXkMPdrVXGSg3LqFNFK?= X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11HUB032;5:XNW4zPJyu55WG+WdHxAmtmiQ0pB5VZNP9KaCXtGhhGmZ1vifmOfhMIb9R58mi0sd879hxg0/cHYWZ1MOO36krwwj4bgYNQCkBkudD/Wk1y9YG1sDWSwRKnivC6EWcbfUfv8qm7SGygDoz/P7cJ23ww==;24:cUdtjxzoWnpef7euezOT0qSxx56B7356m/K1yqN4DD5cW5IKQ3XTsZ+VxVds+tkyVimV/taSZ4p3iVwOBuwyhsjt3Sf4OsBlsXUj5v9HRhg= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2015 13:47:39.1660 (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: BL2FFO11HUB032 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > Hi Bharat, >> > Adding PCIe Root Port driver for Xilinx PCIe NWL bridge IP. > > > > +/* SSPL ERROR */ > > +#define SLVERR 0x02 > > +#define DECERR 0x03 > > + > > +struct nwl_msi { /* struct nwl_msi - MSI information > */ > > + struct msi_controller chip; /* chip: MSI controller */ > > We're moving away from msi_controller altogether, as the kernel now has all > the necessary infrastructure to do this properly. > > Please convert this driver to msi domains (see drivers/pci/host/pci-xgene- > msi.c or the gic-v2m driver as examples of how this is being done). As suggested I have gone through the code in pci-gene-msi.c for msi domains, and have gone through IRQ Domain documentation. I mainly observe when we have more than one interrupt controller involved between device and cpu we use "Hierarchy IRQ domain" (parent and child msi domains). But in our case we don't have any such Hierarchy and we have single interrupt controller. In such case is it necessary to use multiple domains in software which actually isn't case in hardware. Thanks Bharat > > > + DECLARE_BITMAP(used, INT_PCI_MSI_NR); /* used: Declare > Bitmap > > + for MSI */ > > + struct irq_domain *domain; /* domain: IRQ domain pointer */ > > + unsigned long pages; /* pages: MSI pages */ > > Overall, I think it would make sense to split the PCIe controller driver and the > MSI controller (in separate files as well). > > Please keep me posted on the updates. > > Thanks, > > M. > -- > Jazz is not dead. It just smells funny...