net/octeontx2: allow vfs to enable back pressure

Message ID 20190830040443.6413-1-ndabilpuram@marvell.com
State Accepted
Delegated to: Jerin Jacob
Headers show
Series
  • net/octeontx2: allow vfs to enable back pressure
Related show

Checks

Context Check Description
ci/Intel-compilation fail Compilation issues
ci/mellanox-Performance success Performance Testing PASS
ci/intel-Performance success Performance Testing PASS
ci/iol-dpdk_compile_spdk success Compile Testing PASS
ci/iol-dpdk_compile success Compile Testing PASS
ci/iol-dpdk_compile_ovs success Compile Testing PASS
ci/checkpatch success coding style OK

Commit Message

Nithin Dabilpuram Aug. 30, 2019, 4:04 a.m.
Allow VFs to enable backpressure for performance reasons.
The backpressure control is with kernel AF driver that will enable
backpressure even if one PF/VF requests it and disable it only
after all the PFs/VFs request for disable.

Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
---
 drivers/net/octeontx2/otx2_flow_ctrl.c | 12 ------------
 1 file changed, 12 deletions(-)

Comments

Jerin Jacob Oct. 3, 2019, 2:58 p.m. | #1
On Fri, Aug 30, 2019 at 9:35 AM Nithin Dabilpuram
<ndabilpuram@marvell.com> wrote:
>
> Allow VFs to enable backpressure for performance reasons.
> The backpressure control is with kernel AF driver that will enable
> backpressure even if one PF/VF requests it and disable it only
> after all the PFs/VFs request for disable.
>
> Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>

Applied to dpdk-next-net-mrvl/master. Thanks


> ---
>  drivers/net/octeontx2/otx2_flow_ctrl.c | 12 ------------
>  1 file changed, 12 deletions(-)
>
> diff --git a/drivers/net/octeontx2/otx2_flow_ctrl.c b/drivers/net/octeontx2/otx2_flow_ctrl.c
> index 419ad97..1d00e46 100644
> --- a/drivers/net/octeontx2/otx2_flow_ctrl.c
> +++ b/drivers/net/octeontx2/otx2_flow_ctrl.c
> @@ -14,9 +14,6 @@ otx2_nix_rxchan_bpid_cfg(struct rte_eth_dev *eth_dev, bool enb)
>         struct nix_bp_cfg_rsp *rsp;
>         int rc;
>
> -       if (otx2_dev_is_vf(dev))
> -               return 0;
> -
>         if (enb) {
>                 req = otx2_mbox_alloc_msg_nix_bp_enable(mbox);
>                 req->chan_base = 0;
> @@ -53,9 +50,6 @@ otx2_nix_flow_ctrl_get(struct rte_eth_dev *eth_dev,
>         struct otx2_mbox *mbox = dev->mbox;
>         int rc;
>
> -       if (otx2_dev_is_vf(dev))
> -               return -ENOTSUP;
> -
>         req = otx2_mbox_alloc_msg_cgx_cfg_pause_frm(mbox);
>         req->set = 0;
>
> @@ -143,9 +137,6 @@ otx2_nix_flow_ctrl_set(struct rte_eth_dev *eth_dev,
>         uint8_t tx_pause, rx_pause;
>         int rc = 0;
>
> -       if (otx2_dev_is_vf(dev))
> -               return -ENOTSUP;
> -
>         if (fc_conf->high_water || fc_conf->low_water || fc_conf->pause_time ||
>             fc_conf->mac_ctrl_frame_fwd || fc_conf->autoneg) {
>                 otx2_info("Flowctrl parameter is not supported");
> @@ -198,9 +189,6 @@ otx2_nix_update_flow_ctrl_mode(struct rte_eth_dev *eth_dev)
>         struct otx2_eth_dev *dev = otx2_eth_pmd_priv(eth_dev);
>         struct rte_eth_fc_conf fc_conf;
>
> -       if (otx2_dev_is_vf(dev))
> -               return 0;
> -
>         memset(&fc_conf, 0, sizeof(struct rte_eth_fc_conf));
>         /* Both Rx & Tx flow ctrl get enabled(RTE_FC_FULL) in HW
>          * by AF driver, update those info in PMD structure.
> --
> 2.8.4
>

Patch

diff --git a/drivers/net/octeontx2/otx2_flow_ctrl.c b/drivers/net/octeontx2/otx2_flow_ctrl.c
index 419ad97..1d00e46 100644
--- a/drivers/net/octeontx2/otx2_flow_ctrl.c
+++ b/drivers/net/octeontx2/otx2_flow_ctrl.c
@@ -14,9 +14,6 @@  otx2_nix_rxchan_bpid_cfg(struct rte_eth_dev *eth_dev, bool enb)
 	struct nix_bp_cfg_rsp *rsp;
 	int rc;
 
-	if (otx2_dev_is_vf(dev))
-		return 0;
-
 	if (enb) {
 		req = otx2_mbox_alloc_msg_nix_bp_enable(mbox);
 		req->chan_base = 0;
@@ -53,9 +50,6 @@  otx2_nix_flow_ctrl_get(struct rte_eth_dev *eth_dev,
 	struct otx2_mbox *mbox = dev->mbox;
 	int rc;
 
-	if (otx2_dev_is_vf(dev))
-		return -ENOTSUP;
-
 	req = otx2_mbox_alloc_msg_cgx_cfg_pause_frm(mbox);
 	req->set = 0;
 
@@ -143,9 +137,6 @@  otx2_nix_flow_ctrl_set(struct rte_eth_dev *eth_dev,
 	uint8_t tx_pause, rx_pause;
 	int rc = 0;
 
-	if (otx2_dev_is_vf(dev))
-		return -ENOTSUP;
-
 	if (fc_conf->high_water || fc_conf->low_water || fc_conf->pause_time ||
 	    fc_conf->mac_ctrl_frame_fwd || fc_conf->autoneg) {
 		otx2_info("Flowctrl parameter is not supported");
@@ -198,9 +189,6 @@  otx2_nix_update_flow_ctrl_mode(struct rte_eth_dev *eth_dev)
 	struct otx2_eth_dev *dev = otx2_eth_pmd_priv(eth_dev);
 	struct rte_eth_fc_conf fc_conf;
 
-	if (otx2_dev_is_vf(dev))
-		return 0;
-
 	memset(&fc_conf, 0, sizeof(struct rte_eth_fc_conf));
 	/* Both Rx & Tx flow ctrl get enabled(RTE_FC_FULL) in HW
 	 * by AF driver, update those info in PMD structure.