OpenCloudOS-Kernel/drivers/infiniband/hw/ipath
Roland Dreier 0f39cf3d54 IB/core: Add support for "send with invalidate" work requests
Add a new IB_WR_SEND_WITH_INV send opcode that can be used to mark a
"send with invalidate" work request as defined in the iWARP verbs and
the InfiniBand base memory management extensions.  Also put "imm_data"
and a new "invalidate_rkey" member in a new "ex" union in struct
ib_send_wr. The invalidate_rkey member can be used to pass in an
R_Key/STag to be invalidated.  Add this new union to struct
ib_uverbs_send_wr.  Add code to copy the invalidate_rkey field in
ib_uverbs_post_send().

Fix up low-level drivers to deal with the change to struct ib_send_wr,
and just remove the imm_data initialization from net/sunrpc/xprtrdma/,
since that code never does any send with immediate operations.

Also, move the existing IB_DEVICE_SEND_W_INV flag to a new bit, since
the iWARP drivers currently in the tree set the bit.  The amso1100
driver at least will silently fail to honor the IB_SEND_INVALIDATE bit
if passed in as part of userspace send requests (since it does not
implement kernel bypass work request queueing).  Remove the flag from
all existing drivers that set it until we know which ones are OK.

The values chosen for the new flag is not consecutive to avoid clashing
with flags defined in the XRC patches, which are not merged yet but
which are already in use and are likely to be merged soon.

This resurrects a patch sent long ago by Mikkel Hagen <mhagen@iol.unh.edu>.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
2008-04-16 21:09:32 -07:00
..
Kconfig IB: Use menuconfig for InfiniBand menu 2007-07-09 20:12:26 -07:00
Makefile IB/ipath: add calls to new 7220 code and enable in build 2008-04-16 21:09:32 -07:00
ipath_7220.h IB/ipath: Isolate 7220-specific content 2008-04-16 21:09:30 -07:00
ipath_common.h IB/ipath: Update copyright dates for files changed in 2008 2008-04-16 21:09:32 -07:00
ipath_cq.c IB/ipath: Fix error returned from ib_resize_cq if new size smaller than # entries 2008-01-25 14:15:28 -08:00
ipath_debug.h IB/ipath: Prevent link-recovery code from negating admin disable 2008-04-16 21:09:26 -07:00
ipath_diag.c IB/ipath: Update copyright dates for files changed in 2008 2008-04-16 21:09:32 -07:00
ipath_dma.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
ipath_driver.c IB/ipath: Update copyright dates for files changed in 2008 2008-04-16 21:09:32 -07:00
ipath_eeprom.c IB/ipath: Update copyright dates for files changed in 2008 2008-04-16 21:09:32 -07:00
ipath_file_ops.c IB/ipath: Update copyright dates for files changed in 2008 2008-04-16 21:09:32 -07:00
ipath_fs.c IB/ipath: Remove unnecessary cast 2008-01-25 14:17:46 -08:00
ipath_iba6110.c IB/ipath: Add support for 7220 receive queue changes 2008-04-16 21:09:29 -07:00
ipath_iba6120.c IB/ipath: Update copyright dates for files changed in 2008 2008-04-16 21:09:32 -07:00
ipath_iba7220.c IB/ipath: HCA-specific code to support IBA7220 2008-04-16 21:09:30 -07:00
ipath_init_chip.c IB/ipath: Update copyright dates for files changed in 2008 2008-04-16 21:09:32 -07:00
ipath_intr.c IB/ipath: Update copyright dates for files changed in 2008 2008-04-16 21:09:32 -07:00
ipath_kernel.h IB/ipath: Update copyright dates for files changed in 2008 2008-04-16 21:09:32 -07:00
ipath_keys.c IB/ipath: Clean up some comments 2008-01-25 14:15:38 -08:00
ipath_mad.c IB/ipath: Update copyright dates for files changed in 2008 2008-04-16 21:09:32 -07:00
ipath_mmap.c IB/ipath: Update copyright dates 2007-07-09 20:12:26 -07:00
ipath_mr.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
ipath_qp.c IB/ipath: Update copyright dates for files changed in 2008 2008-04-16 21:09:32 -07:00
ipath_rc.c IB/core: Add support for "send with invalidate" work requests 2008-04-16 21:09:32 -07:00
ipath_registers.h IB/ipath: Header file changes to support IBA7220 2008-04-16 21:09:30 -07:00
ipath_ruc.c IB/core: Add support for "send with invalidate" work requests 2008-04-16 21:09:32 -07:00
ipath_sd7220.c IB/ipath: Support for SerDes portion of IBA7220 2008-04-16 21:09:31 -07:00
ipath_sd7220_img.c IB/ipath: Add IBA7220-specific SERDES initialization data 2008-04-16 21:09:31 -07:00
ipath_sdma.c IB/ipath: add calls to new 7220 code and enable in build 2008-04-16 21:09:32 -07:00
ipath_srq.c IB/ipath: Update copyright dates for files changed in 2008 2008-04-16 21:09:32 -07:00
ipath_stats.c IB/ipath: Update copyright dates for files changed in 2008 2008-04-16 21:09:32 -07:00
ipath_sysfs.c IB/ipath: Update copyright dates for files changed in 2008 2008-04-16 21:09:32 -07:00
ipath_uc.c IB/core: Add support for "send with invalidate" work requests 2008-04-16 21:09:32 -07:00
ipath_ud.c IB/core: Add support for "send with invalidate" work requests 2008-04-16 21:09:32 -07:00
ipath_user_pages.c IB/ipath: Remove ipath_get_user_pages_nocopy() 2007-07-17 18:37:43 -07:00
ipath_user_sdma.c IB/ipath: User mode send DMA 2008-04-16 21:09:31 -07:00
ipath_user_sdma.h IB/ipath: User mode send DMA header file 2008-04-16 21:09:31 -07:00
ipath_verbs.c IB/ipath: Update copyright dates for files changed in 2008 2008-04-16 21:09:32 -07:00
ipath_verbs.h IB/ipath: Update copyright dates for files changed in 2008 2008-04-16 21:09:32 -07:00
ipath_verbs_mcast.c IB/ipath: Update copyright dates 2007-07-09 20:12:26 -07:00
ipath_wc_ppc64.c IB/ipath: Update copyright dates 2007-07-09 20:12:26 -07:00
ipath_wc_x86_64.c IB/ipath: Update copyright dates 2007-07-09 20:12:26 -07:00