Message ID | alpine.DEB.2.21.9999.1907251426450.32766@viisi.sifive.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] pci: Kconfig: select PCI_MSI_IRQ_DOMAIN by default on RISC-V | expand |
On Fri, Jul 26, 2019 at 5:28 AM Paul Walmsley <paul.walmsley@sifive.com> wrote: > > From: Wesley Terpstra <wesley@sifive.com> > > This is part of adding support for RISC-V systems with PCIe host > controllers that support message-signaled interrupts. > > Signed-off-by: Wesley Terpstra <wesley@sifive.com> > [paul.walmsley@sifive.com: wrote patch description; split this > patch from the arch/riscv patch] > Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com> > --- > drivers/pci/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig > index 2ab92409210a..beb3408a0272 100644 > --- a/drivers/pci/Kconfig > +++ b/drivers/pci/Kconfig > @@ -52,7 +52,7 @@ config PCI_MSI > If you don't know what to do here, say Y. > > config PCI_MSI_IRQ_DOMAIN > - def_bool ARC || ARM || ARM64 || X86 > + def_bool ARC || ARM || ARM64 || X86 || RISCV > depends on PCI_MSI > select GENERIC_MSI_IRQ_DOMAIN > > -- Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Hi Paul, Wesley, On Thu, Jul 25, 2019 at 02:28:07PM -0700, Paul Walmsley wrote: > From: Wesley Terpstra <wesley@sifive.com> > > This is part of adding support for RISC-V systems with PCIe host > controllers that support message-signaled interrupts. > > Signed-off-by: Wesley Terpstra <wesley@sifive.com> > [paul.walmsley@sifive.com: wrote patch description; split this > patch from the arch/riscv patch] > Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com> > --- > drivers/pci/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig > index 2ab92409210a..beb3408a0272 100644 > --- a/drivers/pci/Kconfig > +++ b/drivers/pci/Kconfig > @@ -52,7 +52,7 @@ config PCI_MSI > If you don't know what to do here, say Y. > > config PCI_MSI_IRQ_DOMAIN > - def_bool ARC || ARM || ARM64 || X86 > + def_bool ARC || ARM || ARM64 || X86 || RISCV The other arches listed here either supply their own include/asm/msi.h or generate it: $ ls arch/*/include/asm/msi.h arch/x86/include/asm/msi.h $ grep msi.h arch/*/include/asm/Kbuild arch/arc/include/asm/Kbuild:generic-y += msi.h arch/arm64/include/asm/Kbuild:generic-y += msi.h arch/arm/include/asm/Kbuild:generic-y += msi.h arch/mips/include/asm/Kbuild:generic-y += msi.h arch/powerpc/include/asm/Kbuild:generic-y += msi.h arch/sparc/include/asm/Kbuild:generic-y += msi.h For example, see f8430eae9f1b ("PCI/MSI: Enable PCI_MSI_IRQ_DOMAIN support for ARC") be091d468a0a ("arm64: PCI/MSI: Use asm-generic/msi.h") 0ab089c2548c ("ARM: Add msi.h to Kbuild") I didn't look into the details of msi.h generation, but I assume RISC-V needs to do something similar? If so, I think that should be part of this patch to avoid issues. If CONFIG_GENERIC_MSI_IRQ_DOMAIN is defined, include/linux/msi.h #includes <asm/msi.h> and I don't see where that would come from. > depends on PCI_MSI > select GENERIC_MSI_IRQ_DOMAIN Bjorn
Hi Bjorn, On Thu, 8 Aug 2019, Bjorn Helgaas wrote: > On Thu, Jul 25, 2019 at 02:28:07PM -0700, Paul Walmsley wrote: > > From: Wesley Terpstra <wesley@sifive.com> > > > > This is part of adding support for RISC-V systems with PCIe host > > controllers that support message-signaled interrupts. > > > > Signed-off-by: Wesley Terpstra <wesley@sifive.com> > > [paul.walmsley@sifive.com: wrote patch description; split this > > patch from the arch/riscv patch] > > Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com> > > --- > > drivers/pci/Kconfig | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig > > index 2ab92409210a..beb3408a0272 100644 > > --- a/drivers/pci/Kconfig > > +++ b/drivers/pci/Kconfig > > @@ -52,7 +52,7 @@ config PCI_MSI > > If you don't know what to do here, say Y. > > > > config PCI_MSI_IRQ_DOMAIN > > - def_bool ARC || ARM || ARM64 || X86 > > + def_bool ARC || ARM || ARM64 || X86 || RISCV > > The other arches listed here either supply their own include/asm/msi.h > or generate it: > > $ ls arch/*/include/asm/msi.h > arch/x86/include/asm/msi.h > > $ grep msi.h arch/*/include/asm/Kbuild > arch/arc/include/asm/Kbuild:generic-y += msi.h > arch/arm64/include/asm/Kbuild:generic-y += msi.h > arch/arm/include/asm/Kbuild:generic-y += msi.h > arch/mips/include/asm/Kbuild:generic-y += msi.h > arch/powerpc/include/asm/Kbuild:generic-y += msi.h > arch/sparc/include/asm/Kbuild:generic-y += msi.h > > For example, see > > f8430eae9f1b ("PCI/MSI: Enable PCI_MSI_IRQ_DOMAIN support for ARC") > be091d468a0a ("arm64: PCI/MSI: Use asm-generic/msi.h") > 0ab089c2548c ("ARM: Add msi.h to Kbuild") > > I didn't look into the details of msi.h generation, but I assume > RISC-V needs to do something similar? If so, I think that should be > part of this patch to avoid issues. > > If CONFIG_GENERIC_MSI_IRQ_DOMAIN is defined, include/linux/msi.h > #includes <asm/msi.h> and I don't see where that would come from. Commit 251a44888183 ("riscv: include generic support for MSI irqdomains") has been merged upstream for this purpose: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=251a44888183003b0380df184835a2c00bfa39d7 The original patch was split into a RISC-V component and a generic PCI component to reduce the risk of merge conflicts. Does that work for you? - Paul
On Thu, Aug 08, 2019 at 01:51:50PM -0700, Paul Walmsley wrote: > On Thu, 8 Aug 2019, Bjorn Helgaas wrote: > > On Thu, Jul 25, 2019 at 02:28:07PM -0700, Paul Walmsley wrote: > > > From: Wesley Terpstra <wesley@sifive.com> > > > > > > This is part of adding support for RISC-V systems with PCIe host > > > controllers that support message-signaled interrupts. > > > > > > Signed-off-by: Wesley Terpstra <wesley@sifive.com> > > > [paul.walmsley@sifive.com: wrote patch description; split this > > > patch from the arch/riscv patch] > > > Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com> > > > --- > > > drivers/pci/Kconfig | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig > > > index 2ab92409210a..beb3408a0272 100644 > > > --- a/drivers/pci/Kconfig > > > +++ b/drivers/pci/Kconfig > > > @@ -52,7 +52,7 @@ config PCI_MSI > > > If you don't know what to do here, say Y. > > > > > > config PCI_MSI_IRQ_DOMAIN > > > - def_bool ARC || ARM || ARM64 || X86 > > > + def_bool ARC || ARM || ARM64 || X86 || RISCV > > > > The other arches listed here either supply their own include/asm/msi.h > > or generate it: > > > > $ ls arch/*/include/asm/msi.h > > arch/x86/include/asm/msi.h > > > > $ grep msi.h arch/*/include/asm/Kbuild > > arch/arc/include/asm/Kbuild:generic-y += msi.h > > arch/arm64/include/asm/Kbuild:generic-y += msi.h > > arch/arm/include/asm/Kbuild:generic-y += msi.h > > arch/mips/include/asm/Kbuild:generic-y += msi.h > > arch/powerpc/include/asm/Kbuild:generic-y += msi.h > > arch/sparc/include/asm/Kbuild:generic-y += msi.h > > > > For example, see > > > > f8430eae9f1b ("PCI/MSI: Enable PCI_MSI_IRQ_DOMAIN support for ARC") > > be091d468a0a ("arm64: PCI/MSI: Use asm-generic/msi.h") > > 0ab089c2548c ("ARM: Add msi.h to Kbuild") > > > > I didn't look into the details of msi.h generation, but I assume > > RISC-V needs to do something similar? If so, I think that should be > > part of this patch to avoid issues. > > > > If CONFIG_GENERIC_MSI_IRQ_DOMAIN is defined, include/linux/msi.h > > #includes <asm/msi.h> and I don't see where that would come from. > > Commit 251a44888183 ("riscv: include generic support for MSI irqdomains") > has been merged upstream for this purpose: > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=251a44888183003b0380df184835a2c00bfa39d7 > > The original patch was split into a RISC-V component and a generic PCI > component to reduce the risk of merge conflicts. > > Does that work for you? Indeed, sorry I missed it. I generally work based on -rc1, and it looks like 251a44888183 was merged after -rc1. Since we're after the merge window, the default target would be v5.4, but I see some post-rc1 pull requests from you, so if you need this in v5.3, let me know. I applied your patch to pci/msi for v5.4 for now. Bjorn
On Thu, 8 Aug 2019, Bjorn Helgaas wrote: > Indeed, sorry I missed it. I generally work based on -rc1, and it > looks like 251a44888183 was merged after -rc1. > > Since we're after the merge window, the default target would be v5.4, > but I see some post-rc1 pull requests from you, so if you need this in > v5.3, let me know. > > I applied your patch to pci/msi for v5.4 for now. v5.4 is fine - thanks. - Paul
diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig index 2ab92409210a..beb3408a0272 100644 --- a/drivers/pci/Kconfig +++ b/drivers/pci/Kconfig @@ -52,7 +52,7 @@ config PCI_MSI If you don't know what to do here, say Y. config PCI_MSI_IRQ_DOMAIN - def_bool ARC || ARM || ARM64 || X86 + def_bool ARC || ARM || ARM64 || X86 || RISCV depends on PCI_MSI select GENERIC_MSI_IRQ_DOMAIN