Re: [PATCH v2] pci: Kconfig: select PCI_MSI_IRQ_DOMAIN by default on RISC-V

From: Paul Walmsley
Date: Thu Aug 08 2019 - 16:51:54 EST


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@xxxxxxxxxx>
> >
> > 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@xxxxxxxxxx>
> > [paul.walmsley@xxxxxxxxxx: wrote patch description; split this
> > patch from the arch/riscv patch]
> > Signed-off-by: Paul Walmsley <paul.walmsley@xxxxxxxxxx>
> > ---
> > 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