diff mbox

IB: Fix RDMA_RXE and INFINIBAND_RDMAVT dependencies for DMA_VIRT_OPS

Message ID 20180509214841.GL8564@decadent.org.uk (mailing list archive)
State Awaiting Upstream
Headers show

Commit Message

Ben Hutchings May 9, 2018, 9:48 p.m. UTC
DMA_VIRT_OPS requires that dma_addr_t is at least as wide as a
pointer, which is expressed as a dependency on !64BIT ||
ARCH_DMA_ADDR_T_64BIT.

For parisc64 this is not true, and if these IB modules are enabled,
kconfig warns:

WARNING: unmet direct dependencies detected for DMA_VIRT_OPS
  Depends on [n]: HAS_DMA [=y] && (!64BIT [=y] || ARCH_DMA_ADDR_T_64BIT)
  Selected by [m]:
  - INFINIBAND_RDMAVT [=m] && INFINIBAND [=m] && 64BIT [=y] && PCI [=y]
  - RDMA_RXE [=m] && INET [=y] && PCI [=y] && INFINIBAND [=m]

Add dependencies to fix this.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 drivers/infiniband/sw/rdmavt/Kconfig | 2 +-
 drivers/infiniband/sw/rxe/Kconfig    | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

Comments

Doug Ledford May 15, 2018, 2:49 p.m. UTC | #1
On Wed, 2018-05-09 at 22:48 +0100, Ben Hutchings wrote:
> DMA_VIRT_OPS requires that dma_addr_t is at least as wide as a
> pointer, which is expressed as a dependency on !64BIT ||
> ARCH_DMA_ADDR_T_64BIT.
> 
> For parisc64 this is not true, and if these IB modules are enabled,
> kconfig warns:
> 
> WARNING: unmet direct dependencies detected for DMA_VIRT_OPS
>   Depends on [n]: HAS_DMA [=y] && (!64BIT [=y] || ARCH_DMA_ADDR_T_64BIT)
>   Selected by [m]:
>   - INFINIBAND_RDMAVT [=m] && INFINIBAND [=m] && 64BIT [=y] && PCI [=y]
>   - RDMA_RXE [=m] && INET [=y] && PCI [=y] && INFINIBAND [=m]
> 
> Add dependencies to fix this.
> 
> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
> 

Applied to for-next area, thanks.
Jason Gunthorpe May 15, 2018, 7:38 p.m. UTC | #2
On Wed, May 09, 2018 at 10:48:41PM +0100, Ben Hutchings wrote:
> DMA_VIRT_OPS requires that dma_addr_t is at least as wide as a
> pointer, which is expressed as a dependency on !64BIT ||
> ARCH_DMA_ADDR_T_64BIT.
> 
> For parisc64 this is not true, and if these IB modules are enabled,
> kconfig warns:
> 
> WARNING: unmet direct dependencies detected for DMA_VIRT_OPS
>   Depends on [n]: HAS_DMA [=y] && (!64BIT [=y] || ARCH_DMA_ADDR_T_64BIT)
>   Selected by [m]:
>   - INFINIBAND_RDMAVT [=m] && INFINIBAND [=m] && 64BIT [=y] && PCI [=y]
>   - RDMA_RXE [=m] && INET [=y] && PCI [=y] && INFINIBAND [=m]

Makes sense to me..

But how did you produce the above output? What command does this?

Thanks,
Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ben Hutchings May 15, 2018, 8:43 p.m. UTC | #3
On Tue, 2018-05-15 at 13:38 -0600, Jason Gunthorpe wrote:
> On Wed, May 09, 2018 at 10:48:41PM +0100, Ben Hutchings wrote:
> > DMA_VIRT_OPS requires that dma_addr_t is at least as wide as a
> > pointer, which is expressed as a dependency on !64BIT ||
> > ARCH_DMA_ADDR_T_64BIT.
> > 
> > For parisc64 this is not true, and if these IB modules are enabled,
> > kconfig warns:
> > 
> > WARNING: unmet direct dependencies detected for DMA_VIRT_OPS
> >   Depends on [n]: HAS_DMA [=y] && (!64BIT [=y] || ARCH_DMA_ADDR_T_64BIT)
> >   Selected by [m]:
> >   - INFINIBAND_RDMAVT [=m] && INFINIBAND [=m] && 64BIT [=y] && PCI [=y]
> >   - RDMA_RXE [=m] && INET [=y] && PCI [=y] && INFINIBAND [=m]
> 
> Makes sense to me..
> 
> But how did you produce the above output? What command does this?

You should be able to reproduce it like this:

make ARCH=parisc allmodconfig
scripts/config --enable 64BIT --enable PA8X00
make ARCH=parisc listnewconfig

Ben.
diff mbox

Patch

diff --git a/drivers/infiniband/sw/rdmavt/Kconfig b/drivers/infiniband/sw/rdmavt/Kconfig
index 2b5513da7e83..98e798007f75 100644
--- a/drivers/infiniband/sw/rdmavt/Kconfig
+++ b/drivers/infiniband/sw/rdmavt/Kconfig
@@ -1,6 +1,6 @@ 
 config INFINIBAND_RDMAVT
 	tristate "RDMA verbs transport library"
-	depends on 64BIT
+	depends on 64BIT && ARCH_DMA_ADDR_T_64BIT
 	depends on PCI
 	select DMA_VIRT_OPS
 	---help---
diff --git a/drivers/infiniband/sw/rxe/Kconfig b/drivers/infiniband/sw/rxe/Kconfig
index bad4a576d7cf..67ae960ab523 100644
--- a/drivers/infiniband/sw/rxe/Kconfig
+++ b/drivers/infiniband/sw/rxe/Kconfig
@@ -1,6 +1,7 @@ 
 config RDMA_RXE
 	tristate "Software RDMA over Ethernet (RoCE) driver"
 	depends on INET && PCI && INFINIBAND
+	depends on !64BIT || ARCH_DMA_ADDR_T_64BIT
 	select NET_UDP_TUNNEL
 	select CRYPTO_CRC32
 	select DMA_VIRT_OPS