1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 206cc8508SJan Engelhardtmenuconfig INFINIBAND 31da177e4SLinus Torvalds tristate "InfiniBand support" 4db0acbc4SGeert Uytterhoeven depends on HAS_IOMEM && HAS_DMA 5b2cbae2cSRoland Dreier depends on NET 62f85d24eSMatan Barak depends on INET 72f85d24eSMatan Barak depends on m || IPV6 != m 8adf90eb4SPaul E. McKenney depends on !ALPHA 914d3a3b2SChristoph Hellwig select IRQ_POLL 10f8fc8cd9SYamin Friedman select DIMLIB 11a7f7f624SMasahiro Yamada help 121da177e4SLinus Torvalds Core support for InfiniBand (IB). Make sure to also select 131da177e4SLinus Torvalds any protocols you wish to use as well as drivers for your 141da177e4SLinus Torvalds InfiniBand hardware. 151da177e4SLinus Torvalds 1606cc8508SJan Engelhardtif INFINIBAND 1706cc8508SJan Engelhardt 1817781cd6SJames Lentiniconfig INFINIBAND_USER_MAD 1917781cd6SJames Lentini tristate "InfiniBand userspace MAD support" 202d927d69SRoland Dreier depends on INFINIBAND 21a7f7f624SMasahiro Yamada help 2217781cd6SJames Lentini Userspace InfiniBand Management Datagram (MAD) support. This 2317781cd6SJames Lentini is the kernel side of the userspace MAD support, which allows 2417781cd6SJames Lentini userspace processes to send and receive MADs. You will also 2546adb179SJason Gunthorpe need libibumad from rdma-core 2646adb179SJason Gunthorpe <https://github.com/linux-rdma/rdma-core>. 2717781cd6SJames Lentini 2817781cd6SJames Lentiniconfig INFINIBAND_USER_ACCESS 2917781cd6SJames Lentini tristate "InfiniBand userspace access (verbs and CM)" 30914e5d7dSJason Gunthorpe depends on MMU 31a7f7f624SMasahiro Yamada help 3217781cd6SJames Lentini Userspace InfiniBand access support. This enables the 3317781cd6SJames Lentini kernel side of userspace verbs and the userspace 3417781cd6SJames Lentini communication manager (CM). This allows userspace processes 3517781cd6SJames Lentini to set up connections and directly access InfiniBand 3617781cd6SJames Lentini hardware for fast-path operations. You will also need 3717781cd6SJames Lentini libibverbs, libibcm and a hardware driver library from 3846adb179SJason Gunthorpe rdma-core <https://github.com/linux-rdma/rdma-core>. 392d927d69SRoland Dreier 40f7c6a7b5SRoland Dreierconfig INFINIBAND_USER_MEM 41f7c6a7b5SRoland Dreier bool 42f7c6a7b5SRoland Dreier depends on INFINIBAND_USER_ACCESS != n 439cc12ad6SArnd Bergmann depends on MMU 44368c0159SJianxin Xiong select DMA_SHARED_BUFFER 45f7c6a7b5SRoland Dreier default y 46f7c6a7b5SRoland Dreier 47860f10a7SSagi Grimbergconfig INFINIBAND_ON_DEMAND_PAGING 48860f10a7SSagi Grimberg bool "InfiniBand on-demand paging support" 49860f10a7SSagi Grimberg depends on INFINIBAND_USER_MEM 50882214e2SHaggai Eran select MMU_NOTIFIER 517cc2e18fSJason Gunthorpe select INTERVAL_TREE 5236f30e48SYishai Hadas select HMM_MIRROR 53860f10a7SSagi Grimberg default y 54a7f7f624SMasahiro Yamada help 55860f10a7SSagi Grimberg On demand paging support for the InfiniBand subsystem. 56860f10a7SSagi Grimberg Together with driver support this allows registration of 57860f10a7SSagi Grimberg memory regions without pinning their pages, fetching the 58860f10a7SSagi Grimberg pages on demand instead. 59860f10a7SSagi Grimberg 607025fcd3SSean Heftyconfig INFINIBAND_ADDR_TRANS 61f7cb7b85SGreg Thelen bool "RDMA/CM" 622f85d24eSMatan Barak depends on INFINIBAND 637025fcd3SSean Hefty default y 64a7f7f624SMasahiro Yamada help 65f7cb7b85SGreg Thelen Support for RDMA communication manager (CM). 66f7cb7b85SGreg Thelen This allows for a generic connection abstraction over RDMA. 677025fcd3SSean Hefty 68045959dbSMatan Barakconfig INFINIBAND_ADDR_TRANS_CONFIGFS 69045959dbSMatan Barak bool 70045959dbSMatan Barak depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m) 71045959dbSMatan Barak default y 72a7f7f624SMasahiro Yamada help 73045959dbSMatan Barak ConfigFS support for RDMA communication manager (CM). 74045959dbSMatan Barak This allows the user to config the default GID type that the CM 75045959dbSMatan Barak uses for each device, when initiaing new connections. 76045959dbSMatan Barak 77b1e678bfSChristoph Hellwigconfig INFINIBAND_VIRT_DMA 78b1e678bfSChristoph Hellwig def_bool !HIGHMEM 79b1e678bfSChristoph Hellwig 806fa8f1afSShamir Rabinovitchif INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS 81*323a74fcSRandy Dunlapif !UML 82ca7fd6cfSCheng Xusource "drivers/infiniband/hw/bnxt_re/Kconfig" 83cfdda9d7SSteve Wisesource "drivers/infiniband/hw/cxgb4/Kconfig" 84f23afd75SGal Pressmansource "drivers/infiniband/hw/efa/Kconfig" 85ca7fd6cfSCheng Xusource "drivers/infiniband/hw/erdma/Kconfig" 86ca7fd6cfSCheng Xusource "drivers/infiniband/hw/hfi1/Kconfig" 87ca7fd6cfSCheng Xusource "drivers/infiniband/hw/hns/Kconfig" 88fa0cf568SShiraz Saleemsource "drivers/infiniband/hw/irdma/Kconfig" 890266a177SLong Lisource "drivers/infiniband/hw/mana/Kconfig" 90225c7b1fSRoland Dreiersource "drivers/infiniband/hw/mlx4/Kconfig" 91e126ba97SEli Cohensource "drivers/infiniband/hw/mlx5/Kconfig" 92ca7fd6cfSCheng Xusource "drivers/infiniband/hw/mthca/Kconfig" 93fe2caefcSParav Panditsource "drivers/infiniband/hw/ocrdma/Kconfig" 946fa8f1afSShamir Rabinovitchsource "drivers/infiniband/hw/qedr/Kconfig" 95ca7fd6cfSCheng Xusource "drivers/infiniband/hw/qib/Kconfig" 96ca7fd6cfSCheng Xusource "drivers/infiniband/hw/usnic/Kconfig" 97ca7fd6cfSCheng Xusource "drivers/infiniband/hw/vmw_pvrdma/Kconfig" 986fa8f1afSShamir Rabinovitchsource "drivers/infiniband/sw/rdmavt/Kconfig" 99*323a74fcSRandy Dunlapendif # !UML 1006fa8f1afSShamir Rabinovitchsource "drivers/infiniband/sw/rxe/Kconfig" 101c0cf5bddSBernard Metzlersource "drivers/infiniband/sw/siw/Kconfig" 1026fa8f1afSShamir Rabinovitchendif 103225c7b1fSRoland Dreier 1041da177e4SLinus Torvaldssource "drivers/infiniband/ulp/ipoib/Kconfig" 1051da177e4SLinus Torvalds 106aef9ec39SRoland Dreiersource "drivers/infiniband/ulp/srp/Kconfig" 107a42d985bSBart Van Asschesource "drivers/infiniband/ulp/srpt/Kconfig" 108aef9ec39SRoland Dreier 1093f1244a2SOr Gerlitzsource "drivers/infiniband/ulp/iser/Kconfig" 110b8d26b3bSNicholas Bellingersource "drivers/infiniband/ulp/isert/Kconfig" 111c013fbc1SJack Wangsource "drivers/infiniband/ulp/rtrs/Kconfig" 1123f1244a2SOr Gerlitz 1137d6f728cSVishwanathapura, Niranjanasource "drivers/infiniband/ulp/opa_vnic/Kconfig" 114592e8b32SSelvin Xavier 11506cc8508SJan Engelhardtendif # INFINIBAND 116