freebsd-nq/sys/dev/cxgbe/tom
Navdeep Parhar b3d44a6800 cxgbe(4): tidy up some of the interaction between the Upper Layer
Drivers (ULDs) and the base if_cxgbe driver.

Track the per-adapter activation of ULDs in a new "active_ulds" field.
This was done pretty arbitrarily before this change -- via TOM_INIT_DONE
in adapter->flags for TOM, and the (1 << MAX_NPORTS) bit in
adapter->offload_map for iWARP.

iWARP and hw-accelerated iSCSI rely on the TOE (supported by the TOM
ULD).  The rules are:
a) If the iWARP and/or iSCSI ULDs are available when TOE is enabled then
   iWARP and/or iSCSI are enabled too.
b) When the iWARP and iSCSI modules are loaded they go looking for
   adapters with TOE enabled and enable themselves on that adapter.
c) You cannot deactivate or unload the TOM module from underneath iWARP
   or iSCSI.  Any such attempt will fail with EBUSY.

MFC after:	2 weeks
2015-02-08 09:28:55 +00:00
..
t4_connect.c
t4_cpl_io.c
t4_ddp.c
t4_listen.c cxgbe(4): tidy up some of the interaction between the Upper Layer 2015-02-08 09:28:55 +00:00
t4_tom_l2t.c
t4_tom_l2t.h
t4_tom.c cxgbe(4): tidy up some of the interaction between the Upper Layer 2015-02-08 09:28:55 +00:00
t4_tom.h