linux/drivers/infiniband/hw/ipath
Michael S. Tsirkin 062dbb69f3 IB: Return qp pointer as part of ib_wc
struct ib_wc currently only includes the local QP number: this matches
the IB spec, but seems mostly useless. The following patch replaces
this with the pointer to qp itself, and updates all low level drivers
and all users.

This has the following advantages:
- Ability to get a per-qp context through wc->qp->qp_context
- Existing drivers already have the qp pointer ready in poll cq, so
  this change actually saves a tiny bit (extra memory read) on data path
  (for ehca it would actually be expensive to find the QP pointer when
  polling a CQ, but ehca does not support SRQ so we can leave wc->qp as
  NULL for ehca)
- Users that need the QP number can still get it through wc->qp->qp_num

Use case:

In IPoIB connected mode code, I have a common CQ shared by multiple
QPs.  To track connection usage, I need a way to get at some per-QP
context upon the completion, and I would like to avoid allocating
context object per work request just to stick a QP pointer into it.
With this code, I can just use wc->qp->qp_context.

Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2007-02-04 14:11:55 -08:00
..
ipath_common.h IB/ipath: Set CPU affinity early 2006-09-28 11:17:07 -07:00
ipath_cq.c IB/ipath: Fix races with ib_resize_cq() 2006-09-28 11:17:12 -07:00
ipath_debug.h IB/ipath: remove stale references to userspace SMA 2006-09-22 15:22:32 -07:00
ipath_diag.c IB/ipath: Initialize diagpkt file on device init only 2006-10-16 10:06:07 -07:00
ipath_dma.c IB/ipath: Implement new verbs DMA mapping functions 2006-12-12 14:28:28 -08:00
ipath_driver.c IB/ipath: Remove unused "write-only" variables 2006-12-12 11:50:20 -08:00
ipath_eeprom.c IB/ipath: Fix EEPROM read when driver is compiled with -Os 2006-09-28 11:17:05 -07:00
ipath_file_ops.c IB/ipath: Remove unused "write-only" variables 2006-12-12 11:50:20 -08:00
ipath_fs.c [PATCH] struct path: convert infiniband 2006-12-08 08:28:46 -08:00
ipath_iba6110.c IB/ipath: Remove unused "write-only" variables 2006-12-12 11:50:20 -08:00
ipath_iba6120.c IB/ipath: Fix IRQ for PCI Express HCAs 2006-12-12 11:50:20 -08:00
ipath_init_chip.c IB/ipath: Remove unused "write-only" variables 2006-12-12 11:50:20 -08:00
ipath_intr.c IB/ipath: Remove unused "write-only" variables 2006-12-12 11:50:20 -08:00
ipath_kernel.h [PATCH] IB/ipath - program intconfig register using new HT irq hook 2006-11-08 18:29:25 -08:00
ipath_keys.c IB/ipath: Implement new verbs DMA mapping functions 2006-12-12 14:28:28 -08:00
ipath_layer.c IB/ipath: remove stale references to userspace SMA 2006-09-22 15:22:32 -07:00
ipath_layer.h IB/ipath: remove stale references to userspace SMA 2006-09-22 15:22:32 -07:00
ipath_mad.c IB/ipath: Clean up handling of GUID 0 2006-09-28 11:16:32 -07:00
ipath_mmap.c Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
ipath_mr.c IB/ipath: Implement new verbs DMA mapping functions 2006-12-12 14:28:28 -08:00
ipath_qp.c IB: Return qp pointer as part of ib_wc 2007-02-04 14:11:55 -08:00
ipath_rc.c IB: Return qp pointer as part of ib_wc 2007-02-04 14:11:55 -08:00
ipath_registers.h IB/ipath: Support multiple simultaneous devices of different types 2006-09-28 11:16:49 -07:00
ipath_ruc.c IB: Return qp pointer as part of ib_wc 2007-02-04 14:11:55 -08:00
ipath_srq.c IB/ipath: Count SRQs properly 2006-09-28 11:16:35 -07:00
ipath_stats.c IB/ipath: remove stale references to userspace SMA 2006-09-22 15:22:32 -07:00
ipath_sysfs.c IB/ipath: Remove unused "write-only" variables 2006-12-12 11:50:20 -08:00
ipath_uc.c IB: Return qp pointer as part of ib_wc 2007-02-04 14:11:55 -08:00
ipath_ud.c IB: Return qp pointer as part of ib_wc 2007-02-04 14:11:55 -08:00
ipath_user_pages.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
ipath_verbs_mcast.c IB/ipath: account for attached QPs correctly 2006-09-22 15:22:35 -07:00
ipath_verbs.c IB/ipath: Implement new verbs DMA mapping functions 2006-12-12 14:28:28 -08:00
ipath_verbs.h IB/ipath: Implement new verbs DMA mapping functions 2006-12-12 14:28:28 -08:00
ipath_wc_ppc64.c IB/ipath: Improved support for PowerPC 2006-09-28 11:16:53 -07:00
ipath_wc_x86_64.c IB/ipath: Call mtrr_del with correct arguments 2006-09-28 11:16:57 -07:00
Kconfig IB/ipath: Depend on CONFIG_NET 2006-11-20 13:06:19 -08:00
Makefile IB/ipath: Implement new verbs DMA mapping functions 2006-12-12 14:28:28 -08:00