events: allow callbacks per CQ, QP, or SRQ
authorshefty <shefty@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Wed, 23 Jul 2008 20:09:45 +0000 (20:09 +0000)
committershefty <shefty@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Wed, 23 Jul 2008 20:09:45 +0000 (20:09 +0000)
commit31e06730c0d11d39a4512d7cdac263eea2e6c692
tree85739286fedc083b98232917eabfcd30bc072298
parent42300100d3d7257851f112bc8aeae3ca0282457b
events: allow callbacks per CQ, QP, or SRQ

The underlying hardware drivers both support setting callbacks on a per
widget (CQ, QP, or SRQ) basis, but the verbs interface only allows one
global event handler and one completion handler for the HCA.  Modify the
verbs interface to allow setting events callbacks directly on the HCA
objects.  This allows the HCA to support multiple consumers of its
interface, and users can optimize their event handling based on the call.
For example, the HCA drivers can invoke callbacks directly to the ULPs
without the calls first being filtered by IBAL.  This will improve
completion event reporting.

To minimize changes to the existing stack, the current event handler is
used for all events, regardless of type.  Optimizations are left for a
separate patch.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@1435 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
23 files changed:
core/al/al_verbs.h
core/al/kernel/al_ci_ca.c
hw/mlx4/kernel/bus/ib/cq.c
hw/mlx4/kernel/bus/ib/qp.c
hw/mlx4/kernel/bus/ib/srq.c
hw/mlx4/kernel/bus/inc/ib_verbs.h
hw/mlx4/kernel/hca/ca.c
hw/mlx4/kernel/hca/cq.c
hw/mlx4/kernel/hca/data.c
hw/mlx4/kernel/hca/data.h
hw/mlx4/kernel/hca/qp.c
hw/mlx4/kernel/hca/srq.c
hw/mlx4/kernel/hca/verbs.c
hw/mlx4/kernel/hca/verbs.h
hw/mthca/kernel/hca_data.c
hw/mthca/kernel/hca_data.h
hw/mthca/kernel/hca_verbs.c
hw/mthca/kernel/ib_verbs.h
hw/mthca/kernel/mt_verbs.c
hw/mthca/kernel/mthca_cq.c
hw/mthca/kernel/mthca_qp.c
hw/mthca/kernel/mthca_srq.c
inc/iba/ib_ci.h