freebsd-dev/sys/dev/cxgbe
Navdeep Parhar 671bf2b8b2 cxgbe(4): Changes to the CPL-handler registration mechanism and code
related to "shared" CPLs.

a) Combine t4_set_tcb_field and t4_set_tcb_field_rpl into a single
function.  Allow callers to direct the response to any iq.  Tidy up
set_ulp_mode_iscsi while there to use names from t4_tcb.h instead of
magic constants.

b) Remove all CPL handler tables from struct adapter.  This reduces its
size by around 2KB.  All handlers are now registered at MOD_LOAD instead
of attach or some kind of initialization/activation.  The registration
functions do not need an adapter parameter any more.

c) Add per-iq handlers to deal with CPLs whose destination cannot be
determined solely from the opcode.  There are 2 such CPLs in use right
now: SET_TCB_RPL and L2T_WRITE_RPL.  The base driver continues to send
filter and L2T_WRITEs over the mgmtq and solicits the reply on fwq.
t4_tom (including the DDP code) now uses the port's ctrlq to send
L2T_WRITEs and SET_TCB_FIELDs and solicits the reply on an ofld_rxq.
fwq and ofld_rxq have different handlers that know what kind of tid to
expect in the reply.  Update t4_write_l2e and callers to to support any
wrq/iq combination.

Approved by:	re@ (kib@)
Sponsored by:	Chelsio Communications
2016-07-05 01:29:24 +00:00
..
common sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
cxgbei cxgbe(4): Changes to the CPL-handler registration mechanism and code 2016-07-05 01:29:24 +00:00
firmware cxgbe(4): Update T5 and T4 firmwares to 1.15.37.0. 2016-05-13 17:38:59 +00:00
iw_cxgbe cxgbe(4): Changes to the CPL-handler registration mechanism and code 2016-07-05 01:29:24 +00:00
tom cxgbe(4): Changes to the CPL-handler registration mechanism and code 2016-07-05 01:29:24 +00:00
adapter.h cxgbe(4): Changes to the CPL-handler registration mechanism and code 2016-07-05 01:29:24 +00:00
if_cxl.c cxgbe(4): Add a minimal if_cxl module that pulls in the real driver as 2015-02-06 01:10:04 +00:00
offload.h Use DDP to implement zerocopy TCP receive with aio_read(). 2016-05-07 00:33:35 +00:00
osdep.h cxgbe(4): Remove __devinit and SPEED_<foo> as part of catch up with 2016-03-08 08:13:37 +00:00
t4_ioctl.h cxgbe(4): Create a reusable struct type for scheduling class parameters. 2016-06-06 20:42:46 +00:00
t4_l2t.c cxgbe(4): Changes to the CPL-handler registration mechanism and code 2016-07-05 01:29:24 +00:00
t4_l2t.h cxgbe(4): Changes to the CPL-handler registration mechanism and code 2016-07-05 01:29:24 +00:00
t4_main.c cxgbe(4): Changes to the CPL-handler registration mechanism and code 2016-07-05 01:29:24 +00:00
t4_mp_ring.c sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
t4_mp_ring.h cxgbe(4): major tx rework. 2014-12-31 23:19:16 +00:00
t4_netmap.c cxgbe(4): Merge netmap support from the ncxgbe/ncxl interfaces to the 2016-06-23 02:53:00 +00:00
t4_sge.c cxgbe(4): Changes to the CPL-handler registration mechanism and code 2016-07-05 01:29:24 +00:00
t4_tracer.c cxgbe(4): Remove stray if_up from the code that creates the tracing ifnet. 2014-05-23 01:45:44 +00:00