linux/drivers/infiniband/hw/cxgb4
Steve Wise d37ac31ddc RDMA/cxgb4: Support variable sized work requests
T4 EQ entries are in multiples of 64 bytes.  Currently the RDMA SQ and
RQ use fixed sized entries composed of 4 EQ entries for the SQ and 2
EQ entries for the RQ.  For optimial latency with small IO, we need to
change this so the HW only needs to DMA the EQ entries actually used
by a given work request.

Implementation:

- add wq_pidx counter to track where we are in the EQ.  cidx/pidx are
  used for the sw sq/rq tracking and flow control.

- the variable part of work requests is the SGL.  Add new functions to
  build the SGL and/or immediate data directly in the EQ memory
  wrapping when needed.

- adjust the min burst size for the EQ contexts to 64B.

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2010-07-21 11:16:20 -07:00
..
cm.c RDMA/cxgb4: Add module option to tweak delayed ack 2010-07-21 10:53:52 -07:00
cq.c RDMA/cxgb4: Remove dependency on __GFP_NOFAIL 2010-07-21 10:55:05 -07:00
device.c RDMA/cxgb4: Register RDMA provider based on LLD state_change events 2010-05-24 21:07:59 -07:00
ev.c MAINTAINERS: Add cxgb4 and iw_cxgb4 entries 2010-05-05 14:45:40 -07:00
iw_cxgb4.h RDMA/cxgb4: Use the DMA state API instead of the pci equivalents 2010-07-06 14:01:42 -07:00
Kconfig
Makefile
mem.c RDMA/cxgb4: Remove dependency on __GFP_NOFAIL 2010-07-21 10:55:05 -07:00
provider.c Merge branches 'cxgb4', 'misc', 'mlx4', 'nes' and 'qib' into for-next 2010-05-25 09:54:03 -07:00
qp.c RDMA/cxgb4: Support variable sized work requests 2010-07-21 11:16:20 -07:00
resource.c
t4.h RDMA/cxgb4: Support variable sized work requests 2010-07-21 11:16:20 -07:00
t4fw_ri_api.h RDMA/cxgb4: Add module option to tweak delayed ack 2010-07-21 10:53:52 -07:00
user.h