linux/drivers/net/ixgbe
John Fastabend 3032309b49 ixgbe: DCB, implement capabilities flags
This implements dcbnl get and set capabilities ops. The
devices supported by ixgbe can be configured to run in
IEEE or CEE modes but not both.

With the DCBX set capabilities bit we add an explicit
signal that must be used to toggle between these modes.
This patch adds logic to fail the CEE command set_hw_all()
which programs the device with a CEE configuration if
the CEE caps bit is not set. Similarly, IEEE set
commands will fail if the IEEE caps bit is not set. We
allow most CEE config set commands to occur because they
do not touch the hardware until set_hw_all() is called.

The one exception to the above is the {set|get}app routines.
These must always be protected by caps bits to ensure
side effects do not corrupt the current configured mode.

By requiring the caps bit to be set correctly we can
maintain a consistent configuration in the hardware
for CEE or IEEE modes and prevent partial hardware
configurations that may occur if user space does
not send a complete IEEE or CEE configurations.

It is expected that user space will signal a DCBX mode
before programming device.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-03-12 04:10:31 -08:00
..
ixgbe_82598.c ixgbe: Enable flow control pause parameter auto-negotiation support 2011-03-07 18:06:43 -08:00
ixgbe_82599.c ixgbe: Enable flow control pause parameter auto-negotiation support 2011-03-07 18:06:43 -08:00
ixgbe_common.c ixgbe: fix spelling errors 2011-03-07 18:08:25 -08:00
ixgbe_common.h ixgbe: cleanup copyright string for 2011 2011-03-03 04:43:24 -08:00
ixgbe_dcb_82598.c ixgbe: cleanup copyright string for 2011 2011-03-03 04:43:24 -08:00
ixgbe_dcb_82598.h ixgbe: cleanup copyright string for 2011 2011-03-03 04:43:24 -08:00
ixgbe_dcb_82599.c ixgbe: cleanup copyright string for 2011 2011-03-03 04:43:24 -08:00
ixgbe_dcb_82599.h ixgbe: cleanup copyright string for 2011 2011-03-03 04:43:24 -08:00
ixgbe_dcb_nl.c ixgbe: DCB, implement capabilities flags 2011-03-12 04:10:31 -08:00
ixgbe_dcb.c ixgbe: cleanup copyright string for 2011 2011-03-03 04:43:24 -08:00
ixgbe_dcb.h ixgbe: cleanup copyright string for 2011 2011-03-03 04:43:24 -08:00
ixgbe_ethtool.c ixgbe: fix setting and reporting of advertised speeds 2011-03-07 18:10:22 -08:00
ixgbe_fcoe.c ixgbe: add support to FCoE DDP in target mode 2011-03-07 18:04:35 -08:00
ixgbe_fcoe.h ixgbe: add support to FCoE DDP in target mode 2011-03-07 18:04:35 -08:00
ixgbe_main.c ixgbe: DCB, implement capabilities flags 2011-03-12 04:10:31 -08:00
ixgbe_mbx.c ixgbe: fix compile failure in ixgbe_init_mbx_params_pf 2011-03-08 14:26:00 -08:00
ixgbe_mbx.h ixgbe: cleanup copyright string for 2011 2011-03-03 04:43:24 -08:00
ixgbe_phy.c ixgbe: cleanup PHY init 2011-03-07 18:05:02 -08:00
ixgbe_phy.h ixgbe: Enable flow control pause parameter auto-negotiation support 2011-03-07 18:06:43 -08:00
ixgbe_sriov.c ixgbe: cleanup copyright string for 2011 2011-03-03 04:43:24 -08:00
ixgbe_sriov.h ixgbe: cleanup copyright string for 2011 2011-03-03 04:43:24 -08:00
ixgbe_type.h ixgbe: Enable flow control pause parameter auto-negotiation support 2011-03-07 18:06:43 -08:00
ixgbe_x540.c ixgbe: add function description 2011-03-07 18:07:21 -08:00
ixgbe.h ixgbe: DCB, implement capabilities flags 2011-03-12 04:10:31 -08:00
Makefile ixgbe: add MAC and PHY support for x540 2010-11-16 19:27:16 -08:00