2019-05-20 18:28:09

by Paul Walmsley

[permalink] [raw]
Subject: [PATCH] riscv: include generic support for MSI irqdomains

Some RISC-V systems include PCIe host controllers that support PCIe
message-signaled interrupts. For this to work on Linux, we need to
enable PCI_MSI_IRQ_DOMAIN and define struct msi_alloc_info. Support
for the latter is enabled by including the architecture-generic msi.h
include.

Based on a patch from Wesley Terpstra <[email protected]>:

https://github.com/riscv/riscv-linux/commit/7d55f38fb79f459d2e88bcee7e147796400cafa8

Signed-off-by: Paul Walmsley <[email protected]>
Signed-off-by: Paul Walmsley <[email protected]>
Cc: Wesley Terpstra <[email protected]>
---
arch/riscv/include/asm/Kbuild | 1 +
drivers/pci/Kconfig | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/riscv/include/asm/Kbuild b/arch/riscv/include/asm/Kbuild
index 3d019e062c6f..b0a9fa34be5a 100644
--- a/arch/riscv/include/asm/Kbuild
+++ b/arch/riscv/include/asm/Kbuild
@@ -20,6 +20,7 @@ generic-y += kvm_para.h
generic-y += local.h
generic-y += local64.h
generic-y += mm-arch-hooks.h
+generic-y += msi.h
generic-y += percpu.h
generic-y += preempt.h
generic-y += sections.h
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

--
2.20.1



2019-05-21 06:37:43

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH] riscv: include generic support for MSI irqdomains

On Mon, May 20, 2019 at 11:25:28AM -0700, Paul Walmsley wrote:
> Some RISC-V systems include PCIe host controllers that support PCIe
> message-signaled interrupts. For this to work on Linux, we need to
> enable PCI_MSI_IRQ_DOMAIN and define struct msi_alloc_info. Support
> for the latter is enabled by including the architecture-generic msi.h
> include.
>
> Based on a patch from Wesley Terpstra <[email protected]>:
>
> https://github.com/riscv/riscv-linux/commit/7d55f38fb79f459d2e88bcee7e147796400cafa8
>
> Signed-off-by: Paul Walmsley <[email protected]>
> Signed-off-by: Paul Walmsley <[email protected]>
> Cc: Wesley Terpstra <[email protected]>

Well, this is very much Wes' patch as-is. It should probably be
attributed to him and you should ask for his signoff.

Otherwise this looks fine:

Reviewed-by: Christoph Hellwig <[email protected]>

2019-05-21 08:14:37

by Paul Walmsley

[permalink] [raw]
Subject: Re: [PATCH] riscv: include generic support for MSI irqdomains

On Mon, 20 May 2019, Christoph Hellwig wrote:

> On Mon, May 20, 2019 at 11:25:28AM -0700, Paul Walmsley wrote:
> > Some RISC-V systems include PCIe host controllers that support PCIe
> > message-signaled interrupts. For this to work on Linux, we need to
> > enable PCI_MSI_IRQ_DOMAIN and define struct msi_alloc_info. Support
> > for the latter is enabled by including the architecture-generic msi.h
> > include.
> >
> > Based on a patch from Wesley Terpstra <[email protected]>:
> >
> > https://github.com/riscv/riscv-linux/commit/7d55f38fb79f459d2e88bcee7e147796400cafa8
> >
> > Signed-off-by: Paul Walmsley <[email protected]>
> > Signed-off-by: Paul Walmsley <[email protected]>
> > Cc: Wesley Terpstra <[email protected]>
>
> Well, this is very much Wes' patch as-is. It should probably be
> attributed to him and you should ask for his signoff.

Yeah. There aren't many other ways to do it.

Wes, care to reply with your Signed-off-by: ?


- Paul

2019-05-21 18:27:30

by Wesley Terpstra

[permalink] [raw]
Subject: Re: [PATCH] riscv: include generic support for MSI irqdomains

Signed.


On Tue, May 21, 2019 at 1:11 AM Paul Walmsley <[email protected]> wrote:
>
> On Mon, 20 May 2019, Christoph Hellwig wrote:
>
> > On Mon, May 20, 2019 at 11:25:28AM -0700, Paul Walmsley wrote:
> > > Some RISC-V systems include PCIe host controllers that support PCIe
> > > message-signaled interrupts. For this to work on Linux, we need to
> > > enable PCI_MSI_IRQ_DOMAIN and define struct msi_alloc_info. Support
> > > for the latter is enabled by including the architecture-generic msi.h
> > > include.
> > >
> > > Based on a patch from Wesley Terpstra <[email protected]>:
> > >
> > > https://github.com/riscv/riscv-linux/commit/7d55f38fb79f459d2e88bcee7e147796400cafa8
> > >
> > > Signed-off-by: Paul Walmsley <[email protected]>
> > > Signed-off-by: Paul Walmsley <[email protected]>
> > > Cc: Wesley Terpstra <[email protected]>
> >
> > Well, this is very much Wes' patch as-is. It should probably be
> > attributed to him and you should ask for his signoff.
>
> Yeah. There aren't many other ways to do it.
>
> Wes, care to reply with your Signed-off-by: ?
>
>
> - Paul

2019-05-21 19:04:39

by Paul Walmsley

[permalink] [raw]
Subject: Re: [PATCH] riscv: include generic support for MSI irqdomains

On Tue, 21 May 2019, Wesley Terpstra wrote:

> Signed.

Thanks, will repost with that and add the PCI folks also

- Paul