From patchwork Wed May 17 20:24:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dariusz Sosnowski X-Patchwork-Id: 126949 X-Patchwork-Delegate: rasland@nvidia.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1EDA342B2F; Wed, 17 May 2023 22:25:26 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0721E40EE1; Wed, 17 May 2023 22:25:24 +0200 (CEST) Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2064.outbound.protection.outlook.com [40.107.101.64]) by mails.dpdk.org (Postfix) with ESMTP id 09566406B7 for ; Wed, 17 May 2023 22:25:22 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hkY2i3S8vxBcNjBaRIepgadTRozfdiyCQPkqoLEF2gj43FZBitpKjBFo7IlLooVDCzTkxbnxwhzbvPUcJAS5obKyHfjLhOnpG1Xwy0aUvqPAF1zHTx3+maVnWhW50bbMrDictdzfnXEPxqWbmjqXCkg5yUp6qIuB/LiXPRebWhTNiwEhSd8ETwmwyw8TisPZCwQdF29vt9j29/srZfPjH6oqRWSKrXpIrfCQsMcnrqPErgH7ytcgg//Cr3M6mHQh43OJv+VTSQ0FXOoKSsYnMFkeqOOKPu2ddAFJQ6S67ldvT8o/uBP/X317JeIR5+TxvCvsnE0h83Imh9azTj/Ghw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=URdPQqb8alEcW1YpzkyIgcPYZhom4rnydRhBXHeF4yk=; b=CUCerbuveVVadDMXQ4cVpVGTuoBYBJTa+LuJlXxIlOm8upv4bckCQ0sAXIIoh9YWngsKn+3+YTub7ap8NgOPZLOM/q2mSwOBJnqWZbb0/iqe3GosnwGiCQFRB791AfnPYAODwol8pHlOafIz1emFncHq7IK/jVGIFUn/zDEkd2eG31cwh/G2bHmAB5Ains20TT85ifWH5Px4RRFHhcnOT6C3IYdImJFDjGgRAk6geVjpVgbqEK91nEvPT9UmS6/ijTLRYtTGccDwM4osANW5ygJllZlVtENJzb09pCNzwJOGcV+u5baLHfWYAgsTbBVMsRrWDNmAxIsrI0JSdtSA/g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=URdPQqb8alEcW1YpzkyIgcPYZhom4rnydRhBXHeF4yk=; b=tQciGvkE2W2G10fcMWv+ieHGfK0Yc+ut3lUXijEhf8Yo+ghzkDlGeIlyNiY1tLrRwvri5V9trtcWiu8Uptcm8fT/uSJF8ZxAmOVs8e/g55/MmXfzx2RAd+yTOK6/jo/FA9n1rltoZINIvkMu82tiMn9gEG/fBf3wCedKgla+jQC/2nLP0Wy1fu3o2J/SyGBRh5clxzPlIrGR3OPaKc5u5iABSr0x8i6kujmFc4G+wPW+wbq6UjVcFvdCnUD3AfIcYVhcoXN0N072ayjctjRoqe+DCL1PvWKE3Uif/MG3o/GzxIC8KyNYiXiTPN7aO20BMpWFxhfPX/P8wLvlRrkNPQ== Received: from BN9P223CA0020.NAMP223.PROD.OUTLOOK.COM (2603:10b6:408:10b::25) by CH2PR12MB4167.namprd12.prod.outlook.com (2603:10b6:610:7a::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.33; Wed, 17 May 2023 20:25:19 +0000 Received: from BN8NAM11FT007.eop-nam11.prod.protection.outlook.com (2603:10b6:408:10b:cafe::63) by BN9P223CA0020.outlook.office365.com (2603:10b6:408:10b::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.18 via Frontend Transport; Wed, 17 May 2023 20:25:19 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by BN8NAM11FT007.mail.protection.outlook.com (10.13.177.109) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.18 via Frontend Transport; Wed, 17 May 2023 20:25:19 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.5; Wed, 17 May 2023 13:25:07 -0700 Received: from nvidia.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.37; Wed, 17 May 2023 13:25:05 -0700 From: Dariusz Sosnowski To: Ori Kam , Suanming Mou , "Matan Azrad" , Viacheslav Ovsiienko CC: Subject: [PATCH 1/2] common/mlx5: query maximum modify header pattern length Date: Wed, 17 May 2023 20:24:45 +0000 Message-ID: <20230517202446.535778-2-dsosnowski@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230517202446.535778-1-dsosnowski@nvidia.com> References: <20230517202446.535778-1-dsosnowski@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail203.nvidia.com (10.129.68.9) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN8NAM11FT007:EE_|CH2PR12MB4167:EE_ X-MS-Office365-Filtering-Correlation-Id: 2d9c35ee-24c3-47f3-1770-08db5714d5a9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ic3f9be5BP2i/VXjiBtBwYB4lS1iBuaH1sW9iORGMlNMFpvtASf/gL4xRXAfo9lHRIJfwQpya4WvGKFiQdW4JHspN4asZvnfclgtiTrpTIx73lC1u5u0GNL7bnVSyi0mAWAAXyF4r9kKt4grKov9CYqYRvfuDzXHnsdKhXzQsNmZLfA1OJ7hV9SN2KgrQlvHtwCEw0SqQMho7HFBVuZHDQo15kXkA+sUPCaD9Rx1YJtQ2BmhY9DAnBmuvOQXiEIst2tmtxnZbRZ0wNaPIGzGsT6Cgc0C2d47GctWLEf91UvojEUY3BSAGGLYxhlLvs3COXfw+/TDobuSewB5XdpatNQfUCOCzyi5hryCOFPFOorFwybXkdcL5l7JYhamLNn57AILG4vxo/LypMhrNmXQXNsXsO8fNxueW8vjCYMZWv43gAJ/c468akyCj34LPM2mmacM/D6H0KUd1K9gYnkbbCEPJnJuD0zblwY2gacOkRHFDA/ZrXPCL/6v7P8naxHCkIihBFO1oo7Z15nRuMoxCXNL05WFQKluq0xMPlmmSmlEBTly2I5zk3NTgu0035kfKbXSZ2VQTaC355R3tzZtYa6+vx1yO917et0dJtA1Vy8mom9oWvodoQbvLyYG+ZXs5jH7GVRtGGZtMZ0ee8oPpfzrTxYDmZQLG8jlN+l6KM4xM0KnOL5SsWzlzwBUUfQgHdjzRNqFqWa+fqyOEv8B7Ul/EIFagn1DSgVpSMXSnzheZ8xLM3H1JaeeoYbs9KS7 X-Forefront-Antispam-Report: CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE; SFS:(13230028)(4636009)(396003)(346002)(39860400002)(376002)(136003)(451199021)(40470700004)(46966006)(36840700001)(7696005)(6666004)(36756003)(2616005)(16526019)(6286002)(55016003)(40480700001)(83380400001)(47076005)(1076003)(36860700001)(26005)(186003)(40460700003)(426003)(336012)(82310400005)(5660300002)(7636003)(356005)(82740400003)(86362001)(41300700001)(316002)(110136005)(6636002)(8676002)(70206006)(70586007)(8936002)(478600001)(4326008)(2906002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 May 2023 20:25:19.6773 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2d9c35ee-24c3-47f3-1770-08db5714d5a9 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.160]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT007.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4167 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org This patch adds querying the HCA capabilities for maximum supported pattern length for Header Modify Pattern objects. Signed-off-by: Dariusz Sosnowski Acked-by: Viacheslav Ovsiienko --- drivers/common/mlx5/mlx5_devx_cmds.c | 14 ++++++++++++++ drivers/common/mlx5/mlx5_devx_cmds.h | 2 ++ drivers/common/mlx5/mlx5_prm.h | 3 ++- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/drivers/common/mlx5/mlx5_devx_cmds.c b/drivers/common/mlx5/mlx5_devx_cmds.c index d0907fcd49..95d86d9573 100644 --- a/drivers/common/mlx5/mlx5_devx_cmds.c +++ b/drivers/common/mlx5/mlx5_devx_cmds.c @@ -1086,6 +1086,8 @@ mlx5_devx_cmd_query_hca_attr(void *ctx, flow_counter_access_aso); attr->flow_access_aso_opc_mod = MLX5_GET(cmd_hca_cap, hcattr, flow_access_aso_opc_mod); + attr->wqe_based_flow_table_sup = MLX5_GET(cmd_hca_cap, hcattr, + wqe_based_flow_table_update_cap); /* * Flex item support needs max_num_prog_sample_field * from the Capabilities 2 table for PARSE_GRAPH_NODE @@ -1293,6 +1295,18 @@ mlx5_devx_cmd_query_hca_attr(void *ctx, attr->rss_ind_tbl_cap = MLX5_GET (per_protocol_networking_offload_caps, hcattr, rss_ind_tbl_cap); + if (attr->wqe_based_flow_table_sup) { + hcattr = mlx5_devx_get_hca_cap(ctx, in, out, &rc, + MLX5_GET_HCA_CAP_OP_MOD_WQE_BASED_FLOW_TABLE | + MLX5_HCA_CAP_OPMOD_GET_CUR); + if (!hcattr) { + DRV_LOG(DEBUG, "Failed to query WQE Based Flow table capabilities"); + return rc; + } + attr->max_header_modify_pattern_length = MLX5_GET(wqe_based_flow_table_cap, + hcattr, + max_header_modify_pattern_length); + } /* Query HCA attribute for ROCE. */ if (attr->roce) { hcattr = mlx5_devx_get_hca_cap(ctx, in, out, &rc, diff --git a/drivers/common/mlx5/mlx5_devx_cmds.h b/drivers/common/mlx5/mlx5_devx_cmds.h index ce173bc36a..410ada31b8 100644 --- a/drivers/common/mlx5/mlx5_devx_cmds.h +++ b/drivers/common/mlx5/mlx5_devx_cmds.h @@ -299,6 +299,8 @@ struct mlx5_hca_attr { uint32_t flow_access_aso_opc_mod:8; uint32_t cross_vhca:1; uint32_t lag_rx_port_affinity:1; + uint32_t wqe_based_flow_table_sup:1; + uint8_t max_header_modify_pattern_length; }; /* LAG Context. */ diff --git a/drivers/common/mlx5/mlx5_prm.h b/drivers/common/mlx5/mlx5_prm.h index ed3d5efbb7..8cf9316589 100644 --- a/drivers/common/mlx5/mlx5_prm.h +++ b/drivers/common/mlx5/mlx5_prm.h @@ -2289,7 +2289,8 @@ struct mlx5_ifc_wqe_based_flow_table_cap_bits { u8 rtc_index_mode[0x5]; u8 reserved_at_58[0x3]; u8 rtc_log_depth_max[0x5]; - u8 reserved_at_60[0x10]; + u8 reserved_at_60[0x8]; + u8 max_header_modify_pattern_length[0x8]; u8 ste_format[0x10]; u8 stc_action_type[0x80]; u8 header_insert_type[0x10];