DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH v2 0/2] remove some limitations and operations
@ 2020-11-24  6:45 Guoyang Zhou
  2020-11-24  6:45 ` [dpdk-dev] [PATCH v2 1/2] net/hinic/base: remove the limitation for max queue num Guoyang Zhou
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Guoyang Zhou @ 2020-11-24  6:45 UTC (permalink / raw)
  To: dev
  Cc: ferruh.yigit, bluca, cloud.wangxiaoyun, luoxianjun, yin.yinshi,
	luojiachen, zhouguoyang, chenlizhong, zhaohui8, chenchanghu

The maximum number of queues on the chip can be any value greater
than 0, it does not have to be the power of two, if it does not be
fixed, dpdk initialization may be failed with OVS mode firmware
and remove the operation of optical modules in the link function, because
when device binds from dpdk to kernel, it will be linked failed.

--
v1->v2:
  - add some necessary comments for patches
  - correct fixed patch id

v1:
  - remove the limitation for max queue num
  - remove the operation of optical modules in the link function

Guoyang Zhou (2):
  net/hinic/base: remove the limitation for max queue num
  net/hinic: remove the operation of optical modules

 drivers/net/hinic/base/hinic_pmd_niccfg.c | 38 -------------------------------
 drivers/net/hinic/base/hinic_pmd_niccfg.h |  2 --
 drivers/net/hinic/base/hinic_pmd_nicio.c  |  5 ----
 drivers/net/hinic/hinic_pmd_ethdev.c      | 14 ------------
 4 files changed, 59 deletions(-)

-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [dpdk-dev] [PATCH v2 1/2] net/hinic/base: remove the limitation for max queue num
  2020-11-24  6:45 [dpdk-dev] [PATCH v2 0/2] remove some limitations and operations Guoyang Zhou
@ 2020-11-24  6:45 ` Guoyang Zhou
  2020-11-24  6:45 ` [dpdk-dev] [PATCH v2 2/2] net/hinic: remove the operation of optical modules Guoyang Zhou
  2020-11-25 22:33 ` [dpdk-dev] [PATCH v2 0/2] remove some limitations and operations Thomas Monjalon
  2 siblings, 0 replies; 4+ messages in thread
From: Guoyang Zhou @ 2020-11-24  6:45 UTC (permalink / raw)
  To: dev
  Cc: ferruh.yigit, bluca, cloud.wangxiaoyun, luoxianjun, yin.yinshi,
	luojiachen, zhouguoyang, chenlizhong, zhaohui8, chenchanghu,
	stable

The maximum number of queues on the chip can be any value greater
than 0, it does not have to be the power of two, if it does not be
fixed, dpdk initialization may be failed with OVS mode firmware.

Fixes: 828d3e15a9dc ("net/hinic/base: support context and work queue")
Cc: stable@dpdk.org
Signed-off-by: Guoyang Zhou <zhouguoyang@huawei.com>
---
 drivers/net/hinic/base/hinic_pmd_nicio.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/net/hinic/base/hinic_pmd_nicio.c b/drivers/net/hinic/base/hinic_pmd_nicio.c
index 2736305..162308b 100644
--- a/drivers/net/hinic/base/hinic_pmd_nicio.c
+++ b/drivers/net/hinic/base/hinic_pmd_nicio.c
@@ -758,11 +758,6 @@ static int hinic_alloc_nicio(struct hinic_hwdev *hwdev)
 	int err;
 
 	max_qps = hinic_func_max_qnum(hwdev);
-	if ((max_qps & (max_qps - 1))) {
-		PMD_DRV_LOG(ERR, "Wrong number of max_qps: %d",
-			max_qps);
-		return -EINVAL;
-	}
 
 	nic_io->max_qps = max_qps;
 	nic_io->num_qps = max_qps;
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [dpdk-dev] [PATCH v2 2/2] net/hinic: remove the operation of optical modules
  2020-11-24  6:45 [dpdk-dev] [PATCH v2 0/2] remove some limitations and operations Guoyang Zhou
  2020-11-24  6:45 ` [dpdk-dev] [PATCH v2 1/2] net/hinic/base: remove the limitation for max queue num Guoyang Zhou
@ 2020-11-24  6:45 ` Guoyang Zhou
  2020-11-25 22:33 ` [dpdk-dev] [PATCH v2 0/2] remove some limitations and operations Thomas Monjalon
  2 siblings, 0 replies; 4+ messages in thread
From: Guoyang Zhou @ 2020-11-24  6:45 UTC (permalink / raw)
  To: dev
  Cc: ferruh.yigit, bluca, cloud.wangxiaoyun, luoxianjun, yin.yinshi,
	luojiachen, zhouguoyang, chenlizhong, zhaohui8, chenchanghu,
	stable

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(-)

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)
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] [PATCH v2 0/2] remove some limitations and operations
  2020-11-24  6:45 [dpdk-dev] [PATCH v2 0/2] remove some limitations and operations Guoyang Zhou
  2020-11-24  6:45 ` [dpdk-dev] [PATCH v2 1/2] net/hinic/base: remove the limitation for max queue num Guoyang Zhou
  2020-11-24  6:45 ` [dpdk-dev] [PATCH v2 2/2] net/hinic: remove the operation of optical modules Guoyang Zhou
@ 2020-11-25 22:33 ` Thomas Monjalon
  2 siblings, 0 replies; 4+ messages in thread
From: Thomas Monjalon @ 2020-11-25 22:33 UTC (permalink / raw)
  To: Guoyang Zhou
  Cc: dev, ferruh.yigit, bluca, cloud.wangxiaoyun, luoxianjun,
	yin.yinshi, luojiachen, zhouguoyang, chenlizhong, zhaohui8,
	chenchanghu

24/11/2020 07:45, Guoyang Zhou:
> The maximum number of queues on the chip can be any value greater
> than 0, it does not have to be the power of two, if it does not be
> fixed, dpdk initialization may be failed with OVS mode firmware
> and remove the operation of optical modules in the link function, because
> when device binds from dpdk to kernel, it will be linked failed.

These last minute patches are fixing old issues
but you insisted to get them in DPDK 20.11.0. so they are applied.



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-11-25 22:33 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-24  6:45 [dpdk-dev] [PATCH v2 0/2] remove some limitations and operations Guoyang Zhou
2020-11-24  6:45 ` [dpdk-dev] [PATCH v2 1/2] net/hinic/base: remove the limitation for max queue num Guoyang Zhou
2020-11-24  6:45 ` [dpdk-dev] [PATCH v2 2/2] net/hinic: remove the operation of optical modules Guoyang Zhou
2020-11-25 22:33 ` [dpdk-dev] [PATCH v2 0/2] remove some limitations and operations Thomas Monjalon

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git