From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755257AbcFQDbD (ORCPT ); Thu, 16 Jun 2016 23:31:03 -0400 Received: from mail-db5eur01on0059.outbound.protection.outlook.com ([104.47.2.59]:27876 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754906AbcFQDbB (ORCPT ); Thu, 16 Jun 2016 23:31:01 -0400 From: Po Liu To: Bjorn Helgaas CC: "linux-pci@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "devicetree@vger.kernel.org" , Bjorn Helgaas , Shawn Guo , Marc Zyngier , Rob Herring , Roy Zang , Mingkai Hu , Stuart Yoder , Yang-Leo Li , Arnd Bergmann , Minghuan Lian , Murali Karicheri Subject: RE: [PATCH v2 2/2] pci/aer: interrupt fixup in the quirk Thread-Topic: [PATCH v2 2/2] pci/aer: interrupt fixup in the quirk Thread-Index: AQHRxgU+yq59zqnryUiV9LybcFtHU5/sIR4AgADHxgA= Date: Fri, 17 Jun 2016 03:30:56 +0000 Message-ID: References: <1464242406-20203-1-git-send-email-po.liu@nxp.com> <1465884747-1517-1-git-send-email-po.liu@nxp.com> <1465884747-1517-2-git-send-email-po.liu@nxp.com> <20160616135420.GA31343@localhost> In-Reply-To: <20160616135420.GA31343@localhost> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=po.liu@nxp.com; x-originating-ip: [199.59.230.102] x-ms-office365-filtering-correlation-id: 02e25dca-acb5-48e1-386f-08d3965fcbab x-microsoft-exchange-diagnostics: 1;VI1PR04MB1021;6:kUswBZxMMlPM8hzPlNqTzWsjsJwEgbFeMH5Wi8zz1yUbuf022QLZ5nPERCY1MS9MAA5x3eTVuCQGV3C0sggQTCrvZfNwA2bFSfP6IZ3ij8CIUOtLcic+SHfMAk6Q8HZTJJpuc8dUkDqzuyqk9O0tyBTyDeVKBzPpzJlyaHiqgssP2+QURHD9tCGsIudeN+2YYfQ4PX0x9+imfs35CDynNNZ2VzZn5qEgYwavK24NWvxXrMuD3cbyIOFe9SW5XalYyBLTOK6aGuhs03SVebV0GSKhcWCje797Db+QcfvErre2HvhAsEqSCLwLzK2ROgbDLwN0s8rneIUvhAqWTUrJyw==;5:FFuahQxWUbZujT96QDPv5yWhyWyk/hKzfBjA2OcqdON0Jj/33ASiKUr2TFp1MIsV7aMmWv8N6qqPbrvU7WmVbY1HuT08eUYMvbfXuL45n6ybZxtyoE3kZNWKPtuZuuYyZegNTIZaYvssOingR+8gew==;24:kYK8ttZC2MFShfQqbvRu8mPte9bAIMkrt1s5vM0he5UkoCSX0B+/7TAOybapDYUlzM+DwPh9FEFXVmGv2kn35pm4RiiUjh1pi3t5L/51/aM=;7:I2h7dRhkyTawseI5E/y1d9stlSVrukEbX6pVNcf3WGQ+6sssrfVGUfPA3i4fA0t4DIdcO8JtKvLJbGXzfHP6l2iylnOa6KuPDnHuHaAStber02k+uIgmzykAZ2Z0aqkHbJ/NgorDolvNqxs+fyEqOSoXM9nJ4AGr+wvYIcZOCBT/G4U3+Ce82LJcMwAmgfuavCRP3Bcj86fOeobcPTH1nA== x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:VI1PR04MB1021; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(9452136761055)(185117386973197)(258649278758335); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6055026);SRVR:VI1PR04MB1021;BCL:0;PCL:0;RULEID:;SRVR:VI1PR04MB1021; x-forefront-prvs: 09760A0505 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(6009001)(7916002)(24454002)(377454003)(13464003)(199003)(189002)(10400500002)(8676002)(189998001)(110136002)(93886004)(81166006)(8936002)(9686002)(86362001)(74316001)(5002640100001)(50986999)(102836003)(4326007)(81156014)(586003)(76576001)(5008740100001)(122556002)(54356999)(66066001)(76176999)(105586002)(106116001)(15975445007)(106356001)(77096005)(5004730100002)(97736004)(5003600100002)(2950100001)(2906002)(6116002)(68736007)(101416001)(19580395003)(19580405001)(2900100001)(33656002)(92566002)(3660700001)(11100500001)(3846002)(3280700002)(87936001)(422495003);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR04MB1021;H:VI1PR0401MB1709.eurprd04.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;CAT:NONE;LANG:en;CAT:NONE; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jun 2016 03:30:57.0185 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB1021 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 base64 to 8bit by mail.home.local id u5H3VR7Q006221 > -----Original Message----- > From: Bjorn Helgaas [mailto:helgaas@kernel.org] > Sent: Thursday, June 16, 2016 9:54 PM > To: Po Liu > Cc: linux-pci@vger.kernel.org; linux-arm-kernel@lists.infradead.org; > linux-kernel@vger.kernel.org; devicetree@vger.kernel.org; Bjorn Helgaas; > Shawn Guo; Marc Zyngier; Rob Herring; Roy Zang; Mingkai Hu; Stuart Yoder; > Yang-Leo Li; Arnd Bergmann; Minghuan Lian; Murali Karicheri > Subject: Re: [PATCH v2 2/2] pci/aer: interrupt fixup in the quirk > > On Tue, Jun 14, 2016 at 02:12:27PM +0800, Po Liu wrote: > > On some platforms, root port doesn't support MSI/MSI-X/INTx in RC mode. > > When chip support the aer interrupt with none MSI/MSI-X/INTx mode, > > maybe there is interrupt line for aer pme etc. Search the interrupt > > number in the fdt file. Then fixup the dev->irq with it. > > > > Signed-off-by: Po Liu > > --- > > changes for V2: > > - Move to the quirk file > > > > drivers/pci/quirks.c | 23 +++++++++++++++++++++++ > > 1 file changed, 23 insertions(+) > > > > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index > > ee72ebe..909d479 100644 > > --- a/drivers/pci/quirks.c > > +++ b/drivers/pci/quirks.c > > Is there any possibility of this part being used on different arches, or > will it only ever be on arm64 (or whatever it is)? If the latter, it > could go somewhere like arch/arm64/kernel/quirks.c (which doesn't exist > yet). NXP Layerscape1 is base on the arm 32bit design. Also need the fixup. > > > @@ -25,6 +25,7 @@ > > #include > > #include > > #include > > +#include > > #include /* isa_dma_bridge_buggy */ > > #include "pci.h" > > > > @@ -4419,3 +4420,25 @@ static void quirk_intel_qat_vf_cap(struct > pci_dev *pdev) > > } > > } > > DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x443, > > quirk_intel_qat_vf_cap); > > + > > +/* If root port doesn't support MSI/MSI-X/INTx in RC mode, > > + * but use standalone irq. Read the device tree for the aer > > + * interrupt number. > > + */ > > +static void quirk_aer_interrupt(struct pci_dev *dev) { > > + int ret; > > + struct device_node *np = NULL; > > + > > + if (dev->bus->dev.of_node) > > + np = dev->bus->dev.of_node; > > + > > + if (IS_ENABLED(CONFIG_OF_IRQ) && np) { > > + ret = of_irq_get_byname(np, "aer"); > > + if (ret > 0) { > > + dev->no_msi = 1; > > + dev->irq = ret; > > + } > > + } > > What does this mean for the other PCIe services, e.g., PME? I guess > this makes the existing AER code work unchanged. But I thought PME had > a similar situation and was connected up to a different interrupt than > AER was. Yes, PME is similar, HP is not support. I think better to disable the PME service irq in the quirk. But seems it is no use because quirk fixup is only running in init phase time(except suspend, resume). > > > +} > > +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_FREESCALE, PCI_ANY_ID, > > +quirk_aer_interrupt); > > -- > > 2.1.0.27.g96db324 > > > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-pci" > > in the body of a message to majordomo@vger.kernel.org More majordomo > > info at http://vger.kernel.org/majordomo-info.html