diff mbox series

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

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

Commit Message

Paul Walmsley July 25, 2019, 9:28 p.m. UTC
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(-)

Comments

Bin Meng July 28, 2019, 1:41 p.m. UTC | #1
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>
Bjorn Helgaas Aug. 8, 2019, 7:55 p.m. UTC | #2
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
Paul Walmsley Aug. 8, 2019, 8:51 p.m. UTC | #3
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
Bjorn Helgaas Aug. 8, 2019, 9:47 p.m. UTC | #4
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
Paul Walmsley Aug. 8, 2019, 10:13 p.m. UTC | #5
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 mbox series

Patch

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