All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Helgaas <helgaas@kernel.org>
To: Po Liu <po.liu@nxp.com>
Cc: Roy Zang <roy.zang@nxp.com>, Arnd Bergmann <arnd@arndb.de>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Marc Zyngier <marc.zyngier@arm.com>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Stuart Yoder <stuart.yoder@nxp.com>,
	"M.H. Lian" <minghuan.lian@nxp.com>,
	Murali Karicheri <m-karicheri2@ti.com>,
	Mingkai Hu <mingkai.hu@nxp.com>,
	Bjorn Helgaas <bhelgaas@google.com>, Leo Li <leoyang.li@nxp.com>,
	Shawn Guo <shawnguo@kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v3 2/2] pci/aer: interrupt fixup in the quirk
Date: Wed, 21 Sep 2016 16:53:34 -0500	[thread overview]
Message-ID: <20160921215334.GF20006@localhost> (raw)
In-Reply-To: <VI1PR0401MB170983489310BF383C8C7E5B92F60@VI1PR0401MB1709.eurprd04.prod.outlook.com>

On Wed, Sep 21, 2016 at 06:51:55AM +0000, Po Liu wrote:
> Hi Bjorn,
> 
> >  -----Original Message-----
> >  From: Bjorn Helgaas [mailto:helgaas@kernel.org]
> >  Sent: Wednesday, September 21, 2016 4:47 AM
> >  To: Po Liu
> >  Cc: Roy Zang; Arnd Bergmann; devicetree@vger.kernel.org; Marc Zyngier;
> >  linux-pci@vger.kernel.org; linux-kernel@vger.kernel.org; Stuart Yoder;
> >  M.H. Lian; Murali Karicheri; Mingkai Hu; Bjorn Helgaas; Leo Li; Shawn
> >  Guo; linux-arm-kernel@lists.infradead.org
> >  Subject: Re: [PATCH v3 2/2] pci/aer: interrupt fixup in the quirk
> >  
> >  On Mon, Aug 22, 2016 at 10:09:18AM +0000, Po Liu wrote:
> >  > Hi Bjorn,
> >  >
> >  > Sorry for late reply.
> >  >
> >  > I checked the updated kernel with Dongdong mentioned ACPI patch which
> >  was truly affected my quirk patch uploaded. So I suppose the quirk patch
> >  is not qualify to fix the bug.
> >  
> >  I don't understand what you're saying here.
> >  
> >  The quirk worked on your machine.  It apparently didn't work on
> >  Dongdong's machine because of_irq_parse_and_map_pci() is run after the
> >  quirk in this path:
> >  
> >    pci_device_probe
> >      pcibios_alloc_irq                 # arm64
> >        dev->irq = of_irq_parse_and_map_pci
> >  
> >  and of_irq_parse_and_map_pci() returned zero, probably because
> >  of_irq_parse_pci() failed.  My guess is that the reason it works on your
> >  machine but not Dongdong's is that your DTs are different such that
> >  of_irq_parse_pci() works for you but not for Dongdong.
> >  
> >  I think the idea of of_irq_parse_and_map_pci() is to set up a device's
> >  INTx line.  But that doesn't quite apply here because your device
> >  doesn't actually *use* INTx.  So I don't know why of_irq_parse_pci()
> >  works for you.  Maybe that's a symptom of a problem in your DT.
> >  
> >  Or maybe you're saying that the quirk *didn't* work on your machine when
> >  you tested it in a kernel that included d8ed75d59332 ("ARM64:
> >  PCI: ACPI support for legacy IRQs parsing and consolidation with DT
> >  code"). 
> 
> Yes, this point is what I mean. After this patch my quirk patch would not work. 
> Since I discussed with Dongdong, the patches d8ed75d59332 ACPI related were not be merged yet.
> 
> 
> >  But that doesn't make sense either, because prior to
> >  d8ed75d59332, we *always* set
> >  
> >    dev->irq = of_irq_parse_and_map_pci(dev, 0, 0);
> >  
> >  and after the patch we only do it if "acpi_disabled".  I guess I just
> >  don't understand what you're saying.
> 
> Before the patch merged. pcibios_add_device()(which run the ->irq =
> of_irq_parse_and_map_pci(dev, 0, 0);) was loaded before the
> pci_fixup_device(pci_fixup_final).  But after the patch
> d8ed75d59332("ARM64: PCI: ACPI support for legacy IRQs parsing and
> consolidation with DT code") merged, the
> pci_fixup_device(pci_fixup_final) run BEFORE the
> pcibios_alloc_irq()(which run the ->irq =
> of_irq_parse_and_map_pci(dev, 0, 0);). So the dev->irq were
> overwhelm by the pcibios_alloc_irq().

OK.  Prior to d8ed75d59332, arm64 overrode the default empty
pcibios_add_device() implementation, and called
of_irq_parse_and_map_pci() there.  d8ed75d59332 changed that function
to pcibios_alloc_irq(), which is called later, in the driver probe
path.

> When I test, the acpi_disabled is '1' although my kernel config
> default is CONFIG_ACPI=y. And no setting in the uboot with apci=xxx.
> But this is another issue, I didn't deep to check it. 

Likely your platform just doesn't have ACPI or something's wrong in
the initial ACPI setup.

> >  > I were keep thinking what your "explicitly checking for a root port
> >  device" meaning. Do you mean I should upload again the first version
> >  patch which fix it in the portdrv_core.c ? I would upload again if yes.
> >  
> >  No, I did not mean you should go back to the first version of the patch.
> >  If we *can* do this in a quirk, I think that would be much better than
> >  doing it in the PCIe port driver.  I meant that Dongdong's suggestion of
> >  adding this:
> >  
> >    if (pci_pcie_type(dev) != PCI_EXP_TYPE_ROOT_PORT)
> >      return;
> >  
> >  to your quirk made sense to me.
> 
> If the quirk patch could make workaround. It should be the better way.

It doesn't sound like a quirk is going to work because all the quirks
run too early.  I'll respond to the patch itself with more ideas.

> >  > >  -----Original Message-----
> >  > >  From: Bjorn Helgaas [mailto:helgaas@kernel.org]
> >  > >  Sent: Saturday, July 30, 2016 6:42 AM
> >  > >  To: Po Liu
> >  > >  Cc: linux-pci@vger.kernel.org;
> >  > > linux-arm-kernel@lists.infradead.org;
> >  > >  linux-kernel@vger.kernel.org; devicetree@vger.kernel.org; Roy Zang;
> >  > > Arnd  Bergmann; Marc Zyngier; Stuart Yoder; Yang-Leo Li; Minghuan
> >  > > Lian; Murali  Karicheri; Bjorn Helgaas; Shawn Guo; Mingkai Hu
> >  > >  Subject: Re: [PATCH v3 2/2] pci/aer: interrupt fixup in the quirk
> >  > >
> >  > >  On Tue, Jun 14, 2016 at 04:24:05PM +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 <po.liu@nxp.com>
> >  > >
> >  > >  I'm not sure where we're at with this.  Dongdong had some issue
> >  > > (possibly with a version of the quirk on a different platform?), and
> >  > > I  think the suggestion of explicitly checking for a root port
> >  > > device was a  good one.
> >  > >
> >  > >  So please update and repost this for next cycle.
> >  > >
> >  > >  > ---
> >  > >  > changes for V3:
> >  > >  > 	- Move to quirk;
> >  > >  > 	- Only correct the irq in RC mode;
> >  > >  >
> >  > >  >  drivers/pci/quirks.c | 29 +++++++++++++++++++++++++++++  >  1
> >  > > file changed, 29 insertions(+)  >  > diff --git
> >  > > a/drivers/pci/quirks.c b/drivers/pci/quirks.c index  >
> >  > > ee72ebe..8b39cce 100644  > --- a/drivers/pci/quirks.c  > +++
> >  > > b/drivers/pci/quirks.c  > @@ -25,6 +25,7 @@  >  #include
> >  > > <linux/sched.h>  >  #include <linux/ktime.h>  >  #include
> >  > > <linux/mm.h>  > +#include <linux/of_irq.h>
> >  > >  >  #include <asm/dma.h>	/* isa_dma_bridge_buggy */
> >  > >  >  #include "pci.h"
> >  > >  >
> >  > >  > @@ -4419,3 +4420,31 @@ 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;
> >  > >  > +	u8 header_type;
> >  > >  > +	struct device_node *np = NULL;
> >  > >  > +
> >  > >  > +	/* Only for the RC mode device */
> >  > >  > +	pci_read_config_byte(dev, PCI_HEADER_TYPE, &header_type);
> >  > >  > +	if ((header_type & 0x7F) != PCI_HEADER_TYPE_BRIDGE)
> >  > >  > +		return;
> >  > >  > +
> >  > >  > +	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;
> >  > >  > +		}
> >  > >  > +	}
> >  > >  > +}
> >  > >  > +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_FREESCALE, PCI_ANY_ID,  >
> >  > > +quirk_aer_interrupt);  > --  > 2.1.0.27.g96db324  >  >  >
> >  > > _______________________________________________
> >  > >  > linux-arm-kernel mailing list
> >  > >  > linux-arm-kernel@lists.infradead.org
> >  > >  > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> >  > _______________________________________________
> >  > linux-arm-kernel mailing list
> >  > linux-arm-kernel@lists.infradead.org
> >  > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: helgaas@kernel.org (Bjorn Helgaas)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 2/2] pci/aer: interrupt fixup in the quirk
Date: Wed, 21 Sep 2016 16:53:34 -0500	[thread overview]
Message-ID: <20160921215334.GF20006@localhost> (raw)
In-Reply-To: <VI1PR0401MB170983489310BF383C8C7E5B92F60@VI1PR0401MB1709.eurprd04.prod.outlook.com>

On Wed, Sep 21, 2016 at 06:51:55AM +0000, Po Liu wrote:
> Hi Bjorn,
> 
> >  -----Original Message-----
> >  From: Bjorn Helgaas [mailto:helgaas at kernel.org]
> >  Sent: Wednesday, September 21, 2016 4:47 AM
> >  To: Po Liu
> >  Cc: Roy Zang; Arnd Bergmann; devicetree at vger.kernel.org; Marc Zyngier;
> >  linux-pci at vger.kernel.org; linux-kernel at vger.kernel.org; Stuart Yoder;
> >  M.H. Lian; Murali Karicheri; Mingkai Hu; Bjorn Helgaas; Leo Li; Shawn
> >  Guo; linux-arm-kernel at lists.infradead.org
> >  Subject: Re: [PATCH v3 2/2] pci/aer: interrupt fixup in the quirk
> >  
> >  On Mon, Aug 22, 2016 at 10:09:18AM +0000, Po Liu wrote:
> >  > Hi Bjorn,
> >  >
> >  > Sorry for late reply.
> >  >
> >  > I checked the updated kernel with Dongdong mentioned ACPI patch which
> >  was truly affected my quirk patch uploaded. So I suppose the quirk patch
> >  is not qualify to fix the bug.
> >  
> >  I don't understand what you're saying here.
> >  
> >  The quirk worked on your machine.  It apparently didn't work on
> >  Dongdong's machine because of_irq_parse_and_map_pci() is run after the
> >  quirk in this path:
> >  
> >    pci_device_probe
> >      pcibios_alloc_irq                 # arm64
> >        dev->irq = of_irq_parse_and_map_pci
> >  
> >  and of_irq_parse_and_map_pci() returned zero, probably because
> >  of_irq_parse_pci() failed.  My guess is that the reason it works on your
> >  machine but not Dongdong's is that your DTs are different such that
> >  of_irq_parse_pci() works for you but not for Dongdong.
> >  
> >  I think the idea of of_irq_parse_and_map_pci() is to set up a device's
> >  INTx line.  But that doesn't quite apply here because your device
> >  doesn't actually *use* INTx.  So I don't know why of_irq_parse_pci()
> >  works for you.  Maybe that's a symptom of a problem in your DT.
> >  
> >  Or maybe you're saying that the quirk *didn't* work on your machine when
> >  you tested it in a kernel that included d8ed75d59332 ("ARM64:
> >  PCI: ACPI support for legacy IRQs parsing and consolidation with DT
> >  code"). 
> 
> Yes, this point is what I mean. After this patch my quirk patch would not work. 
> Since I discussed with Dongdong, the patches d8ed75d59332 ACPI related were not be merged yet.
> 
> 
> >  But that doesn't make sense either, because prior to
> >  d8ed75d59332, we *always* set
> >  
> >    dev->irq = of_irq_parse_and_map_pci(dev, 0, 0);
> >  
> >  and after the patch we only do it if "acpi_disabled".  I guess I just
> >  don't understand what you're saying.
> 
> Before the patch merged. pcibios_add_device()(which run the ->irq =
> of_irq_parse_and_map_pci(dev, 0, 0);) was loaded before the
> pci_fixup_device(pci_fixup_final).  But after the patch
> d8ed75d59332("ARM64: PCI: ACPI support for legacy IRQs parsing and
> consolidation with DT code") merged, the
> pci_fixup_device(pci_fixup_final) run BEFORE the
> pcibios_alloc_irq()(which run the ->irq =
> of_irq_parse_and_map_pci(dev, 0, 0);). So the dev->irq were
> overwhelm by the pcibios_alloc_irq().

OK.  Prior to d8ed75d59332, arm64 overrode the default empty
pcibios_add_device() implementation, and called
of_irq_parse_and_map_pci() there.  d8ed75d59332 changed that function
to pcibios_alloc_irq(), which is called later, in the driver probe
path.

> When I test, the acpi_disabled is '1' although my kernel config
> default is CONFIG_ACPI=y. And no setting in the uboot with apci=xxx.
> But this is another issue, I didn't deep to check it. 

Likely your platform just doesn't have ACPI or something's wrong in
the initial ACPI setup.

> >  > I were keep thinking what your "explicitly checking for a root port
> >  device" meaning. Do you mean I should upload again the first version
> >  patch which fix it in the portdrv_core.c ? I would upload again if yes.
> >  
> >  No, I did not mean you should go back to the first version of the patch.
> >  If we *can* do this in a quirk, I think that would be much better than
> >  doing it in the PCIe port driver.  I meant that Dongdong's suggestion of
> >  adding this:
> >  
> >    if (pci_pcie_type(dev) != PCI_EXP_TYPE_ROOT_PORT)
> >      return;
> >  
> >  to your quirk made sense to me.
> 
> If the quirk patch could make workaround. It should be the better way.

It doesn't sound like a quirk is going to work because all the quirks
run too early.  I'll respond to the patch itself with more ideas.

> >  > >  -----Original Message-----
> >  > >  From: Bjorn Helgaas [mailto:helgaas at kernel.org]
> >  > >  Sent: Saturday, July 30, 2016 6:42 AM
> >  > >  To: Po Liu
> >  > >  Cc: linux-pci at vger.kernel.org;
> >  > > linux-arm-kernel at lists.infradead.org;
> >  > >  linux-kernel at vger.kernel.org; devicetree at vger.kernel.org; Roy Zang;
> >  > > Arnd  Bergmann; Marc Zyngier; Stuart Yoder; Yang-Leo Li; Minghuan
> >  > > Lian; Murali  Karicheri; Bjorn Helgaas; Shawn Guo; Mingkai Hu
> >  > >  Subject: Re: [PATCH v3 2/2] pci/aer: interrupt fixup in the quirk
> >  > >
> >  > >  On Tue, Jun 14, 2016 at 04:24:05PM +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 <po.liu@nxp.com>
> >  > >
> >  > >  I'm not sure where we're at with this.  Dongdong had some issue
> >  > > (possibly with a version of the quirk on a different platform?), and
> >  > > I  think the suggestion of explicitly checking for a root port
> >  > > device was a  good one.
> >  > >
> >  > >  So please update and repost this for next cycle.
> >  > >
> >  > >  > ---
> >  > >  > changes for V3:
> >  > >  > 	- Move to quirk;
> >  > >  > 	- Only correct the irq in RC mode;
> >  > >  >
> >  > >  >  drivers/pci/quirks.c | 29 +++++++++++++++++++++++++++++  >  1
> >  > > file changed, 29 insertions(+)  >  > diff --git
> >  > > a/drivers/pci/quirks.c b/drivers/pci/quirks.c index  >
> >  > > ee72ebe..8b39cce 100644  > --- a/drivers/pci/quirks.c  > +++
> >  > > b/drivers/pci/quirks.c  > @@ -25,6 +25,7 @@  >  #include
> >  > > <linux/sched.h>  >  #include <linux/ktime.h>  >  #include
> >  > > <linux/mm.h>  > +#include <linux/of_irq.h>
> >  > >  >  #include <asm/dma.h>	/* isa_dma_bridge_buggy */
> >  > >  >  #include "pci.h"
> >  > >  >
> >  > >  > @@ -4419,3 +4420,31 @@ 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;
> >  > >  > +	u8 header_type;
> >  > >  > +	struct device_node *np = NULL;
> >  > >  > +
> >  > >  > +	/* Only for the RC mode device */
> >  > >  > +	pci_read_config_byte(dev, PCI_HEADER_TYPE, &header_type);
> >  > >  > +	if ((header_type & 0x7F) != PCI_HEADER_TYPE_BRIDGE)
> >  > >  > +		return;
> >  > >  > +
> >  > >  > +	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;
> >  > >  > +		}
> >  > >  > +	}
> >  > >  > +}
> >  > >  > +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_FREESCALE, PCI_ANY_ID,  >
> >  > > +quirk_aer_interrupt);  > --  > 2.1.0.27.g96db324  >  >  >
> >  > > _______________________________________________
> >  > >  > linux-arm-kernel mailing list
> >  > >  > linux-arm-kernel at lists.infradead.org
> >  > >  > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> >  > _______________________________________________
> >  > linux-arm-kernel mailing list
> >  > linux-arm-kernel at lists.infradead.org
> >  > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Bjorn Helgaas <helgaas@kernel.org>
To: Po Liu <po.liu@nxp.com>
Cc: Roy Zang <roy.zang@nxp.com>, Arnd Bergmann <arnd@arndb.de>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Marc Zyngier <marc.zyngier@arm.com>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Stuart Yoder <stuart.yoder@nxp.com>,
	"M.H. Lian" <minghuan.lian@nxp.com>,
	Murali Karicheri <m-karicheri2@ti.com>,
	Mingkai Hu <mingkai.hu@nxp.com>,
	Bjorn Helgaas <bhelgaas@google.com>, Leo Li <leoyang.li@nxp.com>,
	Shawn Guo <shawnguo@kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v3 2/2] pci/aer: interrupt fixup in the quirk
Date: Wed, 21 Sep 2016 16:53:34 -0500	[thread overview]
Message-ID: <20160921215334.GF20006@localhost> (raw)
In-Reply-To: <VI1PR0401MB170983489310BF383C8C7E5B92F60@VI1PR0401MB1709.eurprd04.prod.outlook.com>

On Wed, Sep 21, 2016 at 06:51:55AM +0000, Po Liu wrote:
> Hi Bjorn,
> 
> >  -----Original Message-----
> >  From: Bjorn Helgaas [mailto:helgaas@kernel.org]
> >  Sent: Wednesday, September 21, 2016 4:47 AM
> >  To: Po Liu
> >  Cc: Roy Zang; Arnd Bergmann; devicetree@vger.kernel.org; Marc Zyngier;
> >  linux-pci@vger.kernel.org; linux-kernel@vger.kernel.org; Stuart Yoder;
> >  M.H. Lian; Murali Karicheri; Mingkai Hu; Bjorn Helgaas; Leo Li; Shawn
> >  Guo; linux-arm-kernel@lists.infradead.org
> >  Subject: Re: [PATCH v3 2/2] pci/aer: interrupt fixup in the quirk
> >  
> >  On Mon, Aug 22, 2016 at 10:09:18AM +0000, Po Liu wrote:
> >  > Hi Bjorn,
> >  >
> >  > Sorry for late reply.
> >  >
> >  > I checked the updated kernel with Dongdong mentioned ACPI patch which
> >  was truly affected my quirk patch uploaded. So I suppose the quirk patch
> >  is not qualify to fix the bug.
> >  
> >  I don't understand what you're saying here.
> >  
> >  The quirk worked on your machine.  It apparently didn't work on
> >  Dongdong's machine because of_irq_parse_and_map_pci() is run after the
> >  quirk in this path:
> >  
> >    pci_device_probe
> >      pcibios_alloc_irq                 # arm64
> >        dev->irq = of_irq_parse_and_map_pci
> >  
> >  and of_irq_parse_and_map_pci() returned zero, probably because
> >  of_irq_parse_pci() failed.  My guess is that the reason it works on your
> >  machine but not Dongdong's is that your DTs are different such that
> >  of_irq_parse_pci() works for you but not for Dongdong.
> >  
> >  I think the idea of of_irq_parse_and_map_pci() is to set up a device's
> >  INTx line.  But that doesn't quite apply here because your device
> >  doesn't actually *use* INTx.  So I don't know why of_irq_parse_pci()
> >  works for you.  Maybe that's a symptom of a problem in your DT.
> >  
> >  Or maybe you're saying that the quirk *didn't* work on your machine when
> >  you tested it in a kernel that included d8ed75d59332 ("ARM64:
> >  PCI: ACPI support for legacy IRQs parsing and consolidation with DT
> >  code"). 
> 
> Yes, this point is what I mean. After this patch my quirk patch would not work. 
> Since I discussed with Dongdong, the patches d8ed75d59332 ACPI related were not be merged yet.
> 
> 
> >  But that doesn't make sense either, because prior to
> >  d8ed75d59332, we *always* set
> >  
> >    dev->irq = of_irq_parse_and_map_pci(dev, 0, 0);
> >  
> >  and after the patch we only do it if "acpi_disabled".  I guess I just
> >  don't understand what you're saying.
> 
> Before the patch merged. pcibios_add_device()(which run the ->irq =
> of_irq_parse_and_map_pci(dev, 0, 0);) was loaded before the
> pci_fixup_device(pci_fixup_final).  But after the patch
> d8ed75d59332("ARM64: PCI: ACPI support for legacy IRQs parsing and
> consolidation with DT code") merged, the
> pci_fixup_device(pci_fixup_final) run BEFORE the
> pcibios_alloc_irq()(which run the ->irq =
> of_irq_parse_and_map_pci(dev, 0, 0);). So the dev->irq were
> overwhelm by the pcibios_alloc_irq().

OK.  Prior to d8ed75d59332, arm64 overrode the default empty
pcibios_add_device() implementation, and called
of_irq_parse_and_map_pci() there.  d8ed75d59332 changed that function
to pcibios_alloc_irq(), which is called later, in the driver probe
path.

> When I test, the acpi_disabled is '1' although my kernel config
> default is CONFIG_ACPI=y. And no setting in the uboot with apci=xxx.
> But this is another issue, I didn't deep to check it. 

Likely your platform just doesn't have ACPI or something's wrong in
the initial ACPI setup.

> >  > I were keep thinking what your "explicitly checking for a root port
> >  device" meaning. Do you mean I should upload again the first version
> >  patch which fix it in the portdrv_core.c ? I would upload again if yes.
> >  
> >  No, I did not mean you should go back to the first version of the patch.
> >  If we *can* do this in a quirk, I think that would be much better than
> >  doing it in the PCIe port driver.  I meant that Dongdong's suggestion of
> >  adding this:
> >  
> >    if (pci_pcie_type(dev) != PCI_EXP_TYPE_ROOT_PORT)
> >      return;
> >  
> >  to your quirk made sense to me.
> 
> If the quirk patch could make workaround. It should be the better way.

It doesn't sound like a quirk is going to work because all the quirks
run too early.  I'll respond to the patch itself with more ideas.

> >  > >  -----Original Message-----
> >  > >  From: Bjorn Helgaas [mailto:helgaas@kernel.org]
> >  > >  Sent: Saturday, July 30, 2016 6:42 AM
> >  > >  To: Po Liu
> >  > >  Cc: linux-pci@vger.kernel.org;
> >  > > linux-arm-kernel@lists.infradead.org;
> >  > >  linux-kernel@vger.kernel.org; devicetree@vger.kernel.org; Roy Zang;
> >  > > Arnd  Bergmann; Marc Zyngier; Stuart Yoder; Yang-Leo Li; Minghuan
> >  > > Lian; Murali  Karicheri; Bjorn Helgaas; Shawn Guo; Mingkai Hu
> >  > >  Subject: Re: [PATCH v3 2/2] pci/aer: interrupt fixup in the quirk
> >  > >
> >  > >  On Tue, Jun 14, 2016 at 04:24:05PM +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 <po.liu@nxp.com>
> >  > >
> >  > >  I'm not sure where we're at with this.  Dongdong had some issue
> >  > > (possibly with a version of the quirk on a different platform?), and
> >  > > I  think the suggestion of explicitly checking for a root port
> >  > > device was a  good one.
> >  > >
> >  > >  So please update and repost this for next cycle.
> >  > >
> >  > >  > ---
> >  > >  > changes for V3:
> >  > >  > 	- Move to quirk;
> >  > >  > 	- Only correct the irq in RC mode;
> >  > >  >
> >  > >  >  drivers/pci/quirks.c | 29 +++++++++++++++++++++++++++++  >  1
> >  > > file changed, 29 insertions(+)  >  > diff --git
> >  > > a/drivers/pci/quirks.c b/drivers/pci/quirks.c index  >
> >  > > ee72ebe..8b39cce 100644  > --- a/drivers/pci/quirks.c  > +++
> >  > > b/drivers/pci/quirks.c  > @@ -25,6 +25,7 @@  >  #include
> >  > > <linux/sched.h>  >  #include <linux/ktime.h>  >  #include
> >  > > <linux/mm.h>  > +#include <linux/of_irq.h>
> >  > >  >  #include <asm/dma.h>	/* isa_dma_bridge_buggy */
> >  > >  >  #include "pci.h"
> >  > >  >
> >  > >  > @@ -4419,3 +4420,31 @@ 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;
> >  > >  > +	u8 header_type;
> >  > >  > +	struct device_node *np = NULL;
> >  > >  > +
> >  > >  > +	/* Only for the RC mode device */
> >  > >  > +	pci_read_config_byte(dev, PCI_HEADER_TYPE, &header_type);
> >  > >  > +	if ((header_type & 0x7F) != PCI_HEADER_TYPE_BRIDGE)
> >  > >  > +		return;
> >  > >  > +
> >  > >  > +	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;
> >  > >  > +		}
> >  > >  > +	}
> >  > >  > +}
> >  > >  > +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_FREESCALE, PCI_ANY_ID,  >
> >  > > +quirk_aer_interrupt);  > --  > 2.1.0.27.g96db324  >  >  >
> >  > > _______________________________________________
> >  > >  > linux-arm-kernel mailing list
> >  > >  > linux-arm-kernel@lists.infradead.org
> >  > >  > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> >  > _______________________________________________
> >  > linux-arm-kernel mailing list
> >  > linux-arm-kernel@lists.infradead.org
> >  > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Bjorn Helgaas <helgaas@kernel.org>
To: Po Liu <po.liu@nxp.com>
Cc: Roy Zang <roy.zang@nxp.com>, Arnd Bergmann <arnd@arndb.de>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Marc Zyngier <marc.zyngier@arm.com>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Stuart Yoder <stuart.yoder@nxp.com>,
	"M.H. Lian" <minghuan.lian@nxp.com>,
	Murali Karicheri <m-karicheri2@ti.com>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	Bjorn Helgaas <bhelgaas@google.com>, Leo Li <leoyang.li@nxp.com>,
	Shawn Guo <shawnguo@kernel.org>, Mingkai Hu <mingkai.hu@nxp.com>
Subject: Re: [PATCH v3 2/2] pci/aer: interrupt fixup in the quirk
Date: Wed, 21 Sep 2016 16:53:34 -0500	[thread overview]
Message-ID: <20160921215334.GF20006@localhost> (raw)
In-Reply-To: <VI1PR0401MB170983489310BF383C8C7E5B92F60@VI1PR0401MB1709.eurprd04.prod.outlook.com>

On Wed, Sep 21, 2016 at 06:51:55AM +0000, Po Liu wrote:
> Hi Bjorn,
> 
> >  -----Original Message-----
> >  From: Bjorn Helgaas [mailto:helgaas@kernel.org]
> >  Sent: Wednesday, September 21, 2016 4:47 AM
> >  To: Po Liu
> >  Cc: Roy Zang; Arnd Bergmann; devicetree@vger.kernel.org; Marc Zyngier;
> >  linux-pci@vger.kernel.org; linux-kernel@vger.kernel.org; Stuart Yoder;
> >  M.H. Lian; Murali Karicheri; Mingkai Hu; Bjorn Helgaas; Leo Li; Shawn
> >  Guo; linux-arm-kernel@lists.infradead.org
> >  Subject: Re: [PATCH v3 2/2] pci/aer: interrupt fixup in the quirk
> >  
> >  On Mon, Aug 22, 2016 at 10:09:18AM +0000, Po Liu wrote:
> >  > Hi Bjorn,
> >  >
> >  > Sorry for late reply.
> >  >
> >  > I checked the updated kernel with Dongdong mentioned ACPI patch which
> >  was truly affected my quirk patch uploaded. So I suppose the quirk patch
> >  is not qualify to fix the bug.
> >  
> >  I don't understand what you're saying here.
> >  
> >  The quirk worked on your machine.  It apparently didn't work on
> >  Dongdong's machine because of_irq_parse_and_map_pci() is run after the
> >  quirk in this path:
> >  
> >    pci_device_probe
> >      pcibios_alloc_irq                 # arm64
> >        dev->irq = of_irq_parse_and_map_pci
> >  
> >  and of_irq_parse_and_map_pci() returned zero, probably because
> >  of_irq_parse_pci() failed.  My guess is that the reason it works on your
> >  machine but not Dongdong's is that your DTs are different such that
> >  of_irq_parse_pci() works for you but not for Dongdong.
> >  
> >  I think the idea of of_irq_parse_and_map_pci() is to set up a device's
> >  INTx line.  But that doesn't quite apply here because your device
> >  doesn't actually *use* INTx.  So I don't know why of_irq_parse_pci()
> >  works for you.  Maybe that's a symptom of a problem in your DT.
> >  
> >  Or maybe you're saying that the quirk *didn't* work on your machine when
> >  you tested it in a kernel that included d8ed75d59332 ("ARM64:
> >  PCI: ACPI support for legacy IRQs parsing and consolidation with DT
> >  code"). 
> 
> Yes, this point is what I mean. After this patch my quirk patch would not work. 
> Since I discussed with Dongdong, the patches d8ed75d59332 ACPI related were not be merged yet.
> 
> 
> >  But that doesn't make sense either, because prior to
> >  d8ed75d59332, we *always* set
> >  
> >    dev->irq = of_irq_parse_and_map_pci(dev, 0, 0);
> >  
> >  and after the patch we only do it if "acpi_disabled".  I guess I just
> >  don't understand what you're saying.
> 
> Before the patch merged. pcibios_add_device()(which run the ->irq =
> of_irq_parse_and_map_pci(dev, 0, 0);) was loaded before the
> pci_fixup_device(pci_fixup_final).  But after the patch
> d8ed75d59332("ARM64: PCI: ACPI support for legacy IRQs parsing and
> consolidation with DT code") merged, the
> pci_fixup_device(pci_fixup_final) run BEFORE the
> pcibios_alloc_irq()(which run the ->irq =
> of_irq_parse_and_map_pci(dev, 0, 0);). So the dev->irq were
> overwhelm by the pcibios_alloc_irq().

OK.  Prior to d8ed75d59332, arm64 overrode the default empty
pcibios_add_device() implementation, and called
of_irq_parse_and_map_pci() there.  d8ed75d59332 changed that function
to pcibios_alloc_irq(), which is called later, in the driver probe
path.

> When I test, the acpi_disabled is '1' although my kernel config
> default is CONFIG_ACPI=y. And no setting in the uboot with apci=xxx.
> But this is another issue, I didn't deep to check it. 

Likely your platform just doesn't have ACPI or something's wrong in
the initial ACPI setup.

> >  > I were keep thinking what your "explicitly checking for a root port
> >  device" meaning. Do you mean I should upload again the first version
> >  patch which fix it in the portdrv_core.c ? I would upload again if yes.
> >  
> >  No, I did not mean you should go back to the first version of the patch.
> >  If we *can* do this in a quirk, I think that would be much better than
> >  doing it in the PCIe port driver.  I meant that Dongdong's suggestion of
> >  adding this:
> >  
> >    if (pci_pcie_type(dev) != PCI_EXP_TYPE_ROOT_PORT)
> >      return;
> >  
> >  to your quirk made sense to me.
> 
> If the quirk patch could make workaround. It should be the better way.

It doesn't sound like a quirk is going to work because all the quirks
run too early.  I'll respond to the patch itself with more ideas.

> >  > >  -----Original Message-----
> >  > >  From: Bjorn Helgaas [mailto:helgaas@kernel.org]
> >  > >  Sent: Saturday, July 30, 2016 6:42 AM
> >  > >  To: Po Liu
> >  > >  Cc: linux-pci@vger.kernel.org;
> >  > > linux-arm-kernel@lists.infradead.org;
> >  > >  linux-kernel@vger.kernel.org; devicetree@vger.kernel.org; Roy Zang;
> >  > > Arnd  Bergmann; Marc Zyngier; Stuart Yoder; Yang-Leo Li; Minghuan
> >  > > Lian; Murali  Karicheri; Bjorn Helgaas; Shawn Guo; Mingkai Hu
> >  > >  Subject: Re: [PATCH v3 2/2] pci/aer: interrupt fixup in the quirk
> >  > >
> >  > >  On Tue, Jun 14, 2016 at 04:24:05PM +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 <po.liu@nxp.com>
> >  > >
> >  > >  I'm not sure where we're at with this.  Dongdong had some issue
> >  > > (possibly with a version of the quirk on a different platform?), and
> >  > > I  think the suggestion of explicitly checking for a root port
> >  > > device was a  good one.
> >  > >
> >  > >  So please update and repost this for next cycle.
> >  > >
> >  > >  > ---
> >  > >  > changes for V3:
> >  > >  > 	- Move to quirk;
> >  > >  > 	- Only correct the irq in RC mode;
> >  > >  >
> >  > >  >  drivers/pci/quirks.c | 29 +++++++++++++++++++++++++++++  >  1
> >  > > file changed, 29 insertions(+)  >  > diff --git
> >  > > a/drivers/pci/quirks.c b/drivers/pci/quirks.c index  >
> >  > > ee72ebe..8b39cce 100644  > --- a/drivers/pci/quirks.c  > +++
> >  > > b/drivers/pci/quirks.c  > @@ -25,6 +25,7 @@  >  #include
> >  > > <linux/sched.h>  >  #include <linux/ktime.h>  >  #include
> >  > > <linux/mm.h>  > +#include <linux/of_irq.h>
> >  > >  >  #include <asm/dma.h>	/* isa_dma_bridge_buggy */
> >  > >  >  #include "pci.h"
> >  > >  >
> >  > >  > @@ -4419,3 +4420,31 @@ 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;
> >  > >  > +	u8 header_type;
> >  > >  > +	struct device_node *np = NULL;
> >  > >  > +
> >  > >  > +	/* Only for the RC mode device */
> >  > >  > +	pci_read_config_byte(dev, PCI_HEADER_TYPE, &header_type);
> >  > >  > +	if ((header_type & 0x7F) != PCI_HEADER_TYPE_BRIDGE)
> >  > >  > +		return;
> >  > >  > +
> >  > >  > +	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;
> >  > >  > +		}
> >  > >  > +	}
> >  > >  > +}
> >  > >  > +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_FREESCALE, PCI_ANY_ID,  >
> >  > > +quirk_aer_interrupt);  > --  > 2.1.0.27.g96db324  >  >  >
> >  > > _______________________________________________
> >  > >  > linux-arm-kernel mailing list
> >  > >  > linux-arm-kernel@lists.infradead.org
> >  > >  > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> >  > _______________________________________________
> >  > linux-arm-kernel mailing list
> >  > linux-arm-kernel@lists.infradead.org
> >  > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2016-09-21 21:53 UTC|newest]

Thread overview: 187+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-26  6:00 [PATCH 2/2] aer: add support aer interrupt with none MSI/MSI-X/INTx mode Po Liu
2016-05-26  6:00 ` Po Liu
2016-05-26  6:00 ` Po Liu
2016-05-26  6:00 ` Po Liu
2016-06-02  3:48 ` Bjorn Helgaas
2016-06-02  3:48   ` Bjorn Helgaas
2016-06-02  5:01   ` Po Liu
2016-06-02  5:01     ` Po Liu
2016-06-02  5:01     ` Po Liu
2016-06-02 13:55     ` Bjorn Helgaas
2016-06-02 13:55       ` Bjorn Helgaas
2016-06-02 15:37       ` Murali Karicheri
2016-06-02 15:37         ` Murali Karicheri
2016-06-03  4:09         ` Bjorn Helgaas
2016-06-03  4:09           ` Bjorn Helgaas
2016-06-03 17:31           ` Murali Karicheri
2016-06-03 17:31             ` Murali Karicheri
2016-06-04  3:48             ` Bjorn Helgaas
2016-06-04  3:48               ` Bjorn Helgaas
2016-06-06  7:32               ` Po Liu
2016-06-06  7:32                 ` Po Liu
2016-06-06  7:32                 ` Po Liu
2016-06-06  7:32                 ` Po Liu
2016-06-06 14:01                 ` Murali Karicheri
2016-06-06 14:01                   ` Murali Karicheri
2016-06-06 18:10                   ` Bjorn Helgaas
2016-06-06 18:10                     ` Bjorn Helgaas
2016-06-07 10:07                     ` Po Liu
2016-06-07 10:07                       ` Po Liu
2016-06-07 10:07                       ` Po Liu
2016-06-07 10:07                       ` Po Liu
2016-06-07 22:46                       ` Bjorn Helgaas
2016-06-07 22:46                         ` Bjorn Helgaas
2016-06-07 22:46                         ` Bjorn Helgaas
2016-06-08  4:56                         ` Po Liu
2016-06-08  4:56                           ` Po Liu
2016-06-08  4:56                           ` Po Liu
2016-06-08  4:56                           ` Po Liu
2016-06-14  6:12 ` [PATCH v2 1/2] nxp/dts: add pcie aer interrupt-name property in the dts Po Liu
2016-06-14  6:12   ` Po Liu
2016-06-14  6:12   ` Po Liu
2016-06-14  6:12   ` Po Liu
2016-06-14  6:12   ` [PATCH v2 2/2] pci/aer: interrupt fixup in the quirk Po Liu
2016-06-14  6:12     ` Po Liu
2016-06-14  6:12     ` Po Liu
2016-06-16 13:54     ` Bjorn Helgaas
2016-06-16 13:54       ` Bjorn Helgaas
2016-06-17  3:30       ` Po Liu
2016-06-17  3:30         ` Po Liu
2016-06-17  3:30         ` Po Liu
2016-06-17  3:30         ` Po Liu
2016-07-01  8:46       ` Po Liu
2016-07-01  8:46         ` Po Liu
2016-07-01  8:46         ` Po Liu
2016-07-01  8:46         ` Po Liu
2016-06-14  8:24 ` [PATCH v3 1/2] nxp/dts: add pcie aer interrupt-name property in the dts Po Liu
2016-06-14  8:24   ` Po Liu
2016-06-14  8:24   ` Po Liu
2016-06-14  8:24   ` Po Liu
2016-06-14  8:24   ` [PATCH v3 2/2] pci/aer: interrupt fixup in the quirk Po Liu
2016-06-14  8:24     ` Po Liu
2016-06-14  8:24     ` Po Liu
2016-06-14  8:24     ` Po Liu
2016-06-23  5:43     ` Dongdong Liu
2016-06-23  5:43       ` Dongdong Liu
2016-06-23  5:43       ` Dongdong Liu
2016-07-01  8:40       ` Po Liu
2016-07-01  8:40         ` Po Liu
2016-07-01  8:40         ` Po Liu
2016-07-01  8:40         ` Po Liu
2016-07-04  8:44     ` Dongdong Liu
2016-07-04  8:44       ` Dongdong Liu
2016-07-04  8:44       ` Dongdong Liu
2016-07-05  3:03       ` Po Liu
2016-07-05  3:03         ` Po Liu
2016-07-05  3:03         ` Po Liu
2016-07-06  8:38         ` Dongdong Liu
2016-07-06  8:38           ` Dongdong Liu
2016-07-06  8:38           ` Dongdong Liu
2016-07-29 22:41     ` Bjorn Helgaas
2016-07-29 22:41       ` Bjorn Helgaas
2016-07-29 22:41       ` Bjorn Helgaas
2016-07-29 22:41       ` Bjorn Helgaas
2016-08-22 10:09       ` Po Liu
2016-08-22 10:09         ` Po Liu
2016-08-22 10:09         ` Po Liu
2016-08-22 10:09         ` Po Liu
2016-09-20 20:47         ` Bjorn Helgaas
2016-09-20 20:47           ` Bjorn Helgaas
2016-09-21  6:51           ` Po Liu
2016-09-21  6:51             ` Po Liu
2016-09-21  6:51             ` Po Liu
2016-09-21  6:51             ` Po Liu
2016-09-21 21:53             ` Bjorn Helgaas [this message]
2016-09-21 21:53               ` Bjorn Helgaas
2016-09-21 21:53               ` Bjorn Helgaas
2016-09-21 21:53               ` Bjorn Helgaas
2016-08-31  6:37     ` [PATCH v4 1/2] nxp/dts: add pcie aer interrupt-name property in the dts Po Liu
2016-08-31  6:37       ` Po Liu
2016-08-31  6:37       ` Po Liu
2016-08-31  6:37       ` [PATCH v4 2/2] pci:aer: add support aer interrupt with none MSI/MSI-X/INTx mode Po Liu
2016-08-31  6:37         ` Po Liu
2016-08-31  6:37         ` Po Liu
2016-09-02 15:17         ` Rob Herring
2016-09-02 15:17           ` Rob Herring
2016-09-02 15:17           ` Rob Herring
2016-09-05  6:05           ` Po Liu
2016-09-05  6:05             ` Po Liu
2016-09-05  6:05             ` Po Liu
2016-09-05  6:05             ` Po Liu
2016-09-13  4:40         ` [PATCH v5 1/3] arm/dts: add pcie aer interrupt-name property in the dts Po Liu
2016-09-13  4:40           ` Po Liu
2016-09-13  4:40           ` Po Liu
2016-09-13  4:40           ` Po Liu
2016-09-13  4:40           ` [PATCH v5 2/3] arm64/dts: " Po Liu
2016-09-13  4:40             ` Po Liu
2016-09-13  4:40             ` Po Liu
2016-09-13  4:40           ` [PATCH v5 3/3] pci:aer: add support aer interrupt with none MSI/MSI-X/INTx mode Po Liu
2016-09-13  4:40             ` Po Liu
2016-09-13  4:40             ` Po Liu
2016-09-13  4:40             ` Po Liu
2016-09-18  0:52             ` Shawn Guo
2016-09-18  0:52               ` Shawn Guo
2016-09-18  0:52               ` Shawn Guo
2016-09-18  3:37               ` Po Liu
2016-09-18  3:37                 ` Po Liu
2016-09-18  3:37                 ` Po Liu
2016-09-18  3:37                 ` Po Liu
2016-09-20 12:39                 ` Shawn Guo
2016-09-20 12:39                   ` Shawn Guo
2016-09-20 12:39                   ` Shawn Guo
2016-09-21  6:54                   ` Po Liu
2016-09-21  6:54                     ` Po Liu
2016-09-21  6:54                     ` Po Liu
2016-09-21  6:54                     ` Po Liu
2016-09-30 22:13                     ` Shawn Guo
2016-09-30 22:13                       ` Shawn Guo
2016-09-23 13:06                 ` Rob Herring
2016-09-23 13:06                   ` Rob Herring
2016-09-26  8:25                   ` Po Liu
2016-09-26  8:25                     ` Po Liu
2016-09-26  8:25                     ` Po Liu
2016-09-26  8:25                     ` Po Liu
2016-09-21 22:37             ` Bjorn Helgaas
2016-09-21 22:37               ` Bjorn Helgaas
2016-09-21 22:37               ` Bjorn Helgaas
2016-09-21 22:37               ` Bjorn Helgaas
2016-09-22  2:53               ` Po Liu
2016-09-22  2:53                 ` Po Liu
2016-09-22  2:53                 ` Po Liu
2016-09-22  2:53                 ` Po Liu
2016-09-30  9:11             ` [PATCH v6 1/3] arm/dts-ls1021: add pcie aer/pme interrupt-name property in the dts Po Liu
2016-09-30  9:11               ` Po Liu
2016-09-30  9:11               ` Po Liu
2016-09-30  9:11               ` Po Liu
2016-09-30  9:11               ` [PATCH v6 2/3] arm64/dts-ls1043-ls2080: " Po Liu
2016-09-30  9:11                 ` Po Liu
2016-09-30  9:11                 ` Po Liu
2016-09-30  9:11                 ` Po Liu
2016-09-30  9:11               ` [PATCH v6 3/3] pci:add support aer/pme interrupts with none MSI/MSI-X/INTx mode Po Liu
2016-09-30  9:11                 ` Po Liu
2016-09-30  9:11                 ` Po Liu
2016-09-30  9:11                 ` Po Liu
2016-10-08 20:49                 ` Rob Herring
2016-10-08 20:49                   ` Rob Herring
2016-10-08 20:49                   ` Rob Herring
2016-10-09  2:47                   ` Po Liu
2016-10-09  2:47                     ` Po Liu
2016-10-09  2:47                     ` Po Liu
2016-10-09  2:47                     ` Po Liu
2016-09-05  2:25       ` [PATCH v4 1/2] nxp/dts: add pcie aer interrupt-name property in the dts Shawn Guo
2016-09-05  2:25         ` Shawn Guo
2016-09-12 22:13       ` Bjorn Helgaas
2016-09-12 22:13         ` Bjorn Helgaas
2016-09-12 22:13         ` Bjorn Helgaas
2016-09-13  3:02         ` Po Liu
2016-09-13  3:02           ` Po Liu
2016-09-13  3:02           ` Po Liu
2016-09-13  3:02           ` Po Liu
2016-06-16  0:36   ` [PATCH v3 " Shawn Guo
2016-06-16  0:36     ` Shawn Guo
2016-06-16 10:50     ` Po Liu
2016-06-16 10:50       ` Po Liu
2016-06-16 10:50       ` Po Liu
2016-06-16 10:50       ` Po Liu
2016-06-16 22:19   ` Rob Herring
2016-06-16 22:19     ` Rob Herring

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160921215334.GF20006@localhost \
    --to=helgaas@kernel.org \
    --cc=arnd@arndb.de \
    --cc=bhelgaas@google.com \
    --cc=devicetree@vger.kernel.org \
    --cc=leoyang.li@nxp.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=m-karicheri2@ti.com \
    --cc=marc.zyngier@arm.com \
    --cc=minghuan.lian@nxp.com \
    --cc=mingkai.hu@nxp.com \
    --cc=po.liu@nxp.com \
    --cc=roy.zang@nxp.com \
    --cc=shawnguo@kernel.org \
    --cc=stuart.yoder@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.