summaryrefslogtreecommitdiff
path: root/drivers/ntb/Makefile
diff options
context:
space:
mode:
authorLogan Gunthorpe <logang@deltatee.com>2019-05-24 01:30:56 +0300
committerJon Mason <jdmason@kudzu.us>2019-06-13 16:02:33 +0300
commit26b3a37b928457ba2cd98eaf6d7b0feca5a30fa6 (patch)
tree828a124eb32052fd1603bb77f072a4b3fab1d27a /drivers/ntb/Makefile
parentd217e07b32a6750e44f529e0218898c024b2c637 (diff)
downloadlinux-26b3a37b928457ba2cd98eaf6d7b0feca5a30fa6.tar.xz
NTB: Introduce MSI library
The NTB MSI library allows passing MSI interrupts across a memory window. This offers similar functionality to doorbells or messages except will often have much better latency and the client can potentially use significantly more remote interrupts than typical hardware provides for doorbells. (Which can be important in high-multiport setups.) The library utilizes one memory window per peer and uses the highest index memory windows. Before any ntb_msi function may be used, the user must call ntb_msi_init(). It may then setup and tear down the memory windows when the link state changes using ntb_msi_setup_mws() and ntb_msi_clear_mws(). The peer which receives the interrupt must call ntb_msim_request_irq() to assign the interrupt handler (this function is functionally similar to devm_request_irq()) and the returned descriptor must be transferred to the peer which can use it to trigger the interrupt. The triggering peer, once having received the descriptor, can trigger the interrupt by calling ntb_msi_peer_trigger(). Signed-off-by: Logan Gunthorpe <logang@deltatee.com> Cc: Dave Jiang <dave.jiang@intel.com> Cc: Allen Hubbe <allenbh@gmail.com> Signed-off-by: Jon Mason <jdmason@kudzu.us>
Diffstat (limited to 'drivers/ntb/Makefile')
-rw-r--r--drivers/ntb/Makefile3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/ntb/Makefile b/drivers/ntb/Makefile
index 537226f8e78d..cc27ad2ef150 100644
--- a/drivers/ntb/Makefile
+++ b/drivers/ntb/Makefile
@@ -1,4 +1,5 @@
obj-$(CONFIG_NTB) += ntb.o hw/ test/
obj-$(CONFIG_NTB_TRANSPORT) += ntb_transport.o
-ntb-y := core.o
+ntb-y := core.o
+ntb-$(CONFIG_NTB_MSI) += msi.o