[v2,2/2] net/hinic: remove the operation of optical modules

Message ID 76ef45e46267ef09e0793093e08befbc011253f0.1606199729.git.zhouguoyang@huawei.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series remove some limitations and operations |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-testing warning Testing issues
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/travis-robot success Travis build: passed

Commit Message

Guoyang Zhou Nov. 24, 2020, 6:45 a.m. UTC
  Remove the operation of optical modules in the link function, because
when device binds from dpdk to kernel, it will be linked failed. This
function does not take effect in cable mode, therefore, optimization
is required.

Fixes: 54ac33869932 ("net/hinic: set link down and up")
Cc: stable@dpdk.org
Signed-off-by: Guoyang Zhou <zhouguoyang@huawei.com>
---
 drivers/net/hinic/base/hinic_pmd_niccfg.c | 38 -------------------------------
 drivers/net/hinic/base/hinic_pmd_niccfg.h |  2 --
 drivers/net/hinic/hinic_pmd_ethdev.c      | 14 ------------
 3 files changed, 54 deletions(-)
  

Patch

diff --git a/drivers/net/hinic/base/hinic_pmd_niccfg.c b/drivers/net/hinic/base/hinic_pmd_niccfg.c
index be6445d..8c08d63 100644
--- a/drivers/net/hinic/base/hinic_pmd_niccfg.c
+++ b/drivers/net/hinic/base/hinic_pmd_niccfg.c
@@ -1659,44 +1659,6 @@  int hinic_get_link_mode(void *hwdev, u32 *supported, u32 *advertised)
 }
 
 /**
- * hinic_set_xsfp_tx_status - Enable or disable the fiber in
- * tx direction when set link up or down.
- *
- * @param hwdev
- *   The hardware interface of a nic device.
- * @param enable
- *   Enable or Disable.
- *
- * @return
- *   0 on success.
- *   negative error value otherwise.
- */
-int hinic_set_xsfp_tx_status(void *hwdev, bool enable)
-{
-	struct hinic_set_xsfp_status xsfp_status;
-	u16 out_size = sizeof(struct hinic_set_xsfp_status);
-	int err;
-
-	memset(&xsfp_status, 0, sizeof(xsfp_status));
-	xsfp_status.mgmt_msg_head.resp_aeq_num = HINIC_AEQ1;
-	xsfp_status.port_id = hinic_global_func_id(hwdev);
-	xsfp_status.xsfp_tx_dis = ((enable == 0) ? 1 : 0);
-
-	err = l2nic_msg_to_mgmt_sync(hwdev, HINIC_PORT_CMD_SET_XSFP_STATUS,
-		&xsfp_status, sizeof(struct hinic_set_xsfp_status),
-		&xsfp_status, &out_size);
-	if (err || !out_size || xsfp_status.mgmt_msg_head.status) {
-		PMD_DRV_LOG(ERR,
-			"Failed to %s port xsfp status, err: %d, status: 0x%x, out size: 0x%x\n",
-			enable ? "Disable" : "Enable", err,
-			xsfp_status.mgmt_msg_head.status, out_size);
-		return -EIO;
-	}
-
-	return 0;
-}
-
-/**
  * hinic_flush_qp_res - Flush tx && rx chip resources in case of set vport
  * fake failed when device start.
  *
diff --git a/drivers/net/hinic/base/hinic_pmd_niccfg.h b/drivers/net/hinic/base/hinic_pmd_niccfg.h
index 73b16b4..04cd374 100644
--- a/drivers/net/hinic/base/hinic_pmd_niccfg.h
+++ b/drivers/net/hinic/base/hinic_pmd_niccfg.h
@@ -909,8 +909,6 @@  int hinic_set_link_status_follow(void *hwdev,
 
 int hinic_get_link_mode(void *hwdev, u32 *supported, u32 *advertised);
 
-int hinic_set_xsfp_tx_status(void *hwdev, bool enable);
-
 int hinic_flush_qp_res(void *hwdev);
 
 int hinic_init_function_table(void *hwdev, u16 rx_buf_sz);
diff --git a/drivers/net/hinic/hinic_pmd_ethdev.c b/drivers/net/hinic/hinic_pmd_ethdev.c
index 378f2c8..6264235 100644
--- a/drivers/net/hinic/hinic_pmd_ethdev.c
+++ b/drivers/net/hinic/hinic_pmd_ethdev.c
@@ -939,13 +939,6 @@  static int hinic_dev_set_link_up(struct rte_eth_dev *dev)
 	struct hinic_nic_dev *nic_dev = HINIC_ETH_DEV_TO_PRIVATE_NIC_DEV(dev);
 	int ret;
 
-	ret = hinic_set_xsfp_tx_status(nic_dev->hwdev, true);
-	if (ret) {
-		PMD_DRV_LOG(ERR, "Enable port tx xsfp failed, dev_name: %s, port_id: %d",
-			    nic_dev->proc_dev_name, dev->data->port_id);
-		return ret;
-	}
-
 	/* link status follow phy port status, up will open pma */
 	ret = hinic_set_port_enable(nic_dev->hwdev, true);
 	if (ret)
@@ -969,13 +962,6 @@  static int hinic_dev_set_link_down(struct rte_eth_dev *dev)
 	struct hinic_nic_dev *nic_dev = HINIC_ETH_DEV_TO_PRIVATE_NIC_DEV(dev);
 	int ret;
 
-	ret = hinic_set_xsfp_tx_status(nic_dev->hwdev, false);
-	if (ret) {
-		PMD_DRV_LOG(ERR, "Disable port tx xsfp failed, dev_name: %s, port_id: %d",
-			    nic_dev->proc_dev_name, dev->data->port_id);
-		return ret;
-	}
-
 	/* link status follow phy port status, up will close pma */
 	ret = hinic_set_port_enable(nic_dev->hwdev, false);
 	if (ret)