freebsd-skq/sys/modules/cxgbe
John Baldwin f91fca5ba7 Add a driver to create VF devices on Chelsio T4/T5 NICs.
Chelsio NICs are a bit unique compared to some other NICs in that they
expose different functionality on different physical functions.  In
particular, PF4 is used to manage the NIC interfaces ('t4nex' and 't5nex').
However, PF4 is not able to create VF devices.  Instead, VFs are only
supported by physical functions 0 through 3.  This commit adds 't4iov'
and 't5iov' drivers that attach to PF0-3.

One extra wrinkle is that the iov devices cannot enable SR-IOV until the
firwmare has been initialized by the main PF4 driver.  To handle this
case, a new t4_if kobj interface has been added to permit cross-calls
between the PF drivers.  The PF4 driver notifies sibling drivers when it
is fully attached.  It also requests sibling drivers to detach before it
detaches.  Sibling drivers query the PF4 driver during their attach
routine to see if it is attached.  If not, the sibling drivers defer
their attach actions until the PF4 driver informs them it is attached.

VF devices are associated with a single port on the NIC.  VF devices
created from PF0 are associated with the first port on the NIC, VFs
from PF1 are associated with the second port, etc.  VF devices can
only be created from a PF device that has an associated port.  Thus,
on a 2-port card, VFs are only supported on PF0 and PF1.

Reviewed by:	np (earlier versions)
MFC after:	1 month
Sponsored by:	Chelsio Communications
2016-07-22 22:46:41 +00:00
..
cxgbei cxgbei: Hardware accelerated iSCSI target and initiator for TOE capable 2015-12-26 06:05:21 +00:00
if_cxgbe Add a driver to create VF devices on Chelsio T4/T5 NICs. 2016-07-22 22:46:41 +00:00
if_cxl cxgbe(4): Add a minimal if_cxl module that pulls in the real driver as 2015-02-06 01:10:04 +00:00
iw_cxgbe Finish process of moving the LinuxKPI module into the default kernel build. 2015-10-29 08:28:39 +00:00
t4_firmware cxgbe(4): Update T5 and T4 firmwares to 1.15.37.0. 2016-05-13 17:38:59 +00:00
t5_firmware cxgbe(4): Update T5 and T4 firmwares to 1.15.37.0. 2016-05-13 17:38:59 +00:00
tom Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
Makefile cxgbei: Hardware accelerated iSCSI target and initiator for TOE capable 2015-12-26 06:05:21 +00:00