From mboxrd@z Thu Jan 1 00:00:00 1970 From: l.stach@pengutronix.de (Lucas Stach) Date: Fri, 15 Apr 2016 10:21:09 +0200 Subject: [PATCH 2/2] ARM: imx_v6_v7_defconfig: enable PCI_MSI In-Reply-To: References: <1448902811-11399-1-git-send-email-l.stach@pengutronix.de> <1448902811-11399-2-git-send-email-l.stach@pengutronix.de> Message-ID: <1460708469.22710.4.camel@pengutronix.de> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Am Donnerstag, den 14.04.2016, 08:13 -0700 schrieb Tim Harvey: > On Mon, Nov 30, 2015 at 9:00 AM, Lucas Stach wrote: > > This has been stable on i.MX6 for a good while now and there is no > > reason to keep it disabled, as it allows to allocate non-shared > > IRQs if several PCIe devices are connected to a single host. > > > > Signed-off-by: Lucas Stach > > --- > > arch/arm/configs/imx_v6_v7_defconfig | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig > > index 4187f69f6630..e2ce60d00e8a 100644 > > --- a/arch/arm/configs/imx_v6_v7_defconfig > > +++ b/arch/arm/configs/imx_v6_v7_defconfig > > @@ -45,6 +45,7 @@ CONFIG_SOC_IMX7D=y > > CONFIG_SOC_LS1021A=y > > CONFIG_SOC_VF610=y > > CONFIG_PCI=y > > +CONFIG_PCI_MSI=y > > CONFIG_PCI_IMX6=y > > CONFIG_SMP=y > > CONFIG_PREEMPT_VOLUNTARY=y > > -- > > 2.6.2 > > > > > > _______________________________________________ > > linux-arm-kernel mailing list > > linux-arm-kernel at lists.infradead.org > > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > > Lucas, > > Any thoughts on why enabling MSI on IMX6 breaks legacy interrupts? > > Again, many PCI devices/drivers don't support MSI and thus enabling > MSI as this patch does makes this config break many PCI devices on > IMX6. > > I have found that MSI does indeed work on the IMX6 for cards/drivers > that use MSI, but for those that don't the legacy interrupts never > fire regardless of going through a bridge or directly hanging off the > IMX6. I assume you can confirm this on your boards/devices as well? > No, this seems to be an errata in the DW PCIe core. The manual states that legacy IRQs and MSIs can't be used together, but I thought this only applies to the EP part of the core. We can probably fix the simple configuration by not enabling MSI support until someone actually requests to set up an MSI IRQ, so both IRQ types work when only one EP is connected. I don't have any idea yet how to fix setups with a PCIe switch where some connected EPs might like to use MSIs while some others can't use them. Regards, Lucas