[1/3] net/mlx5: fix unsupported offloads disablement

Message ID 20210421163441.17240-2-talshn@nvidia.com (mailing list archive)
State Accepted, archived
Delegated to: Raslan Darawsheh
Headers
Series mlx5 - support checksum offloads on Windows |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Tal Shnaiderman April 21, 2021, 4:34 p.m. UTC
  mlx5 offloads which are unsupported on Windows
are currently disabled by checks with IBV/DV flags
which are irrelevant to Windows.

The checks are removed until they are fully available.

Fixes: 93f4ece91a1f ("net/mlx5: spawn ethdev ports on Windows")
Cc: stable@dpdk.org

Signed-off-by: Tal Shnaiderman <talshn@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
---
 drivers/net/mlx5/windows/mlx5_os.c | 15 +--------------
 1 file changed, 1 insertion(+), 14 deletions(-)
  

Comments

Odi Assli April 22, 2021, 10:17 a.m. UTC | #1
> Subject: [PATCH 1/3] net/mlx5: fix unsupported offloads disablement
> 
> mlx5 offloads which are unsupported on Windows are currently disabled by
> checks with IBV/DV flags which are irrelevant to Windows.
> 
> The checks are removed until they are fully available.
> 
> Fixes: 93f4ece91a1f ("net/mlx5: spawn ethdev ports on Windows")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Tal Shnaiderman <talshn@nvidia.com>
> Acked-by: Matan Azrad <matan@nvidia.com>
> ---
>  drivers/net/mlx5/windows/mlx5_os.c | 15 +--------------
>  1 file changed, 1 insertion(+), 14 deletions(-)
> 
> diff --git a/drivers/net/mlx5/windows/mlx5_os.c
> b/drivers/net/mlx5/windows/mlx5_os.c
> index 814063b5ce..5e53042b85 100644
> --- a/drivers/net/mlx5/windows/mlx5_os.c
> +++ b/drivers/net/mlx5/windows/mlx5_os.c
> @@ -359,11 +359,7 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
>  	config->swp = 0;
>  	config->ind_table_max_size =
>  		sh->device_attr.max_rwq_indirection_table_size;
> -	if (RTE_CACHE_LINE_SIZE == 128 &&
> -	    !(device_attr.flags &
> MLX5DV_CONTEXT_FLAGS_CQE_128B_COMP))
> -		cqe_comp = 0;
> -	else
> -		cqe_comp = 1;
> +	cqe_comp = 0;
>  	config->cqe_comp = cqe_comp;
>  	DRV_LOG(DEBUG, "tunnel offloading is not supported");
>  	config->tunnel_en = 0;
> @@ -424,8 +420,6 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
>  	err = mlx5_dev_check_sibling_config(priv, config);
>  	if (err)
>  		goto error;
> -	config->hw_csum = !!(sh->device_attr.device_cap_flags_ex &
> -			    IBV_DEVICE_RAW_IP_CSUM);
>  	DRV_LOG(DEBUG, "checksum offloading is %ssupported",
>  		(config->hw_csum ? "" : "not "));
>  	DRV_LOG(DEBUG, "counters are not supported"); @@ -439,19
> +433,12 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
>  		config->ind_table_max_size = ETH_RSS_RETA_SIZE_512;
>  	DRV_LOG(DEBUG, "maximum Rx indirection table size is %u",
>  		config->ind_table_max_size);
> -	config->hw_vlan_strip = !!(sh->device_attr.raw_packet_caps &
> -
> IBV_RAW_PACKET_CAP_CVLAN_STRIPPING);
>  	DRV_LOG(DEBUG, "VLAN stripping is %ssupported",
>  		(config->hw_vlan_strip ? "" : "not "));
> -	config->hw_fcs_strip = !!(sh->device_attr.raw_packet_caps &
> -				 IBV_RAW_PACKET_CAP_SCATTER_FCS);
>  	if (config->hw_padding) {
>  		DRV_LOG(DEBUG, "Rx end alignment padding isn't
> supported");
>  		config->hw_padding = 0;
>  	}
> -	config->tso = (sh->device_attr.max_tso > 0 &&
> -		      (sh->device_attr.tso_supported_qpts &
> -		       (1 << IBV_QPT_RAW_PACKET)));
>  	if (config->tso)
>  		config->tso_max_payload_sz = sh->device_attr.max_tso;
>  	DRV_LOG(DEBUG, "%sMPS is %s.",
> --
> 2.16.1.windows.4

Tested-by: Odi Assli <odia@nvidia.com>
  

Patch

diff --git a/drivers/net/mlx5/windows/mlx5_os.c b/drivers/net/mlx5/windows/mlx5_os.c
index 814063b5ce..5e53042b85 100644
--- a/drivers/net/mlx5/windows/mlx5_os.c
+++ b/drivers/net/mlx5/windows/mlx5_os.c
@@ -359,11 +359,7 @@  mlx5_dev_spawn(struct rte_device *dpdk_dev,
 	config->swp = 0;
 	config->ind_table_max_size =
 		sh->device_attr.max_rwq_indirection_table_size;
-	if (RTE_CACHE_LINE_SIZE == 128 &&
-	    !(device_attr.flags & MLX5DV_CONTEXT_FLAGS_CQE_128B_COMP))
-		cqe_comp = 0;
-	else
-		cqe_comp = 1;
+	cqe_comp = 0;
 	config->cqe_comp = cqe_comp;
 	DRV_LOG(DEBUG, "tunnel offloading is not supported");
 	config->tunnel_en = 0;
@@ -424,8 +420,6 @@  mlx5_dev_spawn(struct rte_device *dpdk_dev,
 	err = mlx5_dev_check_sibling_config(priv, config);
 	if (err)
 		goto error;
-	config->hw_csum = !!(sh->device_attr.device_cap_flags_ex &
-			    IBV_DEVICE_RAW_IP_CSUM);
 	DRV_LOG(DEBUG, "checksum offloading is %ssupported",
 		(config->hw_csum ? "" : "not "));
 	DRV_LOG(DEBUG, "counters are not supported");
@@ -439,19 +433,12 @@  mlx5_dev_spawn(struct rte_device *dpdk_dev,
 		config->ind_table_max_size = ETH_RSS_RETA_SIZE_512;
 	DRV_LOG(DEBUG, "maximum Rx indirection table size is %u",
 		config->ind_table_max_size);
-	config->hw_vlan_strip = !!(sh->device_attr.raw_packet_caps &
-				  IBV_RAW_PACKET_CAP_CVLAN_STRIPPING);
 	DRV_LOG(DEBUG, "VLAN stripping is %ssupported",
 		(config->hw_vlan_strip ? "" : "not "));
-	config->hw_fcs_strip = !!(sh->device_attr.raw_packet_caps &
-				 IBV_RAW_PACKET_CAP_SCATTER_FCS);
 	if (config->hw_padding) {
 		DRV_LOG(DEBUG, "Rx end alignment padding isn't supported");
 		config->hw_padding = 0;
 	}
-	config->tso = (sh->device_attr.max_tso > 0 &&
-		      (sh->device_attr.tso_supported_qpts &
-		       (1 << IBV_QPT_RAW_PACKET)));
 	if (config->tso)
 		config->tso_max_payload_sz = sh->device_attr.max_tso;
 	DRV_LOG(DEBUG, "%sMPS is %s.",