On Thu, Nov 05, 2020 at 12:15:46PM +0000, Robin Murphy wrote: > On 2020-11-05 07:42, Christoph Hellwig wrote: >> dma_virt_ops requires that all pages have a kernel virtual address. >> Introduce a INFINIBAND_VIRT_DMA Kconfig symbol that depends on !HIGHMEM >> and a large enough dma_addr_t, and make all three driver depend on the >> new symbol. >> >> Signed-off-by: Christoph Hellwig <hch@xxxxxx> >> --- >> drivers/infiniband/Kconfig | 6 ++++++ >> drivers/infiniband/sw/rdmavt/Kconfig | 3 ++- >> drivers/infiniband/sw/rxe/Kconfig | 2 +- >> drivers/infiniband/sw/siw/Kconfig | 1 + >> 4 files changed, 10 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/infiniband/Kconfig b/drivers/infiniband/Kconfig >> index 32a51432ec4f73..81acaf5fb5be67 100644 >> --- a/drivers/infiniband/Kconfig >> +++ b/drivers/infiniband/Kconfig >> @@ -73,6 +73,12 @@ config INFINIBAND_ADDR_TRANS_CONFIGFS >> This allows the user to config the default GID type that the CM >> uses for each device, when initiaing new connections. >> +config INFINIBAND_VIRT_DMA >> + bool >> + default y >> + depends on !HIGHMEM >> + depends on !64BIT || ARCH_DMA_ADDR_T_64BIT > > Isn't that effectively always true now since 4965a68780c5? I had a quick > try of manually overriding CONFIG_ARCH_DMA_ADDR_T_64BIT in my .config, and > the build just forces it back to "=y". True. The guy who did the commit should have really told me about it :)