From: Wenzhuo Lu Date: Wed, 8 Jul 2015 01:14:05 +0000 (+0800) Subject: ixgbe: allow to disable flow control X-Git-Tag: spdx-start~8790 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=49508ecd257df28a4adb093479ea08c6d6216eb5;p=dpdk.git ixgbe: allow to disable flow control There's a parameter "autoneg on|off" in testpmd CLI "set flow_ctrl ...". This parameter is used to enable/disable auto negotiation for flow control. But it's not supported yet. The auto negotiation is enabled by default, we have no way to disable it. This patch lets the parameter "autoneg on|off" be supproted. Signed-off-by: Wenzhuo Lu Acked-by: Changchun Ouyang --- diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c index aa6074fda2..8d68125262 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.c +++ b/drivers/net/ixgbe/ixgbe_ethdev.c @@ -2576,8 +2576,6 @@ ixgbe_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) PMD_INIT_FUNC_TRACE(); hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private); - if (fc_conf->autoneg != !hw->fc.disable_fc_autoneg) - return -ENOTSUP; rx_buf_size = IXGBE_READ_REG(hw, IXGBE_RXPBSIZE(0)); PMD_INIT_LOG(DEBUG, "Rx packet buffer size = 0x%x", rx_buf_size); @@ -2598,6 +2596,7 @@ ixgbe_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) hw->fc.high_water[0] = fc_conf->high_water; hw->fc.low_water[0] = fc_conf->low_water; hw->fc.send_xon = fc_conf->send_xon; + hw->fc.disable_fc_autoneg = !fc_conf->autoneg; err = ixgbe_fc_enable(hw);