xref: /openbmc/linux/drivers/infiniband/Kconfig (revision 914e5d7d)
106cc8508SJan Engelhardtmenuconfig INFINIBAND
21da177e4SLinus Torvalds	tristate "InfiniBand support"
3db0acbc4SGeert Uytterhoeven	depends on HAS_IOMEM && HAS_DMA
4b2cbae2cSRoland Dreier	depends on NET
52f85d24eSMatan Barak	depends on INET
62f85d24eSMatan Barak	depends on m || IPV6 != m
7adf90eb4SPaul E. McKenney	depends on !ALPHA
814d3a3b2SChristoph Hellwig	select IRQ_POLL
91da177e4SLinus Torvalds	---help---
101da177e4SLinus Torvalds	  Core support for InfiniBand (IB).  Make sure to also select
111da177e4SLinus Torvalds	  any protocols you wish to use as well as drivers for your
121da177e4SLinus Torvalds	  InfiniBand hardware.
131da177e4SLinus Torvalds
1406cc8508SJan Engelhardtif INFINIBAND
1506cc8508SJan Engelhardt
1617781cd6SJames Lentiniconfig INFINIBAND_USER_MAD
1717781cd6SJames Lentini	tristate "InfiniBand userspace MAD support"
182d927d69SRoland Dreier	depends on INFINIBAND
192d927d69SRoland Dreier	---help---
2017781cd6SJames Lentini	  Userspace InfiniBand Management Datagram (MAD) support.  This
2117781cd6SJames Lentini	  is the kernel side of the userspace MAD support, which allows
2217781cd6SJames Lentini	  userspace processes to send and receive MADs. You will also
2346adb179SJason Gunthorpe	  need libibumad from rdma-core
2446adb179SJason Gunthorpe	  <https://github.com/linux-rdma/rdma-core>.
2517781cd6SJames Lentini
2617781cd6SJames Lentiniconfig INFINIBAND_USER_ACCESS
2717781cd6SJames Lentini	tristate "InfiniBand userspace access (verbs and CM)"
28a265e558SRoland Dreier	select ANON_INODES
29914e5d7dSJason Gunthorpe	depends on MMU
3017781cd6SJames Lentini	---help---
3117781cd6SJames Lentini	  Userspace InfiniBand access support.  This enables the
3217781cd6SJames Lentini	  kernel side of userspace verbs and the userspace
3317781cd6SJames Lentini	  communication manager (CM).  This allows userspace processes
3417781cd6SJames Lentini	  to set up connections and directly access InfiniBand
3517781cd6SJames Lentini	  hardware for fast-path operations.  You will also need
3617781cd6SJames Lentini	  libibverbs, libibcm and a hardware driver library from
3746adb179SJason Gunthorpe	  rdma-core <https://github.com/linux-rdma/rdma-core>.
382d927d69SRoland Dreier
397a8690edSLeon Romanovskyconfig INFINIBAND_USER_ACCESS_UCM
40845b397aSArnd Bergmann	tristate "Userspace CM (UCM, DEPRECATED)"
41486edfb1SJason Gunthorpe	depends on BROKEN || COMPILE_TEST
427a8690edSLeon Romanovsky	depends on INFINIBAND_USER_ACCESS
437a8690edSLeon Romanovsky	help
447a8690edSLeon Romanovsky	  The UCM module has known security flaws, which no one is
457a8690edSLeon Romanovsky	  interested to fix. The user-space part of this code was
467a8690edSLeon Romanovsky	  dropped from the upstream a long time ago.
477a8690edSLeon Romanovsky
487a8690edSLeon Romanovsky	  This option is DEPRECATED and planned to be removed.
497a8690edSLeon Romanovsky
50185899eeSMatan Barakconfig INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI
51185899eeSMatan Barak	bool "Allow experimental legacy verbs in new ioctl uAPI  (EXPERIMENTAL)"
528eb19e8eSMatan Barak	depends on INFINIBAND_USER_ACCESS
538eb19e8eSMatan Barak	---help---
54185899eeSMatan Barak	  IOCTL based uAPI support for Infiniband is enabled by default for
55185899eeSMatan Barak	  new verbs only. This allows userspace to invoke the IOCTL based uAPI
56185899eeSMatan Barak	  for current legacy verbs too.
578eb19e8eSMatan Barak
58f7c6a7b5SRoland Dreierconfig INFINIBAND_USER_MEM
59f7c6a7b5SRoland Dreier	bool
60f7c6a7b5SRoland Dreier	depends on INFINIBAND_USER_ACCESS != n
619cc12ad6SArnd Bergmann	depends on MMU
62f7c6a7b5SRoland Dreier	default y
63f7c6a7b5SRoland Dreier
64860f10a7SSagi Grimbergconfig INFINIBAND_ON_DEMAND_PAGING
65860f10a7SSagi Grimberg	bool "InfiniBand on-demand paging support"
66860f10a7SSagi Grimberg	depends on INFINIBAND_USER_MEM
67882214e2SHaggai Eran	select MMU_NOTIFIER
68860f10a7SSagi Grimberg	default y
69860f10a7SSagi Grimberg	---help---
70860f10a7SSagi Grimberg	  On demand paging support for the InfiniBand subsystem.
71860f10a7SSagi Grimberg	  Together with driver support this allows registration of
72860f10a7SSagi Grimberg	  memory regions without pinning their pages, fetching the
73860f10a7SSagi Grimberg	  pages on demand instead.
74860f10a7SSagi Grimberg
757025fcd3SSean Heftyconfig INFINIBAND_ADDR_TRANS
76f7cb7b85SGreg Thelen	bool "RDMA/CM"
772f85d24eSMatan Barak	depends on INFINIBAND
787025fcd3SSean Hefty	default y
79f7cb7b85SGreg Thelen	---help---
80f7cb7b85SGreg Thelen	  Support for RDMA communication manager (CM).
81f7cb7b85SGreg Thelen	  This allows for a generic connection abstraction over RDMA.
827025fcd3SSean Hefty
83045959dbSMatan Barakconfig INFINIBAND_ADDR_TRANS_CONFIGFS
84045959dbSMatan Barak	bool
85045959dbSMatan Barak	depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m)
86045959dbSMatan Barak	default y
87045959dbSMatan Barak	---help---
88045959dbSMatan Barak	  ConfigFS support for RDMA communication manager (CM).
89045959dbSMatan Barak	  This allows the user to config the default GID type that the CM
90045959dbSMatan Barak	  uses for each device, when initiaing new connections.
91045959dbSMatan Barak
921da177e4SLinus Torvaldssource "drivers/infiniband/hw/mthca/Kconfig"
93f931551bSRalph Campbellsource "drivers/infiniband/hw/qib/Kconfig"
94b038ced7SSteve Wisesource "drivers/infiniband/hw/cxgb3/Kconfig"
95cfdda9d7SSteve Wisesource "drivers/infiniband/hw/cxgb4/Kconfig"
966e4de866SFaisal Latifsource "drivers/infiniband/hw/i40iw/Kconfig"
97225c7b1fSRoland Dreiersource "drivers/infiniband/hw/mlx4/Kconfig"
98e126ba97SEli Cohensource "drivers/infiniband/hw/mlx5/Kconfig"
993c2d774cSGlenn Streiffsource "drivers/infiniband/hw/nes/Kconfig"
100fe2caefcSParav Panditsource "drivers/infiniband/hw/ocrdma/Kconfig"
10129c8d9ebSAdit Ranadivesource "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
102e3cf00d0SUpinder Malhisource "drivers/infiniband/hw/usnic/Kconfig"
1038793f779Soulijunsource "drivers/infiniband/hw/hns/Kconfig"
104225c7b1fSRoland Dreier
1051da177e4SLinus Torvaldssource "drivers/infiniband/ulp/ipoib/Kconfig"
1061da177e4SLinus Torvalds
107aef9ec39SRoland Dreiersource "drivers/infiniband/ulp/srp/Kconfig"
108a42d985bSBart Van Asschesource "drivers/infiniband/ulp/srpt/Kconfig"
109aef9ec39SRoland Dreier
1103f1244a2SOr Gerlitzsource "drivers/infiniband/ulp/iser/Kconfig"
111b8d26b3bSNicholas Bellingersource "drivers/infiniband/ulp/isert/Kconfig"
1123f1244a2SOr Gerlitz
1137d6f728cSVishwanathapura, Niranjanasource "drivers/infiniband/ulp/opa_vnic/Kconfig"
1140194621bSDennis Dalessandrosource "drivers/infiniband/sw/rdmavt/Kconfig"
1158700e3e7SMoni Shouasource "drivers/infiniband/sw/rxe/Kconfig"
1160194621bSDennis Dalessandro
117f48ad614SDennis Dalessandrosource "drivers/infiniband/hw/hfi1/Kconfig"
118f48ad614SDennis Dalessandro
1192e0cbc4dSRam Amranisource "drivers/infiniband/hw/qedr/Kconfig"
1202e0cbc4dSRam Amrani
121592e8b32SSelvin Xaviersource "drivers/infiniband/hw/bnxt_re/Kconfig"
122592e8b32SSelvin Xavier
12306cc8508SJan Engelhardtendif # INFINIBAND
124