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 !ALPHA 8adf90eb4SPaul E. McKenney select DMA_SHARED_BUFFER 9*16cb1a64SArnd Bergmann select IRQ_POLL 1014d3a3b2SChristoph Hellwig select DIMLIB 11f8fc8cd9SYamin Friedman help 12a7f7f624SMasahiro Yamada 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 161da177e4SLinus Torvaldsif INFINIBAND 1706cc8508SJan Engelhardt 1806cc8508SJan Engelhardtconfig INFINIBAND_USER_MAD 1917781cd6SJames Lentini tristate "InfiniBand userspace MAD support" 2017781cd6SJames Lentini depends on INFINIBAND 212d927d69SRoland Dreier help 22a7f7f624SMasahiro Yamada 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 2517781cd6SJames Lentini need libibumad from rdma-core 2646adb179SJason Gunthorpe <https://github.com/linux-rdma/rdma-core>. 2746adb179SJason Gunthorpe 2817781cd6SJames Lentiniconfig INFINIBAND_USER_ACCESS 2917781cd6SJames Lentini tristate "InfiniBand userspace access (verbs and CM)" 3017781cd6SJames Lentini depends on MMU 31914e5d7dSJason Gunthorpe help 32a7f7f624SMasahiro Yamada 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 3817781cd6SJames Lentini rdma-core <https://github.com/linux-rdma/rdma-core>. 3946adb179SJason Gunthorpe 402d927d69SRoland Dreierconfig INFINIBAND_USER_MEM 41f7c6a7b5SRoland Dreier bool 42f7c6a7b5SRoland Dreier depends on INFINIBAND_USER_ACCESS != n 43f7c6a7b5SRoland Dreier depends on MMU 449cc12ad6SArnd Bergmann select DMA_SHARED_BUFFER 45368c0159SJianxin Xiong default y 46f7c6a7b5SRoland Dreier 47f7c6a7b5SRoland Dreierconfig INFINIBAND_ON_DEMAND_PAGING 48860f10a7SSagi Grimberg bool "InfiniBand on-demand paging support" 49860f10a7SSagi Grimberg depends on INFINIBAND_USER_MEM 50860f10a7SSagi Grimberg select MMU_NOTIFIER 51882214e2SHaggai Eran select INTERVAL_TREE 527cc2e18fSJason Gunthorpe select HMM_MIRROR 5336f30e48SYishai Hadas default y 54860f10a7SSagi Grimberg help 55a7f7f624SMasahiro Yamada 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 60860f10a7SSagi Grimbergconfig INFINIBAND_ADDR_TRANS 617025fcd3SSean Hefty bool "RDMA/CM" 62f7cb7b85SGreg Thelen depends on INFINIBAND 632f85d24eSMatan Barak default y 647025fcd3SSean Hefty help 65a7f7f624SMasahiro Yamada Support for RDMA communication manager (CM). 66f7cb7b85SGreg Thelen This allows for a generic connection abstraction over RDMA. 67f7cb7b85SGreg Thelen 687025fcd3SSean Heftyconfig 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 72045959dbSMatan Barak help 73a7f7f624SMasahiro Yamada 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 77045959dbSMatan Barakconfig INFINIBAND_VIRT_DMA 78b1e678bfSChristoph Hellwig def_bool !HIGHMEM 79b1e678bfSChristoph Hellwig 80b1e678bfSChristoph Hellwigif INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS 816fa8f1afSShamir Rabinovitchif !UML 82323a74fcSRandy Dunlapsource "drivers/infiniband/hw/bnxt_re/Kconfig" 83ca7fd6cfSCheng Xusource "drivers/infiniband/hw/bng_re/Kconfig" 84d0da769cSSiva Reddy Kallamsource "drivers/infiniband/hw/cxgb4/Kconfig" 85cfdda9d7SSteve Wisesource "drivers/infiniband/hw/efa/Kconfig" 86f23afd75SGal Pressmansource "drivers/infiniband/hw/erdma/Kconfig" 87ca7fd6cfSCheng Xusource "drivers/infiniband/hw/hfi1/Kconfig" 88ca7fd6cfSCheng Xusource "drivers/infiniband/hw/hns/Kconfig" 89ca7fd6cfSCheng Xusource "drivers/infiniband/hw/ionic/Kconfig" 906603fbf1SAbhijit Gangurdesource "drivers/infiniband/hw/irdma/Kconfig" 91fa0cf568SShiraz Saleemsource "drivers/infiniband/hw/mana/Kconfig" 920266a177SLong Lisource "drivers/infiniband/hw/mlx4/Kconfig" 93225c7b1fSRoland Dreiersource "drivers/infiniband/hw/mlx5/Kconfig" 94e126ba97SEli Cohensource "drivers/infiniband/hw/mthca/Kconfig" 95ca7fd6cfSCheng Xusource "drivers/infiniband/hw/ocrdma/Kconfig" 96fe2caefcSParav Panditsource "drivers/infiniband/hw/qedr/Kconfig" 976fa8f1afSShamir Rabinovitchsource "drivers/infiniband/hw/usnic/Kconfig" 98ca7fd6cfSCheng Xusource "drivers/infiniband/hw/vmw_pvrdma/Kconfig" 99ca7fd6cfSCheng Xusource "drivers/infiniband/sw/rdmavt/Kconfig" 1006fa8f1afSShamir Rabinovitchendif # !UML 101323a74fcSRandy Dunlapsource "drivers/infiniband/sw/rxe/Kconfig" 1026fa8f1afSShamir Rabinovitchsource "drivers/infiniband/sw/siw/Kconfig" 103c0cf5bddSBernard Metzlerendif 1046fa8f1afSShamir Rabinovitch 105225c7b1fSRoland Dreiersource "drivers/infiniband/ulp/ipoib/Kconfig" 1061da177e4SLinus Torvalds 1071da177e4SLinus Torvaldssource "drivers/infiniband/ulp/srp/Kconfig" 108aef9ec39SRoland Dreiersource "drivers/infiniband/ulp/srpt/Kconfig" 109a42d985bSBart Van Assche 110aef9ec39SRoland Dreiersource "drivers/infiniband/ulp/iser/Kconfig" 1113f1244a2SOr Gerlitzsource "drivers/infiniband/ulp/isert/Kconfig" 112b8d26b3bSNicholas Bellingersource "drivers/infiniband/ulp/rtrs/Kconfig" 113c013fbc1SJack Wang 1143f1244a2SOr Gerlitzendif # INFINIBAND 1157d6f728cSVishwanathapura, Niranjana