linux/drivers/infiniband/hw/hfi1
Kaike Wan 24b11923da IB/hfi1: Integrate TID RDMA READ protocol into RC protocol
This patch integrates the TID RDMA READ protocol into the IB RC protocol.
This protocol is an end-to-end protocol between the hfi1 drivers on two
OPA nodes that converts a qualified RDMA READ request into a TID RDMA
READ request to avoid data copying on the requester side. The following
codes are added in this patch:
- Send the TID RDMA READ request;
- Complete the TID RDMA READ send request;
- Send the TID RDMA READ response;
- Complete the TID RDMA READ request;

Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Kaike Wan <kaike.wan@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2019-02-05 17:53:55 -05:00
..
affinity.c IB/hfi1: Make the MSIx resource allocation a bit more flexible 2018-09-01 08:13:38 -04:00
affinity.h IB/{hfi1, rdmavt, qib}: Implement CQ completion vector support 2018-05-09 15:53:30 -04:00
aspm.h IB/hfi1: Convert timers to use timer_setup() 2017-10-18 11:48:19 -04:00
chip_registers.h IB/hfi1: Dump pio info for non-user send contexts 2018-12-06 19:49:47 -07:00
chip.c IB/hfi1: Add the counter n_tidwait 2019-02-05 17:53:55 -05:00
chip.h IB/hfi1: Add the counter n_tidwait 2019-02-05 17:53:55 -05:00
common.h IB/hfi1: TID RDMA flow allocation 2019-02-05 17:53:54 -05:00
debugfs.c infiniband: hfi1: no need to check return value of debugfs_create functions 2019-01-24 09:22:29 -07:00
debugfs.h infiniband: hfi1: drop crazy DEBUGFS_SEQ_FILE_CREATE() macro 2019-01-24 09:22:29 -07:00
device.c infiniband: utilize the new cdev_set_parent function 2017-03-21 06:44:33 +01:00
device.h
driver.c IB/hfi1: Add TID RDMA handlers 2019-02-05 17:53:55 -05:00
efivar.c IB/hfi1: Check upper-case EFI variables 2017-02-19 09:18:37 -05:00
efivar.h
eprom.c IB/hfi1: Check eeprom config partition validity 2017-09-27 11:10:36 -04:00
eprom.h
exp_rcv.c IB/hfi1: Cleanup of exp_rcv 2018-05-24 09:39:25 -06:00
exp_rcv.h IB/hfi1: Cleanup of exp_rcv 2018-05-24 09:39:25 -06:00
fault.c infiniband: hfi1: no need to check return value of debugfs_create functions 2019-01-24 09:22:29 -07:00
fault.h IB/hfi1: Rework fault injection machinery 2018-05-09 15:53:30 -04:00
file_ops.c IB/hfi1: Move URGENT IRQ enable to hfi1_rcvctrl() 2018-09-01 08:13:38 -04:00
firmware.c IB/hfi1: Fix infinite loop in 8051 command error path 2018-01-05 13:34:55 -05:00
hfi.h IB/hfi1: Add TID RDMA handlers 2019-02-05 17:53:55 -05:00
init.c IB/hfi1: TID RDMA RcvArray programming and TID allocation 2019-02-05 17:53:55 -05:00
intr.c IB/hfi1: Allow MgmtAllowed on B2B setups 2017-11-13 15:53:56 -05:00
iowait.c IB/hfi1: Add static trace for iowait 2018-09-30 19:21:12 -06:00
iowait.h IB/hfi1: Prepare resource waits for dual leg 2018-09-30 19:21:12 -06:00
Kconfig IB/hfi1: Remove HFI1_VERBS_31BIT_PSN option 2017-08-22 14:22:38 -04:00
mad.c RDMA: Mark if create address handle is in a sleepable context 2018-12-19 16:17:19 -07:00
mad.h IB/hfi1: Convert PortXmitWait/PortVLXmitWait counters to flit times 2018-02-01 15:43:30 -07:00
Makefile IB/hfi1: OPFN interface 2019-01-31 11:36:05 -05:00
mmu_rb.c mm/mmu_notifier: use structure for invalidate_range_start/end callback 2018-12-28 12:11:50 -08:00
mmu_rb.h IB/hfi1: Don't remove RB entry when not needed. 2017-06-27 16:56:33 -04:00
msix.c IB/hfi1: Rework the IRQ API to be more flexible 2018-09-01 08:13:38 -04:00
msix.h IB/hfi1: Make the MSIx resource allocation a bit more flexible 2018-09-01 08:13:38 -04:00
opa_compat.h IB/hfi1: Document phys port state bits not used in IB 2017-08-22 14:22:37 -04:00
opfn.c IB/hfi1: Add static trace for OPFN 2019-01-31 11:37:40 -05:00
opfn.h IB/hfi1: OPFN interface 2019-01-31 11:36:05 -05:00
pcie.c First merge window pull request 2018-10-26 07:38:19 -07:00
pio_copy.c
pio.c cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
pio.h IB/hfi1: Reduce lock contention on iowait_lock for sdma and pio 2018-12-06 20:15:36 -07:00
platform.c IB/{hfi1, rdmavt}: Fix memory leak in hfi1_alloc_devdata() upon failure 2018-05-03 15:24:48 -04:00
platform.h IB/hfi1: Define platform_config_table_limits once 2016-12-11 15:29:42 -05:00
qp.c IB/hfi1: Integrate TID RDMA READ protocol into RC protocol 2019-02-05 17:53:55 -05:00
qp.h IB/hfi1: TID RDMA flow allocation 2019-02-05 17:53:54 -05:00
qsfp.c IB/{hfi1, rdmavt}: Fix memory leak in hfi1_alloc_devdata() upon failure 2018-05-03 15:24:48 -04:00
qsfp.h
rc.c IB/hfi1: Integrate TID RDMA READ protocol into RC protocol 2019-02-05 17:53:55 -05:00
rc.h IB/hfi: Move RC functions into a header file 2019-02-05 17:51:09 -05:00
ruc.c IB/hfi1: OPFN support discovery 2019-01-31 11:36:04 -05:00
sdma_txreq.h
sdma.c cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
sdma.h IB/hfi1: Reduce lock contention on iowait_lock for sdma and pio 2018-12-06 20:15:36 -07:00
sysfs.c RDMA: Introduce and use rdma_device_to_ibdev() 2019-01-14 13:12:03 -07:00
tid_rdma.c IB/hfi1: Integrate TID RDMA READ protocol into RC protocol 2019-02-05 17:53:55 -05:00
tid_rdma.h IB/hfi1: Integrate TID RDMA READ protocol into RC protocol 2019-02-05 17:53:55 -05:00
trace_ctxts.h treewide: remove large struct-pass-by-value from tracepoint arguments 2018-03-28 22:55:18 +02:00
trace_dbg.h IB/{hfi1, rdmavt, qib}: Implement CQ completion vector support 2018-05-09 15:53:30 -04:00
trace_ibhdrs.h IB/hfi1: Add 16B Management Packet trace support 2018-05-24 09:39:25 -06:00
trace_iowait.h IB/hfi1: Add static trace for iowait 2018-09-30 19:21:12 -06:00
trace_misc.h IB/hfi1: Add traces for TID operations 2017-06-27 16:58:13 -04:00
trace_mmu.h IB/hif1: Remove static tracing from SDMA hot path 2017-08-28 19:12:27 -04:00
trace_rc.h IB/rdmavt, IB/hfi1: Fix timer migration regressions 2017-04-05 14:45:09 -04:00
trace_rx.h IB/hfi1: Add static trace for OPFN 2019-01-31 11:37:40 -05:00
trace_tid.h IB/hfi1: Add static trace for flow and TID management functions 2019-02-05 17:53:55 -05:00
trace_tx.h IB/hif1: Remove static tracing from SDMA hot path 2017-08-28 19:12:27 -04:00
trace.c IB/hfi1: Add static trace for flow and TID management functions 2019-02-05 17:53:55 -05:00
trace.h IB/hfi1: Add static trace for OPFN 2019-01-31 11:37:40 -05:00
uc.c IB/hfi1: OPFN support discovery 2019-01-31 11:36:04 -05:00
ud.c IB/{hfi1, qib, rvt} Cleanup open coded sge usage 2019-01-30 14:22:32 -05:00
user_exp_rcv.c Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
user_exp_rcv.h IB/hfi1: TID RDMA RcvArray programming and TID allocation 2019-02-05 17:53:55 -05:00
user_pages.c IB/hfi1: Virtual Network Interface Controller (VNIC) HW support 2017-04-20 15:19:35 -04:00
user_sdma.c IB/hfi1: Reduce lock contention on iowait_lock for sdma and pio 2018-12-06 20:15:36 -07:00
user_sdma.h IB/hfi1: Right size user_sdma sequence numbers and related variables 2018-09-11 10:05:17 -06:00
verbs_txreq.c IB/hfi1: Fix incorrect mixing of ERR_PTR and NULL return values 2018-06-26 14:35:55 -06:00
verbs_txreq.h IB/hfi1: Prepare resource waits for dual leg 2018-09-30 19:21:12 -06:00
verbs.c IB/hfi1: Integrate TID RDMA READ protocol into RC protocol 2019-02-05 17:53:55 -05:00
verbs.h IB/hfi1: Add TID RDMA handlers 2019-02-05 17:53:55 -05:00
vnic_main.c IB/hfi1: Limit VNIC use of SDMA engines to the available count 2018-12-06 19:50:08 -07:00
vnic_sdma.c IB/hfi1: Reduce lock contention on iowait_lock for sdma and pio 2018-12-06 20:15:36 -07:00
vnic.h IB/hfi1: Add support to receive 16B bypass packets 2017-08-22 14:22:37 -04:00