From patchwork Thu Feb 2 16:25:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 122971 X-Patchwork-Delegate: gakhil@marvell.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 164D041BAE; Thu, 2 Feb 2023 17:26:02 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AD47A42DAD; Thu, 2 Feb 2023 17:25:57 +0100 (CET) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2041.outbound.protection.outlook.com [40.107.236.41]) by mails.dpdk.org (Postfix) with ESMTP id 8901942D65; Thu, 2 Feb 2023 17:25:56 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lcEXnMOjWzRp20cQ7IlMcA3mkaZqpVeCcEJK6jgaCh4vCowr46IxMgeFjoUA05ZRAifhrbO7UnhnFDBbwj2jvgubAPo9+G760blO2lEqpn730ryR754aWuF3Bo1mEgCz5Q6xLDs9VQeFV/cnHtcttAcFBcSWSxg/sO70eMOo6rrEn+SXTiZ4KJIcc6Y0CoLpCMXFz7cIASJwjBGR/NOckXdp6cpjvIhr+vGAE/7EUOfw0QWkifTI0BN+Il3F7JJzi3KsBUSUNmlchnXH/BBSfVZalaEYPOz/veuQBQs/fbZp2PSgqAnaApsJN28N0MRLc/i60HqbjhxLwf+EFTqzJQ== 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=skV3ajSf4gvPxNWYDTYCTAgxOTx7Np3z02Xuw+sQv+8=; b=IQ+mjupcI2jLPL3zGn6dMztxuhpH4BMbQWStGI2Cqpu0c3MO+eYn0+PszvD8PXScb24a9N1JtG96N3RZ2CYfhGRfRc1cDZytD74h6+wH4Yb7laMXfLJhz2RJqvCO5VKo9wa1Vbn5xwoOzuU4iH/uFkyh3yfehrDjsWmBFVMy3IiA7aY79OzUL9piMydPG1eGYGVNU7wDLaxuO8lWY7XC9/KcuWFYzcnd6oy2OfkBmEK+T/S1p13ClmZH+5hq3zWWAZ3T4IqwgTu/bvtcmcIUwZXB8IwOMljDBcnAjTv+N3BV8A92sXQMUhZsDETmKlKpRs+LF7CWOFLIEq4Nq857sg== 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=skV3ajSf4gvPxNWYDTYCTAgxOTx7Np3z02Xuw+sQv+8=; b=O2B0K3+zPYFdeLxFdsLn9GES8/b9TQOpyM8XVHd5jV0vkzxcdyaQ3uq/0n6pMLu6kiRmdA/aVgeqImjktkkdicI1ZHbDw+1QGu2/pLblMNUJHdd6j+OfP/SXbd/osoOJOsVSuHB73jgo6q8cWEFpRbgPYMDA55E2jcN1S9R4mzFNRUrKMcMxYPDw6HW2I8mdiGtmLAuQXQdNB48BNwuN+aioYvcMpkTojN3iHjBWf919rALJEZ6IbtiaBVFixcnA3YY9iuKTTkV120jH3+b7cCI3Zd1NlJtjuxQawG5BNgI6jsRmZxvcuM6R5YkdYfLASDnK1ODDdEhZqYEL56KJbQ== Received: from DM6PR08CA0051.namprd08.prod.outlook.com (2603:10b6:5:1e0::25) by CH3PR12MB7643.namprd12.prod.outlook.com (2603:10b6:610:152::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.27; Thu, 2 Feb 2023 16:25:55 +0000 Received: from DM6NAM11FT108.eop-nam11.prod.protection.outlook.com (2603:10b6:5:1e0:cafe::4d) by DM6PR08CA0051.outlook.office365.com (2603:10b6:5:1e0::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.27 via Frontend Transport; Thu, 2 Feb 2023 16:25:55 +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 DM6NAM11FT108.mail.protection.outlook.com (10.13.172.95) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.27 via Frontend Transport; Thu, 2 Feb 2023 16:25:54 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) 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.36; Thu, 2 Feb 2023 08:25:46 -0800 Received: from rnnvmail205.nvidia.com (10.129.68.10) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Thu, 2 Feb 2023 08:25:46 -0800 Received: from nvidia.com (10.127.8.13) by mail.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36 via Frontend Transport; Thu, 2 Feb 2023 08:25:44 -0800 From: Michael Baum To: CC: Matan Azrad , Akhil Goyal , "Thomas Monjalon" , , Subject: [PATCH v2 1/8] compress/mlx5: fix decompress xform validation Date: Thu, 2 Feb 2023 18:25:30 +0200 Message-ID: <20230202162537.1067595-2-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230202162537.1067595-1-michaelba@nvidia.com> References: <20230109075838.2508039-1-michaelba@nvidia.com> <20230202162537.1067595-1-michaelba@nvidia.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT108:EE_|CH3PR12MB7643:EE_ X-MS-Office365-Filtering-Correlation-Id: 21bac7cf-6767-45f2-64d8-08db053a289c X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zIDjgDxGaXd1l6V1cmKyqJ/Z/K0U/T0/qzvhMhed7LHkLKcFOhq4lXgq7sOfGSvI2KF6STe4+Bj7rgrN66/9WFhoK6Qns7utY0JUntPd9H4UgbqVwgW0lv5rywuQiysF69+7SIallAJXQgwVZ1xhGy3adisrmqEGNKTG8BUGOo5vfQ9I1K2LUjUuE4bANhnVIagPCu67wjy6kwYKNOACwxP7cPZ5W/2pFtGjhrAaApRhDOFSZJupN8z6xfWJ/2dt/9Qfpn7Kd+Oj7f3Z9rV7edn4LDbnSHifZ0aFrSvphVL6D9lkBUdrr4DmcRGkkEtFovfikeRLCbVmFCZ+R2oZS2jV7zBxFdYCdScyMJSOlI6kno2gwGxBqoT9I0pvSxIg71eQX+yi4zOAIkZAMf441TvCNp3ArN3ebIAdm1ZDRZrBUyMPXBcPqUWBOXbYvb8/WAwwnYwQ91Lfomz3ffXkVfOJxYB7OHGQlBthw8q+2Nr9My0dq+hMLgMAZcl7X/raW69LzksdgMqQtYlH2ZQ4e4flC3Ygfw1z+LlGLid7Yyu8+3rrk5/UdgDo7R2LNd6jxgfQxzkHUmz52Kpiqer0BILH5Edg5Tb1OZ6ZsQk0Wkk/aUqo0mkS5pmwhwjZwwA8Ro+AdehBY2zJ0grkSx/tsdWhg2uhniJrFOuScensC2UmiO2kv3pqXAjNu01tVko0mbjck8bJkoSs5fPkDESh6w== 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:(13230025)(4636009)(136003)(346002)(39860400002)(396003)(376002)(451199018)(40470700004)(36840700001)(46966006)(40460700003)(36860700001)(8676002)(7696005)(478600001)(186003)(26005)(54906003)(36756003)(6286002)(1076003)(82310400005)(316002)(6666004)(5660300002)(86362001)(2906002)(8936002)(41300700001)(6916009)(70586007)(70206006)(4326008)(55016003)(40480700001)(336012)(2616005)(7636003)(426003)(83380400001)(47076005)(356005)(82740400003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2023 16:25:54.8918 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 21bac7cf-6767-45f2-64d8-08db053a289c 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: DM6NAM11FT108.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7643 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 In xform creation, it first validate the xform according the capabilities. One of validations verifies that given "hash_algo" is "RTE_COMP_HASH_ALGO_NONE" for both compress and decompress xform objects. However, the validation for decompress checks it again for compress xform object. This patch changes it to verify decompress xform object. Fixes: 2efd26544554 ("compress/mlx5: support partial transformation") Cc: rzidane@nvidia.com Cc: stable@dpdk.org Signed-off-by: Michael Baum --- drivers/compress/mlx5/mlx5_compress.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/compress/mlx5/mlx5_compress.c b/drivers/compress/mlx5/mlx5_compress.c index 459e4b5e8a..cadff83f27 100644 --- a/drivers/compress/mlx5/mlx5_compress.c +++ b/drivers/compress/mlx5/mlx5_compress.c @@ -313,7 +313,7 @@ mlx5_compress_xform_create(struct rte_compressdev *dev, DRV_LOG(ERR, "Not enough capabilities to support decompress operation, maybe old FW/OFED version?"); return -ENOTSUP; } - if (xform->compress.hash_algo != RTE_COMP_HASH_ALGO_NONE) { + if (xform->decompress.hash_algo != RTE_COMP_HASH_ALGO_NONE) { DRV_LOG(ERR, "SHA is not supported."); return -ENOTSUP; } From patchwork Thu Feb 2 16:25:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 122972 X-Patchwork-Delegate: gakhil@marvell.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 D626941BAE; Thu, 2 Feb 2023 17:26:08 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0490642D9E; Thu, 2 Feb 2023 17:26:00 +0100 (CET) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2051.outbound.protection.outlook.com [40.107.237.51]) by mails.dpdk.org (Postfix) with ESMTP id 1E4DF42DBF; Thu, 2 Feb 2023 17:25:58 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JRpHHxLBirEPOmyq77/QcpIwDsHlGO6KhLZhGxUP17IhzZkbxMO6ILuX9bvItRtE4ejGs8IHDeHoz8RwfphAVaMx7A33yD1HxVB+SAMaQ1MKvau5vtxpW9VWkgLFNQGm0s4J2bBOFTHCzWr/oDi8agR/pe9Pvbw0gFW9oRhq+80QCO9Kum1DBktw1iDk/pjoc9WWogfu0OSmf8XDuLb8hy4pEPAZTwn7Oatdun0TJCq5tUOwF6YwiYtUIZk8yY61RAgoMDQgpsQRFyK0fVMdMxHfgVcm1bmHFyqtFZImt1JT3+p0MRQwKLhn3WO3Jkzb10a5AHn5flEbRn07XdZkxw== 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=0oEw2oRuEOyWKhRqzwjpg1VEYez+piuXEQ0lW+Z7LCg=; b=Dh0LJagWwTcfQvJZqO7+gobq5j5G6SQijtZ1AzqTaEMXK/0tI5W3dHn6t6TaOoQozAzGduFO1EkHPUGffYECvb4VoWmsZxeXXieZJ4zPEkHVEa+V9h3nCfraJCQQFLfhfegqnoNsqsskwssRkL9PS7Pw/qh/s+RmkSJNC5Lr2fiPpC9pVk3TKvzkAqzqSM7Hdk8xbdbppu6wkP/TG5ktnMGJuhHQd1B8Zycj7QI0TFkkDf6H+j1t2zBiXm49rtC68GYTc9cTkCmIsRmqst8O7J5vp2/3KCHuSiZQ9ticR7j/4BNqbY+eMNWi8M/erNJ4JPzPMsfI0MQJgLraO1xyvA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) 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=0oEw2oRuEOyWKhRqzwjpg1VEYez+piuXEQ0lW+Z7LCg=; b=d5kFXhgCNAkgOm/BTX0KFe3MNzhkvX/7vTdy0x1ohJRafp5mPm49vtTIj2qz5kUC2iz9zbWotdmkCjaT/zPr7yBwJbhOUt5uuNplFzUKnvw/feputJjdeJOKZ5G/JY8v4hwpwVlJe/iyvvELaSIbK0VVFqrbgza2Rc36SQmZl9SwrINqyuUnXtdFII78qoqgctMNwNPOVx+120KXV1IbiJMwlqt9Gt0uraQ64QVXP9pmwS3mWRDRZJT8CssymLa3yK2Ac9ZIqHzXWuGs1rzw/cFWOMjn2hvzZ/6RlJ5ZhqSTe/zZgIVRDzhQw8NSuUtcUGs1X0TYoyLhbkluQLE6Pg== Received: from DS7PR03CA0132.namprd03.prod.outlook.com (2603:10b6:5:3b4::17) by MN0PR12MB6055.namprd12.prod.outlook.com (2603:10b6:208:3cd::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.27; Thu, 2 Feb 2023 16:25:56 +0000 Received: from DM6NAM11FT035.eop-nam11.prod.protection.outlook.com (2603:10b6:5:3b4:cafe::c4) by DS7PR03CA0132.outlook.office365.com (2603:10b6:5:3b4::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.28 via Frontend Transport; Thu, 2 Feb 2023 16:25:56 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) 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.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by DM6NAM11FT035.mail.protection.outlook.com (10.13.172.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.25 via Frontend Transport; Thu, 2 Feb 2023 16:25:56 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Thu, 2 Feb 2023 08:25:48 -0800 Received: from rnnvmail205.nvidia.com (10.129.68.10) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Thu, 2 Feb 2023 08:25:48 -0800 Received: from nvidia.com (10.127.8.13) by mail.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36 via Frontend Transport; Thu, 2 Feb 2023 08:25:46 -0800 From: Michael Baum To: CC: Matan Azrad , Akhil Goyal , "Thomas Monjalon" , Subject: [PATCH v2 2/8] compress/mlx5: fix wrong output Adler-32 checksum offset Date: Thu, 2 Feb 2023 18:25:31 +0200 Message-ID: <20230202162537.1067595-3-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230202162537.1067595-1-michaelba@nvidia.com> References: <20230109075838.2508039-1-michaelba@nvidia.com> <20230202162537.1067595-1-michaelba@nvidia.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT035:EE_|MN0PR12MB6055:EE_ X-MS-Office365-Filtering-Correlation-Id: b1bec425-e57a-4ca0-3172-08db053a295d X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: J1/6geot21oxOjYlloTXbIhjS63aNJlwnwAyz8QDs6DMaI//9dTPbPBk31iTEixmT7WwBhNkSkEStMi0+3SVE/vynIsPWNYB17IM+1nTTAT9Podab65+elA/LdDbn242wyu/KWi2pisVXEZA2XziFFHiBE07D7BZuNzmPymeDfIfxA4P4uifGOCw8qCCMseZF5qycJuBm6Nwbh4yi2+yqiAr2GhrthRJkDWoE/qLsbW8ysyr+k9y/AslV1nK7PZcLu6zi81BNw7bWfWE3nHEuykC4ZpkHx1fvSSsfmjNPNMM5V3hYzItlsB6Fom9QN1x5ZZ9BtCm/gCf6osfhVvo1Mr1z6PDK3QJ9/OGkJ7SGt6ktHA4pc54UwUibxWUV9+0yUyTbcrCQCuYMJVWFRPr11dTNN9SPWK2eQBjODf9fj0qGbjBUME4saTqkjJ9tKl6e0hKMj1mkuWipqmoxmCz2OGWRzyCO+RzOW/Z17M5vPrwj4BpuviD8K2oueUwSbmExpWjC3fngH6YGl4qiapp7SswzkIEAGzrAiMPd3B88xM7QiWstp5qSpavYy+keDpE9g93Lb9CLcKQQbHMfxG3vinwceabMYU7DJAUGd520RgGPsPgSoUwbNTl4MjcI3btSestpKuX0TcwrSgnFluLD4uC2aCBDMZFTGNnTfwxMLrtoLByRRlOgc9lJha/iZfdOfBfuW3D9yCDuSDkrMgzAw== X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230025)(4636009)(346002)(376002)(136003)(39860400002)(396003)(451199018)(46966006)(40470700004)(36840700001)(36756003)(70586007)(478600001)(83380400001)(6916009)(8676002)(4326008)(36860700001)(7636003)(54906003)(82740400003)(82310400005)(70206006)(316002)(186003)(6286002)(26005)(6666004)(40460700003)(41300700001)(47076005)(5660300002)(1076003)(40480700001)(426003)(356005)(7696005)(2616005)(55016003)(8936002)(336012)(86362001)(2906002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2023 16:25:56.1710 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b1bec425-e57a-4ca0-3172-08db053a295d 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.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT035.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6055 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 After de/compress dequeue, the output checksum is copied into the op structure. The "output_checksum" field in op structure is "uint64_t" type, and the 32-bit checksums (CRC32, Adler-32) are copied into the lower 32 bits. When both CRC32 and Adler-32 are configured, CRC32 is copied into the lower 32 bits and Adler-32 into the upper 32 bits. However, in mlx5 PMD Adler-32 without CRC, is mistakenly copied into the upper 32 bits. This patch updates Adler-32 output checksun to be copied into the lower 32 bits. Fixes: f8c97babc9f4 ("compress/mlx5: add data-path functions") Cc: matan@nvidia.com Cc: stable@dpdk.org Signed-off-by: Michael Baum --- drivers/compress/mlx5/mlx5_compress.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/compress/mlx5/mlx5_compress.c b/drivers/compress/mlx5/mlx5_compress.c index cadff83f27..c46fb4eb89 100644 --- a/drivers/compress/mlx5/mlx5_compress.c +++ b/drivers/compress/mlx5/mlx5_compress.c @@ -633,7 +633,7 @@ mlx5_compress_dequeue_burst(void *queue_pair, struct rte_comp_op **ops, break; case RTE_COMP_CHECKSUM_ADLER32: op->output_chksum = (uint64_t)rte_be_to_cpu_32 - (opaq[idx].adler32) << 32; + (opaq[idx].adler32); break; case RTE_COMP_CHECKSUM_CRC32_ADLER32: op->output_chksum = (uint64_t)rte_be_to_cpu_32 From patchwork Thu Feb 2 16:25:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 122973 X-Patchwork-Delegate: gakhil@marvell.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 929B541BAE; Thu, 2 Feb 2023 17:26:15 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4F7A442FD6; Thu, 2 Feb 2023 17:26:02 +0100 (CET) Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam02on2050.outbound.protection.outlook.com [40.107.212.50]) by mails.dpdk.org (Postfix) with ESMTP id 1A6D642FD0; Thu, 2 Feb 2023 17:26:01 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Npi7hSoNXflNZw/DF0K4p1gzqv1xNCKgEB/aADHGi4SkhCRiiANgAYls8neRxbfR450lfLe8jwYM0TCDg96pkJO/l9sr7tPMGe83tG3054lIFYQMry8ZSEkyanv5Qze74wjA7/s95+Fm/jGIR6ybsQdOoOxDKcWILpo6aHuMg56w6AqSJc7qDDGx2PDIbKXBy7xrL8j69PxA0Ng5DqtZQ4ng4fJhV8ubW93NZjFnRMwEoA2cZ2zTx5c0Z0A20+sh3ISedgp6gvagHCMQH9TeiV8L6SF2nXNKousUcJ8kSXZAgYNDGc41WCfxzgIQkk3XUICRRV09XenTZA+fkBvZdg== 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=8teiuoP4rYWbQvEmx2LpbVb+Gjaic2scWb+kK+h/J2U=; b=fN9fMJ0udTkvPH1hzTJmBeOvc+rdLNvjVCemwkANY+5O1df99JCrGR+jWE/s69Gy/PLY24fpgZB5etCi2DmnQu2dLlXFZnE0XF2axJlFIZVREh1hpHWuPYBrLVZeqO1Yy7RZ9UQD7F7RwW+jCJxFw7mdPecshj+PcMiPXAx8dYJIkQgKGtIHv6EcnKJV9BHYcQHBf+1QzzglJr1/Fh0SqxPEca4F4C0V0B8/Y8fTyGu03fzJeHqSDnRjOQmPKaAf4KJEAjjj+9lODU/DbxU9Q3ekrokg7ihvXWC8oaOApM7TmuvyFSC2x6c5D/lN7240w/h6EsveVlS81ZK3lSnsyg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) 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=8teiuoP4rYWbQvEmx2LpbVb+Gjaic2scWb+kK+h/J2U=; b=M3kFLdJDGoDYJ613kSAik/OR7jN/wKJqJCAJamCHcm8QQfvH8woTUnAEp6lztA2W5TfkGUsLwp/ZaCvC+burQbBAR3DnBSqtW+wPO3livFI8nqt/8DM2DNPAKzop8re5k5b+JKkfiC/XBmrhX+egoIt4GIVQ5BAgsOCSz3ZMqUf02sfLTPfxOdSsNEr/XgfYRjCkI3s8nUg1I5Bj9cd5RvqZgT8HaOlkylr92ybKmhYqnIyNlyIcGv1XD0XQ4j0j4Bf6Xe9CBkAtfj4nCjWffU6RdYjWUxapcq/gTJJwDCKXq9NWWY6JbAiVHRrSsua2bksbUx+/iQVqxWDCqmIPOQ== Received: from DS7PR03CA0149.namprd03.prod.outlook.com (2603:10b6:5:3b4::34) by DM4PR12MB6184.namprd12.prod.outlook.com (2603:10b6:8:a6::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.38; Thu, 2 Feb 2023 16:25:59 +0000 Received: from DM6NAM11FT035.eop-nam11.prod.protection.outlook.com (2603:10b6:5:3b4:cafe::5f) by DS7PR03CA0149.outlook.office365.com (2603:10b6:5:3b4::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.24 via Frontend Transport; Thu, 2 Feb 2023 16:25:59 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) 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.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by DM6NAM11FT035.mail.protection.outlook.com (10.13.172.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.25 via Frontend Transport; Thu, 2 Feb 2023 16:25:59 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Thu, 2 Feb 2023 08:25:50 -0800 Received: from rnnvmail205.nvidia.com (10.129.68.10) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Thu, 2 Feb 2023 08:25:50 -0800 Received: from nvidia.com (10.127.8.13) by mail.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36 via Frontend Transport; Thu, 2 Feb 2023 08:25:48 -0800 From: Michael Baum To: CC: Matan Azrad , Akhil Goyal , "Thomas Monjalon" , , Subject: [PATCH v2 3/8] compress/mlx5: fix QP setup for partial transformations Date: Thu, 2 Feb 2023 18:25:32 +0200 Message-ID: <20230202162537.1067595-4-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230202162537.1067595-1-michaelba@nvidia.com> References: <20230109075838.2508039-1-michaelba@nvidia.com> <20230202162537.1067595-1-michaelba@nvidia.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT035:EE_|DM4PR12MB6184:EE_ X-MS-Office365-Filtering-Correlation-Id: 9f629455-78ea-4246-c1f5-08db053a2b5d X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hZ6NqU7yW0pPaTFwOELN1i0h7vNue/W6+2dkxdZ8eP17Y/8fukjHCXrbB2MV1OTc/v/wau+6OUvTy1dS0tiVyvxMF1H7WFbcH8IjIRY7c98hPcnUUtpMfBhbN/E6auIN84IC1eGRQ5fcPKtSkxO/1mVgiW/rWCk61grHZlP48Eo3qybG321JRTwhHq9ZCA6Q+9L8n8SyjjHoVhWF6sZct8Cxd+OI+WXzLJc3Oqso9RUI8wkr4iJABQnRtgy7iC3zLzsfI7Cn8Gm1Q8iWPjgMFJpMfsFTEQWOkt1Ik9RVjjLv0VnaTinG80ntwSw/hOdq6klA15LjxM8xDzqTAW/MALvXOzCcSzZstBk8Ha69BYOAZJYKOBcJ3+qJcritFTH7jU9t/JEa8K04uAin853j9a1HzQLAejpTmuF0b6MHtfP0aQVuYPlOogjWjKQ4riD9lbQzbXD3zWs/ko41Uumj4iMlTL2zBIY1JTinr8vsOPructRUCQbVmakfgjGf4bEhPGGAqVMgAgm878T+2mj1s0DHbqA4zrOzuvbckv1l54le/pCXxo1sx2bpJhy8YI1gs+jMqKB4Ly7sSCN3+lnem11Ln+a5lzBxRZnPYEEidb/TEF3Z+QDUHKz4+7t5eUs9CIhFdhd92KnU6bPqvo968Zl50Ok3FjXeRd3jEnY8nOuA06NVfdeSnGL0dguwNR6qQS0AV9Lm73jn0DvzBv6uYg== X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230025)(4636009)(376002)(396003)(346002)(39860400002)(136003)(451199018)(36840700001)(46966006)(40470700004)(2906002)(36756003)(336012)(82310400005)(54906003)(83380400001)(426003)(6666004)(316002)(47076005)(186003)(478600001)(40460700003)(26005)(356005)(6286002)(7696005)(70586007)(55016003)(8936002)(4326008)(70206006)(41300700001)(8676002)(5660300002)(36860700001)(40480700001)(86362001)(1076003)(82740400003)(7636003)(6916009)(2616005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2023 16:25:59.5301 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9f629455-78ea-4246-c1f5-08db053a2b5d 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.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT035.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6184 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 The mlx5_compress_qp_setup() function creates QP for compress, decompress and DMA. Thus, the MMO flag is turned on only when all operations are supported. However, since partial transformations have been allowed, it should be turn on for part of them. This patch removes the compress MMO support requirement. Fixes: 2efd26544554 ("compress/mlx5: support partial transformation") Cc: rzidane@nvidia.com Cc: stable@dpdk.org Signed-off-by: Michael Baum --- drivers/compress/mlx5/mlx5_compress.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/compress/mlx5/mlx5_compress.c b/drivers/compress/mlx5/mlx5_compress.c index c46fb4eb89..c4bf62ed41 100644 --- a/drivers/compress/mlx5/mlx5_compress.c +++ b/drivers/compress/mlx5/mlx5_compress.c @@ -243,8 +243,8 @@ mlx5_compress_qp_setup(struct rte_compressdev *dev, uint16_t qp_id, mlx5_ts_format_conv(priv->cdev->config.hca_attr.qp_ts_format); qp_attr.num_of_receive_wqes = 0; qp_attr.num_of_send_wqbbs = RTE_BIT32(log_ops_n); - qp_attr.mmo = priv->mmo_decomp_qp && priv->mmo_comp_qp - && priv->mmo_dma_qp; + qp_attr.mmo = priv->mmo_decomp_qp || priv->mmo_comp_qp || + priv->mmo_dma_qp; ret = mlx5_devx_qp_create(priv->cdev->ctx, &qp->qp, qp_attr.num_of_send_wqbbs * MLX5_WQE_SIZE, &qp_attr, socket_id); From patchwork Thu Feb 2 16:25:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 122974 X-Patchwork-Delegate: gakhil@marvell.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 3C4D941BAE; Thu, 2 Feb 2023 17:26:25 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 024ED43013; Thu, 2 Feb 2023 17:26:04 +0100 (CET) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2063.outbound.protection.outlook.com [40.107.220.63]) by mails.dpdk.org (Postfix) with ESMTP id 8CDB142FEA for ; Thu, 2 Feb 2023 17:26:02 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lbLbLmRACMDu6rVH6iM79MeXYTRlcOXmKdQHd5AuGMph+AjMvkAr+MJiqN/qcuvNDFFpZaInATpr8O71p/I4llBkxatOLDB39Ipcg4pQnZZstbIOWlLM4b2TLebnP5uJFurQg1oeqKwexDWKGXeChyaq4/llERK6hm5rp4Fr1EtFdls9uld/eGA8yOOrfUr6bg+RYqW+6jgTyM3YRp8GGGghXscIrVQYjAx6bR8pmVnlgNUAwvFRBrKKXNiylVxdz5ILxyEZhCptyBQVOKcMT3a7mGK0gYhLeKwG9k0CrBOGrm5aKESHyqmxyNGeIYk7N9AjmCgqZQPNrqn3q49sJg== 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=7gnu9wg5g4JgGKE9c7fFcualcOT1mCoy4xsEt0fBJZI=; b=dZpEZm2CCfYc2Os/X90M4B7AMz7lEZzEeh+DPyafHt/yJgtOYwjkA/yO0LYoazJ80AZPK9y0eWGdKRohAoYm3nqyaiRVbuDfUkoTBABuU8Z/5HQlxVon00YpVkDGEpaL55ZRBWMsidCR+aQsR0Ma4l+kPXoLLIz9pxYEe9+XjyuXtXq2DnMFW6h9aE9rjMHoyBlnvLHWXcuwE9YdcRjjWXlPkpF43htWn/jEtlyr/dOeenXfuKZRTh6Q5bUyfzvA93z1VEJaDHkTYwr3j1yagdTKbdQQ4LfXqlHTjxpG4dyQ187ELfHB4pb3LgBX/OCM0vQU4e0QfDW13aM6OhIV2g== 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=7gnu9wg5g4JgGKE9c7fFcualcOT1mCoy4xsEt0fBJZI=; b=TXey6qlDo/U6aoq+axY6BQJlvuQFMpkGGY8K/QPSDpn0DGp2CdJNNG1m6Ndjz30EMPONUTBF9UqoUY/4TZJpaYL8Pd4SKdUyShshIQxt5yS6jyiQjZNQlZrEV9A1kEUf6W3TQ3JV1VIf9cYgCtUKaUe2erGOAgDJPbBDvGvdgd+auS4xCMF7Bxzu+tdmrCsy456QuzcKfn6LlSXX0KXLy6+JXCBcJt6I9on68JhP9Rf4En4dNTPgxsr0g7+Z3hO0km4dSYDzM5aj6A/mTzGw0HJIRDAHWXS3cSvFDB/Ji58hCd6AdZrnJ/NEswpMA9f+nmsUi+/vgceO0xQ3AA1fRg== Received: from DM6PR03CA0051.namprd03.prod.outlook.com (2603:10b6:5:100::28) by DM4PR12MB7622.namprd12.prod.outlook.com (2603:10b6:8:109::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.24; Thu, 2 Feb 2023 16:26:00 +0000 Received: from DM6NAM11FT052.eop-nam11.prod.protection.outlook.com (2603:10b6:5:100:cafe::4c) by DM6PR03CA0051.outlook.office365.com (2603:10b6:5:100::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.25 via Frontend Transport; Thu, 2 Feb 2023 16:26:00 +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 DM6NAM11FT052.mail.protection.outlook.com (10.13.172.111) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.25 via Frontend Transport; Thu, 2 Feb 2023 16:26:00 +0000 Received: from rnnvmail205.nvidia.com (10.129.68.10) 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.36; Thu, 2 Feb 2023 08:25:53 -0800 Received: from rnnvmail205.nvidia.com (10.129.68.10) by rnnvmail205.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Thu, 2 Feb 2023 08:25:52 -0800 Received: from nvidia.com (10.127.8.13) by mail.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36 via Frontend Transport; Thu, 2 Feb 2023 08:25:51 -0800 From: Michael Baum To: CC: Matan Azrad , Akhil Goyal , "Thomas Monjalon" Subject: [PATCH v2 4/8] compress/mlx5: support new metadata layout added in BF3 Date: Thu, 2 Feb 2023 18:25:33 +0200 Message-ID: <20230202162537.1067595-5-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230202162537.1067595-1-michaelba@nvidia.com> References: <20230109075838.2508039-1-michaelba@nvidia.com> <20230202162537.1067595-1-michaelba@nvidia.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT052:EE_|DM4PR12MB7622:EE_ X-MS-Office365-Filtering-Correlation-Id: 91d3c478-248d-4810-ff36-08db053a2bd8 X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hIC+Z8RpEwjhcdrOA02PdX66UPRoYBb/BkXwzrJGwqqlPopF0oLFat8aXWogz8uxmqEccYCYwTYuZ14ZSOijqKsFIvrASTKTLivWydvxFa9AESEoY9S6y32SW7izT63AlEyne9tm8/ET61pADdn80LDQx5poRo6La+Hn4CQwZxU5YUu+ukNy1hfWukFpNvkRyVMaqbzq84QxYn7YFDgbrhFRqJbjUHeBInxLdhQ93fk+RoUF8n+mheQBM79efHEUY7DdTsFG4hvpGZm8vIkd8bXVcrc6ddgFqIHJsZF3SablKcSEfMq4KthhkylGtOYKHFfxD34Lhh1Fuq2btXbopIJrlieZyf32/8Yqm9wKWCgh4H5MdWdvx2QPZWYiAhUHRpMSN897LCJPUPWtf+Am3DX0omBsxUIyDXzmuJJ4vqU8eCqhFz0jAcOdL4dlb1xGCctaroWphZNqiliCphw0yO/fiJUBZwzwFTw5uFOVOi9iPajs0w1mpN4eeqtbz+ITTGV1ghTZQZJxkeH/6qgOSNvUi5+xb8+yzl8tCs44tvVQZIRbui6IG6hDXTS1TxzrEymo647l5x65FN37l7Kjf9jCpPGchZxncSyJ2CrBjjWyy3sBYAda42jt3AIURV66CkucMYgSJAxFtxeTT6AkP0HeuAHogBTzAO0K67lpMhq0zKgpCicKeZwbYdAQIqriT8WTMqyy9YEqDAfmwiEbKg== 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:(13230025)(4636009)(396003)(136003)(39860400002)(346002)(376002)(451199018)(36840700001)(46966006)(40470700004)(336012)(83380400001)(6666004)(2616005)(54906003)(426003)(316002)(36756003)(82310400005)(2906002)(7636003)(82740400003)(36860700001)(1076003)(70586007)(70206006)(6916009)(4326008)(8676002)(7696005)(40460700003)(478600001)(186003)(6286002)(26005)(47076005)(55016003)(40480700001)(5660300002)(86362001)(41300700001)(356005)(8936002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2023 16:26:00.3534 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 91d3c478-248d-4810-ff36-08db053a2bd8 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: DM6NAM11FT052.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7622 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 Commit [1] add support in Bluefield-3, but Bluefield-3 has different GGA opaque structure than Bluefield-2. This patch updates the PRM structure to include both versions, and culculate the relevant offset for each version in control path. Commit [1] 559014f232b4 ("compress/mlx5: add Bluefield-3 device ID") Signed-off-by: Michael Baum --- drivers/common/mlx5/mlx5_devx_cmds.c | 6 ++-- drivers/common/mlx5/mlx5_devx_cmds.h | 3 +- drivers/common/mlx5/mlx5_prm.h | 40 +++++++++++++++--------- drivers/compress/mlx5/mlx5_compress.c | 45 +++++++++++++++++---------- 4 files changed, 61 insertions(+), 33 deletions(-) diff --git a/drivers/common/mlx5/mlx5_devx_cmds.c b/drivers/common/mlx5/mlx5_devx_cmds.c index 59cebb530f..dfec4dcf1b 100644 --- a/drivers/common/mlx5/mlx5_devx_cmds.c +++ b/drivers/common/mlx5/mlx5_devx_cmds.c @@ -978,8 +978,10 @@ mlx5_devx_cmd_query_hca_attr(void *ctx, attr->mmo_dma_qp_en = MLX5_GET(cmd_hca_cap, hcattr, dma_mmo_qp); attr->mmo_compress_qp_en = MLX5_GET(cmd_hca_cap, hcattr, compress_mmo_qp); - attr->mmo_decompress_qp_en = MLX5_GET(cmd_hca_cap, hcattr, - decompress_mmo_qp); + attr->decomp_deflate_v1_en = MLX5_GET(cmd_hca_cap, hcattr, + decompress_deflate_v1); + attr->decomp_deflate_v2_en = MLX5_GET(cmd_hca_cap, hcattr, + decompress_deflate_v2); attr->compress_min_block_size = MLX5_GET(cmd_hca_cap, hcattr, compress_min_block_size); attr->log_max_mmo_dma = MLX5_GET(cmd_hca_cap, hcattr, log_dma_mmo_size); diff --git a/drivers/common/mlx5/mlx5_devx_cmds.h b/drivers/common/mlx5/mlx5_devx_cmds.h index c94b9eac06..edb387e272 100644 --- a/drivers/common/mlx5/mlx5_devx_cmds.h +++ b/drivers/common/mlx5/mlx5_devx_cmds.h @@ -259,7 +259,8 @@ struct mlx5_hca_attr { uint32_t mmo_decompress_sq_en:1; uint32_t mmo_dma_qp_en:1; uint32_t mmo_compress_qp_en:1; - uint32_t mmo_decompress_qp_en:1; + uint32_t decomp_deflate_v1_en:1; + uint32_t decomp_deflate_v2_en:1; uint32_t mmo_regex_qp_en:1; uint32_t mmo_regex_sq_en:1; uint32_t compress_min_block_size:4; diff --git a/drivers/common/mlx5/mlx5_prm.h b/drivers/common/mlx5/mlx5_prm.h index 2b5c43ee6e..377cbfab87 100644 --- a/drivers/common/mlx5/mlx5_prm.h +++ b/drivers/common/mlx5/mlx5_prm.h @@ -607,17 +607,27 @@ struct mlx5_gga_wqe { struct mlx5_wqe_dseg scatter; } __rte_packed; -struct mlx5_gga_compress_opaque { - uint32_t syndrom; - uint32_t reserved0; - uint32_t scattered_length; - uint32_t gathered_length; - uint64_t scatter_crc; - uint64_t gather_crc; - uint32_t crc32; - uint32_t adler32; - uint8_t reserved1[216]; -} __rte_packed; +union mlx5_gga_compress_opaque { + struct { + uint32_t syndrome; + uint32_t reserved0; + uint32_t scattered_length; + union { + struct { + uint32_t reserved1[5]; + uint32_t crc32; + uint32_t adler32; + } v1 __rte_packed; + struct { + uint32_t crc32; + uint32_t adler32; + uint32_t crc32c; + uint32_t xxh32; + } v2 __rte_packed; + }; + } __rte_packed; + uint32_t data[64]; +}; struct mlx5_ifc_regexp_mmo_control_bits { uint8_t reserved_at_31[0x2]; @@ -1463,7 +1473,7 @@ struct mlx5_ifc_cmd_hca_cap_bits { u8 log_max_bsf_list_size[0x6]; u8 umr_extended_translation_offset[0x1]; u8 null_mkey[0x1]; - u8 log_max_klm_list_size[0x6]; + u8 log_maxklm_list_size[0x6]; u8 non_wire_sq[0x1]; u8 reserved_at_121[0x9]; u8 log_max_ra_req_dc[0x6]; @@ -1749,8 +1759,10 @@ struct mlx5_ifc_cmd_hca_cap_bits { u8 dma_mmo_qp[0x1]; u8 regexp_mmo_qp[0x1]; u8 compress_mmo_qp[0x1]; - u8 decompress_mmo_qp[0x1]; - u8 reserved_at_74c[0x14]; + u8 decompress_deflate_v1[0x1]; + u8 reserved_at_74c[0x4]; + u8 decompress_deflate_v2[0x1]; + u8 reserved_at_751[0xf]; u8 reserved_at_760[0x3]; u8 log_max_num_header_modify_argument[0x5]; u8 log_header_modify_argument_granularity_offset[0x4]; diff --git a/drivers/compress/mlx5/mlx5_compress.c b/drivers/compress/mlx5/mlx5_compress.c index c4bf62ed41..11fad72a4f 100644 --- a/drivers/compress/mlx5/mlx5_compress.c +++ b/drivers/compress/mlx5/mlx5_compress.c @@ -55,6 +55,7 @@ struct mlx5_compress_priv { uint32_t mmo_dma_sq:1; uint32_t mmo_dma_qp:1; uint32_t log_block_sz; + uint32_t crc32_opaq_offs; }; struct mlx5_compress_qp { @@ -157,7 +158,7 @@ mlx5_compress_init_qp(struct mlx5_compress_qp *qp) { volatile struct mlx5_gga_wqe *restrict wqe = (volatile struct mlx5_gga_wqe *)qp->qp.wqes; - volatile struct mlx5_gga_compress_opaque *opaq = qp->opaque_mr.addr; + volatile union mlx5_gga_compress_opaque *opaq = qp->opaque_mr.addr; const uint32_t sq_ds = rte_cpu_to_be_32((qp->qp.qp->id << 8) | 4u); const uint32_t flags = RTE_BE32(MLX5_COMP_ALWAYS << MLX5_COMP_MODE_OFFSET); @@ -211,8 +212,8 @@ mlx5_compress_qp_setup(struct rte_compressdev *dev, uint16_t qp_id, goto err; } opaq_buf = rte_calloc(__func__, (size_t)1 << log_ops_n, - sizeof(struct mlx5_gga_compress_opaque), - sizeof(struct mlx5_gga_compress_opaque)); + sizeof(union mlx5_gga_compress_opaque), + sizeof(union mlx5_gga_compress_opaque)); if (opaq_buf == NULL) { DRV_LOG(ERR, "Failed to allocate opaque memory."); rte_errno = ENOMEM; @@ -225,7 +226,7 @@ mlx5_compress_qp_setup(struct rte_compressdev *dev, uint16_t qp_id, qp->ops = (struct rte_comp_op **)RTE_ALIGN((uintptr_t)(qp + 1), RTE_CACHE_LINE_SIZE); if (mlx5_common_verbs_reg_mr(priv->cdev->pd, opaq_buf, qp->entries_n * - sizeof(struct mlx5_gga_compress_opaque), + sizeof(union mlx5_gga_compress_opaque), &qp->opaque_mr) != 0) { rte_free(opaq_buf); DRV_LOG(ERR, "Failed to register opaque MR."); @@ -544,7 +545,7 @@ mlx5_compress_dump_err_objs(volatile uint32_t *cqe, volatile uint32_t *wqe, DRV_LOG(ERR, "%08X %08X %08X %08X", wqe[i], wqe[i + 1], wqe[i + 2], wqe[i + 3]); DRV_LOG(ERR, "\nError opaq:"); - for (i = 0; i < sizeof(struct mlx5_gga_compress_opaque) >> 2; i += 4) + for (i = 0; i < sizeof(union mlx5_gga_compress_opaque) >> 2; i += 4) DRV_LOG(ERR, "%08X %08X %08X %08X", opaq[i], opaq[i + 1], opaq[i + 2], opaq[i + 3]); } @@ -558,7 +559,7 @@ mlx5_compress_cqe_err_handle(struct mlx5_compress_qp *qp, &qp->cq.cqes[idx]; volatile struct mlx5_gga_wqe *wqes = (volatile struct mlx5_gga_wqe *) qp->qp.wqes; - volatile struct mlx5_gga_compress_opaque *opaq = qp->opaque_mr.addr; + volatile union mlx5_gga_compress_opaque *opaq = qp->opaque_mr.addr; volatile uint32_t *synd_word = RTE_PTR_ADD(cqe, MLX5_ERROR_CQE_SYNDROME_OFFSET); switch (*synd_word) { @@ -575,7 +576,7 @@ mlx5_compress_cqe_err_handle(struct mlx5_compress_qp *qp, op->consumed = 0; op->produced = 0; op->output_chksum = 0; - op->debug_status = rte_be_to_cpu_32(opaq[idx].syndrom) | + op->debug_status = rte_be_to_cpu_32(opaq[idx].syndrome) | ((uint64_t)rte_be_to_cpu_32(cqe->syndrome) << 32); mlx5_compress_dump_err_objs((volatile uint32_t *)cqe, (volatile uint32_t *)&wqes[idx], @@ -590,13 +591,14 @@ mlx5_compress_dequeue_burst(void *queue_pair, struct rte_comp_op **ops, struct mlx5_compress_qp *qp = queue_pair; volatile struct mlx5_compress_xform *restrict xform; volatile struct mlx5_cqe *restrict cqe; - volatile struct mlx5_gga_compress_opaque *opaq = qp->opaque_mr.addr; + volatile union mlx5_gga_compress_opaque *opaq = qp->opaque_mr.addr; struct rte_comp_op *restrict op; const unsigned int cq_size = qp->entries_n; const unsigned int mask = cq_size - 1; uint32_t idx; uint32_t next_idx = qp->ci & mask; const uint16_t max = RTE_MIN((uint16_t)(qp->pi - qp->ci), nb_ops); + uint32_t crc32_idx = qp->priv->crc32_opaq_offs; uint16_t i = 0; int ret; @@ -629,17 +631,17 @@ mlx5_compress_dequeue_burst(void *queue_pair, struct rte_comp_op **ops, switch (xform->csum_type) { case RTE_COMP_CHECKSUM_CRC32: op->output_chksum = (uint64_t)rte_be_to_cpu_32 - (opaq[idx].crc32); + (opaq[idx].data[crc32_idx]); break; case RTE_COMP_CHECKSUM_ADLER32: op->output_chksum = (uint64_t)rte_be_to_cpu_32 - (opaq[idx].adler32); + (opaq[idx].data[crc32_idx + 1]); break; case RTE_COMP_CHECKSUM_CRC32_ADLER32: op->output_chksum = (uint64_t)rte_be_to_cpu_32 - (opaq[idx].crc32) | + (opaq[idx].data[crc32_idx]) | ((uint64_t)rte_be_to_cpu_32 - (opaq[idx].adler32) << 32); + (opaq[idx].data[crc32_idx + 1]) << 32); break; default: break; @@ -717,15 +719,17 @@ mlx5_compress_dev_probe(struct mlx5_common_device *cdev, .socket_id = cdev->dev->numa_node, }; const char *ibdev_name = mlx5_os_get_ctx_device_name(cdev->ctx); + uint32_t crc32_opaq_offset; if (rte_eal_process_type() != RTE_PROC_PRIMARY) { DRV_LOG(ERR, "Non-primary process type is not supported."); rte_errno = ENOTSUP; return -rte_errno; } - if (!attr->mmo_decompress_qp_en && !attr->mmo_decompress_sq_en - && !attr->mmo_compress_qp_en && !attr->mmo_compress_sq_en - && !attr->mmo_dma_qp_en && !attr->mmo_dma_sq_en) { + if (!attr->decomp_deflate_v1_en && !attr->decomp_deflate_v2_en && + !attr->mmo_decompress_sq_en && !attr->mmo_compress_qp_en && + !attr->mmo_compress_sq_en && !attr->mmo_dma_qp_en && + !attr->mmo_dma_sq_en) { DRV_LOG(ERR, "Not enough capabilities to support compress operations, maybe old FW/OFED version?"); rte_errno = ENOTSUP; return -ENOTSUP; @@ -746,11 +750,20 @@ mlx5_compress_dev_probe(struct mlx5_common_device *cdev, priv = compressdev->data->dev_private; priv->log_block_sz = devarg_prms.log_block_sz; priv->mmo_decomp_sq = attr->mmo_decompress_sq_en; - priv->mmo_decomp_qp = attr->mmo_decompress_qp_en; + priv->mmo_decomp_qp = + attr->decomp_deflate_v1_en | attr->decomp_deflate_v2_en; priv->mmo_comp_sq = attr->mmo_compress_sq_en; priv->mmo_comp_qp = attr->mmo_compress_qp_en; priv->mmo_dma_sq = attr->mmo_dma_sq_en; priv->mmo_dma_qp = attr->mmo_dma_qp_en; + if (attr->decomp_deflate_v2_en) + crc32_opaq_offset = offsetof(union mlx5_gga_compress_opaque, + v2.crc32); + else + crc32_opaq_offset = offsetof(union mlx5_gga_compress_opaque, + v1.crc32); + MLX5_ASSERT((crc32_opaq_offset % 4) == 0); + priv->crc32_opaq_offs = crc32_opaq_offset / 4; priv->cdev = cdev; priv->compressdev = compressdev; priv->min_block_size = attr->compress_min_block_size; From patchwork Thu Feb 2 16:25:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 122977 X-Patchwork-Delegate: gakhil@marvell.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 8908641BAE; Thu, 2 Feb 2023 17:26:47 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E5A4042FD0; Thu, 2 Feb 2023 17:26:11 +0100 (CET) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2078.outbound.protection.outlook.com [40.107.223.78]) by mails.dpdk.org (Postfix) with ESMTP id 2485D4300A for ; Thu, 2 Feb 2023 17:26:09 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y7gW+t6Zr50QuKUw88Vq1nA8OdcPB9JD/aa5aNMMkLTiDrsJlUKPM0SjmyZlJTyJEA5xQUBsgHxUoiYTdCbXsaWl6LWYOQNHNtb/jxtHKMWKcKkZ+1Bbr85FLH0ifDDC0fVlLPV7aCFQ6PSMEqUZSkbtCsDuEg4LLfY/mX5fsNahy4UL9v96usI2fCJpIDYhCrCDtvSlQXUHD19edqsum7qLmi+uRYxmfm1zEE4MQSOg1TdVHwx5KTkZQ+qhrpXiEK1yxmalT4hq1g7rz03LqSko4edoOkEcWMVW2PWOxsh0KWCFVpMAlYYWz9jm/SUQRopRuOZ3jYQVZ89A24O9+w== 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=ezPMzdJO0VyItnvMfDrhY20hJu6TatYXSokL0wgRYmk=; b=XOakeSaGvKbog5O9V+P8mE0H2N98iYZv9TitPOslYxx/lG9iYiaFG1OzITTKcJDbXq0V2VswdYF17Dz/yZgCdJK9MRE8v0HHj+Koh7o8b/9Sa6dxGQzepGAmZfXCYmEJC4ca0ezFWr1QSCaa6YV6RIGyi0KkmPqRmrnG44S6TFxAp6tRAwL+WGpLD6MxPRrf5xQetOySzaQvsbHB2zXFcefYJLq6+CFicKaFhJa4da5Dnw/Pdt4x1BhvfBPAh2z4rPrS3ytD76Fn/5a8OhDrWZLH+MCNkHYaujhZo/l1gBQ7T9JsZaBEfHWdDzCG+mwuLg6r9hjZm/xwxOoi0eR2Wg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) 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=ezPMzdJO0VyItnvMfDrhY20hJu6TatYXSokL0wgRYmk=; b=X4pVZut0X1xSUU5jd9/qpLH4JCseyyNMWcNN0djhuK7UwJJtQkP4GvoNn+KGg8N1iDfoAJmyEDjnddxQE3cuoaTXu4Jyx9ICiaDoHyguJCpTPkEdNIL6jd5wbbByG3lMDr1qEBLZOUvOctfFIzj8V9HCfnxTveRNJAjCl7URGwpC23pyY5rwbZZOHMj7xQ4xF7R+QWRsXLBg89xepaPFeqZTY4ntZtUT6P4ZWjtOUft0V5xn+4Cii780gAjvvGhEUEueRijjgilTGGSnuCguWW/O2HgIHvQa21NQx0XU9gQTo3CbtL2ssh/6jCwF6TiUgi0t2ofeNXIj4gIeFg4xDg== Received: from DM6PR11CA0071.namprd11.prod.outlook.com (2603:10b6:5:14c::48) by IA0PR12MB7724.namprd12.prod.outlook.com (2603:10b6:208:430::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.38; Thu, 2 Feb 2023 16:26:07 +0000 Received: from DM6NAM11FT113.eop-nam11.prod.protection.outlook.com (2603:10b6:5:14c:cafe::d6) by DM6PR11CA0071.outlook.office365.com (2603:10b6:5:14c::48) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.25 via Frontend Transport; Thu, 2 Feb 2023 16:26:07 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) 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.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by DM6NAM11FT113.mail.protection.outlook.com (10.13.173.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.28 via Frontend Transport; Thu, 2 Feb 2023 16:26:07 +0000 Received: from rnnvmail205.nvidia.com (10.129.68.10) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Thu, 2 Feb 2023 08:25:54 -0800 Received: from rnnvmail205.nvidia.com (10.129.68.10) by rnnvmail205.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Thu, 2 Feb 2023 08:25:54 -0800 Received: from nvidia.com (10.127.8.13) by mail.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36 via Frontend Transport; Thu, 2 Feb 2023 08:25:53 -0800 From: Michael Baum To: CC: Matan Azrad , Akhil Goyal , "Thomas Monjalon" Subject: [PATCH v2 5/8] compress/mlx5: remove unused variable from priv structure Date: Thu, 2 Feb 2023 18:25:34 +0200 Message-ID: <20230202162537.1067595-6-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230202162537.1067595-1-michaelba@nvidia.com> References: <20230109075838.2508039-1-michaelba@nvidia.com> <20230202162537.1067595-1-michaelba@nvidia.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT113:EE_|IA0PR12MB7724:EE_ X-MS-Office365-Filtering-Correlation-Id: b21b2093-4b3b-4b11-d20e-08db053a2fe5 X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tJzVgqIQgcaiLiQeME0AakHX9sJ0lL1nRhPGXG8uEeOXbR+Fpi3TzUREx/ZcFP0eBiXkEnSI8ZIeCSKs5j+2RhmEcLu7QdIe85r0npmQUmdnlsS//z7w3JQqORksFaoWJTSMy5/tHKIqQXj8nqXBbk5/SZ2pb/096DeFM6j4Y3MpqiX3NeFSF2E/9RMJGxPwK6F/RHuERH8zMtYYmLt2ghFvjoB/9mqevzYrri37Khy8bKTjFbdntCjS1RpPJFehYOglrhT/LGmnQiOqADzNVG1APU9zEPxGI27xmA0Np6XHMIGKmNL8ihcathznGfnMKq2BaPxviyqt8G6IqroPc3FB1tRDR3kRO0FnwQbAzEPBC/EcEDOmmnLyVgsNbtg+PezjQ6NaA11vrEtRC64O9a90B/7w+qW2an6N8a9HjWw36FTV6IIhjmPA9sz1xghMLidsw0iEplP4/nuK3st+yWmNZsU3vUh4TdjdN6NmL3SpZ9o3Qt4Y0eL5XIszd1td0+XpcnlZk/cJi9a0Zd3NizSTNHSnU8NM8l8yObGQrqGgTyS2v5PbCGyWvDh4acsLe5T25t2rqYyR5kXmNU3RL4ibftfQz8hTJGiLxMlZcsPMyU1FiBU4SVdd6sLmvkjWMdjK/Qp2jy6nMoxWz3ZHPXnJGHOIzTpXBbhfge1kPH3sjdjvlzpF353V3lQlxEu2rlhS40v/UQC0YQcev67EOA== X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230025)(4636009)(136003)(376002)(396003)(39860400002)(346002)(451199018)(46966006)(36840700001)(40470700004)(356005)(86362001)(7636003)(36860700001)(36756003)(82740400003)(6916009)(70206006)(70586007)(5660300002)(54906003)(8676002)(4326008)(82310400005)(8936002)(316002)(55016003)(47076005)(6286002)(336012)(426003)(2906002)(40480700001)(83380400001)(2616005)(478600001)(40460700003)(7696005)(26005)(186003)(1076003)(41300700001)(6666004); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2023 16:26:07.1327 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b21b2093-4b3b-4b11-d20e-08db053a2fe5 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.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT113.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7724 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 The priv structure has variable named "min_block_size" coming from HCA capabilities. This field isn't used and copied into the priv structure for free. This patch removes this field. Signed-off-by: Michael Baum --- drivers/compress/mlx5/mlx5_compress.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/compress/mlx5/mlx5_compress.c b/drivers/compress/mlx5/mlx5_compress.c index 11fad72a4f..d54e49db97 100644 --- a/drivers/compress/mlx5/mlx5_compress.c +++ b/drivers/compress/mlx5/mlx5_compress.c @@ -42,8 +42,6 @@ struct mlx5_compress_priv { struct rte_compressdev *compressdev; struct mlx5_common_device *cdev; /* Backend mlx5 device. */ struct mlx5_uar uar; - uint8_t min_block_size; - /* Minimum huffman block size supported by the device. */ struct rte_compressdev_config dev_config; LIST_HEAD(xform_list, mlx5_compress_xform) xform_list; rte_spinlock_t xform_sl; @@ -766,7 +764,6 @@ mlx5_compress_dev_probe(struct mlx5_common_device *cdev, priv->crc32_opaq_offs = crc32_opaq_offset / 4; priv->cdev = cdev; priv->compressdev = compressdev; - priv->min_block_size = attr->compress_min_block_size; if (mlx5_devx_uar_prepare(cdev, &priv->uar) != 0) { rte_compressdev_pmd_destroy(priv->compressdev); return -1; From patchwork Thu Feb 2 16:25:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 122978 X-Patchwork-Delegate: gakhil@marvell.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 3D15241BAE; Thu, 2 Feb 2023 17:26:54 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5F19642FD8; Thu, 2 Feb 2023 17:26:19 +0100 (CET) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2058.outbound.protection.outlook.com [40.107.220.58]) by mails.dpdk.org (Postfix) with ESMTP id E466542DBF for ; Thu, 2 Feb 2023 17:26:17 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iMJElqsMozvHHSRndcwmRczEMTZUkRyOK7JJP9HsUYfN6CZpbvfIoUVeS2E1Q+anfdpsarhiFJf7RWrk4ABpcZnDKMVUbK4NeDjQ2WISs8Lsfcpfjm2gm6XQV//UBKvhe4H96b5VIhTdZU2mWMpUxPblhn/yxR+OWsVCxvOdRap1yj+W+hGCGSdlzIwwcLKHkIY+I4u76bCBrZCclKe9ygwrx49N/TIK16WDorrJjo5e6GP5LgZrnRgAkFrSg18V1duB0f1beJWHYA/qSmPMRtVKstHwXXOyuqUyAthOhDGZoJpUP6oxgqtl6UCEEo5xcwThQB4qRz97ObZMbyAkTw== 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=cRBXWnelK+ScKCyI0xLPXy1HZ42bZ53tEtE+Z2WpDek=; b=CHTvJH23P2D+UZuXB71JZ1aVbWvB40eRXbuzNR2aYW2oJRM8WjsT9H6RHFAT2yellOEW55QQRz/FlcOqvRHegW9qS1pQo8+WmuFmRnn718tKn/egqTUNNWbdxMGFipeHCa2mO0E0cXGOFnCoQvqt1AgMXXoR59CIacKGf7wHx8qYmMOFuYP6Ak3I1reMQ3Kx41trIFijTtt4BWO8HCf7tgrH6Zdiq+WfoexZzq0nEJa1OIkTnHsrLuALrf3s8oj3G52h3NaOmAMBFUQf1dLapFdTFzXEkerzU70aBf3oJGbgpEWj1GXfn+Prmy3KX+vPvRXuWhbfDwjChTSJv2ajFw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) 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=cRBXWnelK+ScKCyI0xLPXy1HZ42bZ53tEtE+Z2WpDek=; b=Nb/dizjzrzSaLxBSKFrhAIDwG1hvEU2xf7f84UJDM9HmjWKzclJp4PadXCz4lhoX0vKhYoXa1GRSlVyVxy5gZuHE/gDhbAlpfVoVAYVsiYqlN7LpqiIUoRITnTyyokDaBM0fYBUjvh9ZTV+s5qWwolFF2JHf/qaqJGKkZJLgVhvWVaA8e0e8G6HyhU9s1xFNL4YF+Oc+HHlJoAXlYHoyqVsM4yDUnuTD1L9fSOumqs1P+EBMKwzHoWBu5AZDCP3bArv+YILlIGLHeYdvISMQFlQsmWxm/APD76e7jgvR8xUISDWJz7o4wzdtphcY2TfQkv/CC+t/syBh8pIfJjFSjg== Received: from DM6PR11CA0041.namprd11.prod.outlook.com (2603:10b6:5:14c::18) by MW3PR12MB4379.namprd12.prod.outlook.com (2603:10b6:303:5e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.25; Thu, 2 Feb 2023 16:26:08 +0000 Received: from DM6NAM11FT113.eop-nam11.prod.protection.outlook.com (2603:10b6:5:14c:cafe::3c) by DM6PR11CA0041.outlook.office365.com (2603:10b6:5:14c::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.25 via Frontend Transport; Thu, 2 Feb 2023 16:26:08 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) 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.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by DM6NAM11FT113.mail.protection.outlook.com (10.13.173.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.28 via Frontend Transport; Thu, 2 Feb 2023 16:26:08 +0000 Received: from rnnvmail205.nvidia.com (10.129.68.10) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Thu, 2 Feb 2023 08:25:56 -0800 Received: from rnnvmail205.nvidia.com (10.129.68.10) by rnnvmail205.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Thu, 2 Feb 2023 08:25:56 -0800 Received: from nvidia.com (10.127.8.13) by mail.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36 via Frontend Transport; Thu, 2 Feb 2023 08:25:55 -0800 From: Michael Baum To: CC: Matan Azrad , Akhil Goyal , "Thomas Monjalon" Subject: [PATCH v2 6/8] compress/mlx5: add xform validate function Date: Thu, 2 Feb 2023 18:25:35 +0200 Message-ID: <20230202162537.1067595-7-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230202162537.1067595-1-michaelba@nvidia.com> References: <20230109075838.2508039-1-michaelba@nvidia.com> <20230202162537.1067595-1-michaelba@nvidia.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT113:EE_|MW3PR12MB4379:EE_ X-MS-Office365-Filtering-Correlation-Id: dbefb4f3-7f10-4dac-146c-08db053a30ae X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lqEhfr1kTt+3aDwDr6VzbPJ8CHsnTBqFMBhv+fGPEEAzrYcO4zc7vcInd7ivXrpx7h2G/Dz/mRByX+UVqkU1mjH8N+KLYQGGCjmULKLjLyeFEi8vBEbiB01WSazuJJVx85TuUZHWd1W/nNsMNkUXVpDhqAudx+9WKfKNfLJd+FXsLfh1Inadh/l0ZcLE9CcnuPJsSGn8Gol1T0gvt0/ODtRlQ8TwbKjrQCfxRlVd1UGMIWHdW2kYR0Y9JSK/AL476MPn9ruCQkVvJ2bDZOBF086OAaIHReo34rPXKXjNCERrlcBFkjGAZiAXKNNHBdh9Mc80KyqNrjvFPMZtZO5cfpE170K6ECuMgqbG1DWz+S6FRLme0zjwQpgVo0H13WfOluJRzuAp3ojCN1WKiFgL5/V68X9L6ZSagyk3sEHOhIlk33+kzYsNsoPNzY7LcAHndk3g39UgUcw+WTYaCjymyZRVyFthw0av04pcthxdMVKmEV18ib6xsXgmKr1j0yhCj9R3wiDoNfmA8od0eEJpCle2+nZpG3YNfkfTjudUXEMFe9/62y2Xph6KdDkZ6oKSw2BDLg7cbEw6VCqo27Kw8ta7PWUqJfzVI3fGxfoxDqKv+j0X6pFmlCNa+6YDe32DsyxnASflrScfDrNnAEtTIFQH9832TDLgio/k7zGMqDoVtrXhfbx9uxO7rJDVO7sH X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230025)(4636009)(39860400002)(136003)(376002)(396003)(346002)(451199018)(40470700004)(36840700001)(46966006)(6916009)(70206006)(7636003)(82310400005)(356005)(70586007)(4326008)(55016003)(41300700001)(5660300002)(316002)(8676002)(8936002)(86362001)(54906003)(82740400003)(36756003)(40480700001)(478600001)(2906002)(40460700003)(426003)(47076005)(7696005)(83380400001)(36860700001)(336012)(6666004)(1076003)(26005)(2616005)(186003)(6286002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2023 16:26:08.4607 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dbefb4f3-7f10-4dac-146c-08db053a30ae 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.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT113.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4379 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 Separate the xform validations from create function into new function. The new function checks caps directly from HCA attr structure, so all capabilities in priv structure were removed. Signed-off-by: Michael Baum --- drivers/compress/mlx5/mlx5_compress.c | 75 +++++++++++++++------------ 1 file changed, 42 insertions(+), 33 deletions(-) diff --git a/drivers/compress/mlx5/mlx5_compress.c b/drivers/compress/mlx5/mlx5_compress.c index d54e49db97..7841f57b9c 100644 --- a/drivers/compress/mlx5/mlx5_compress.c +++ b/drivers/compress/mlx5/mlx5_compress.c @@ -45,13 +45,6 @@ struct mlx5_compress_priv { struct rte_compressdev_config dev_config; LIST_HEAD(xform_list, mlx5_compress_xform) xform_list; rte_spinlock_t xform_sl; - /* HCA caps */ - uint32_t mmo_decomp_sq:1; - uint32_t mmo_decomp_qp:1; - uint32_t mmo_comp_sq:1; - uint32_t mmo_comp_qp:1; - uint32_t mmo_dma_sq:1; - uint32_t mmo_dma_qp:1; uint32_t log_block_sz; uint32_t crc32_opaq_offs; }; @@ -178,6 +171,7 @@ mlx5_compress_qp_setup(struct rte_compressdev *dev, uint16_t qp_id, uint32_t max_inflight_ops, int socket_id) { struct mlx5_compress_priv *priv = dev->data->dev_private; + struct mlx5_hca_attr *attr = &priv->cdev->config.hca_attr; struct mlx5_compress_qp *qp; struct mlx5_devx_cq_attr cq_attr = { .uar_page_id = mlx5_os_get_devx_uar_page_id(priv->uar.obj), @@ -238,12 +232,11 @@ mlx5_compress_qp_setup(struct rte_compressdev *dev, uint16_t qp_id, goto err; } qp_attr.cqn = qp->cq.cq->id; - qp_attr.ts_format = - mlx5_ts_format_conv(priv->cdev->config.hca_attr.qp_ts_format); + qp_attr.ts_format = mlx5_ts_format_conv(attr->qp_ts_format); qp_attr.num_of_receive_wqes = 0; qp_attr.num_of_send_wqbbs = RTE_BIT32(log_ops_n); - qp_attr.mmo = priv->mmo_decomp_qp || priv->mmo_comp_qp || - priv->mmo_dma_qp; + qp_attr.mmo = attr->mmo_compress_qp_en || attr->mmo_dma_qp_en || + attr->decomp_deflate_v1_en || attr->decomp_deflate_v2_en; ret = mlx5_devx_qp_create(priv->cdev->ctx, &qp->qp, qp_attr.num_of_send_wqbbs * MLX5_WQE_SIZE, &qp_attr, socket_id); @@ -276,21 +269,17 @@ mlx5_compress_xform_free(struct rte_compressdev *dev, void *xform) } static int -mlx5_compress_xform_create(struct rte_compressdev *dev, - const struct rte_comp_xform *xform, - void **private_xform) +mlx5_compress_xform_validate(const struct rte_comp_xform *xform, + const struct mlx5_hca_attr *attr) { - struct mlx5_compress_priv *priv = dev->data->dev_private; - struct mlx5_compress_xform *xfrm; - uint32_t size; - switch (xform->type) { case RTE_COMP_COMPRESS: if (xform->compress.algo == RTE_COMP_ALGO_NULL && - !priv->mmo_dma_qp && !priv->mmo_dma_sq) { + !attr->mmo_dma_qp_en && !attr->mmo_dma_sq_en) { DRV_LOG(ERR, "Not enough capabilities to support DMA operation, maybe old FW/OFED version?"); return -ENOTSUP; - } else if (!priv->mmo_comp_qp && !priv->mmo_comp_sq) { + } else if (!attr->mmo_compress_qp_en && + !attr->mmo_compress_sq_en) { DRV_LOG(ERR, "Not enough capabilities to support compress operation, maybe old FW/OFED version?"); return -ENOTSUP; } @@ -304,12 +293,24 @@ mlx5_compress_xform_create(struct rte_compressdev *dev, } break; case RTE_COMP_DECOMPRESS: - if (xform->decompress.algo == RTE_COMP_ALGO_NULL && - !priv->mmo_dma_qp && !priv->mmo_dma_sq) { - DRV_LOG(ERR, "Not enough capabilities to support DMA operation, maybe old FW/OFED version?"); - return -ENOTSUP; - } else if (!priv->mmo_decomp_qp && !priv->mmo_decomp_sq) { - DRV_LOG(ERR, "Not enough capabilities to support decompress operation, maybe old FW/OFED version?"); + switch (xform->decompress.algo) { + case RTE_COMP_ALGO_NULL: + if (attr->mmo_dma_qp_en && !attr->mmo_dma_sq_en) { + DRV_LOG(ERR, "Not enough capabilities to support DMA operation, maybe old FW/OFED version?"); + return -ENOTSUP; + } + break; + case RTE_COMP_ALGO_DEFLATE: + if (!attr->decomp_deflate_v1_en && + !attr->decomp_deflate_v2_en && + !attr->mmo_decompress_sq_en) { + DRV_LOG(ERR, "Not enough capabilities to support decompress DEFLATE algorithm, maybe old FW/OFED version?"); + return -ENOTSUP; + } + break; + default: + DRV_LOG(ERR, "Algorithm %u is not supported.", + xform->decompress.algo); return -ENOTSUP; } if (xform->decompress.hash_algo != RTE_COMP_HASH_ALGO_NONE) { @@ -321,7 +322,22 @@ mlx5_compress_xform_create(struct rte_compressdev *dev, DRV_LOG(ERR, "Xform type should be compress/decompress"); return -ENOTSUP; } + return 0; +} + +static int +mlx5_compress_xform_create(struct rte_compressdev *dev, + const struct rte_comp_xform *xform, + void **private_xform) +{ + struct mlx5_compress_priv *priv = dev->data->dev_private; + struct mlx5_compress_xform *xfrm; + uint32_t size; + int ret; + ret = mlx5_compress_xform_validate(xform, &priv->cdev->config.hca_attr); + if (ret < 0) + return ret; xfrm = rte_zmalloc_socket(__func__, sizeof(*xfrm), 0, priv->dev_config.socket_id); if (xfrm == NULL) @@ -747,13 +763,6 @@ mlx5_compress_dev_probe(struct mlx5_common_device *cdev, compressdev->feature_flags = RTE_COMPDEV_FF_HW_ACCELERATED; priv = compressdev->data->dev_private; priv->log_block_sz = devarg_prms.log_block_sz; - priv->mmo_decomp_sq = attr->mmo_decompress_sq_en; - priv->mmo_decomp_qp = - attr->decomp_deflate_v1_en | attr->decomp_deflate_v2_en; - priv->mmo_comp_sq = attr->mmo_compress_sq_en; - priv->mmo_comp_qp = attr->mmo_compress_qp_en; - priv->mmo_dma_sq = attr->mmo_dma_sq_en; - priv->mmo_dma_qp = attr->mmo_dma_qp_en; if (attr->decomp_deflate_v2_en) crc32_opaq_offset = offsetof(union mlx5_gga_compress_opaque, v2.crc32); From patchwork Thu Feb 2 16:25:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 122975 X-Patchwork-Delegate: gakhil@marvell.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 E160B41BAE; Thu, 2 Feb 2023 17:26:31 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2E02A43002; Thu, 2 Feb 2023 17:26:08 +0100 (CET) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2043.outbound.protection.outlook.com [40.107.220.43]) by mails.dpdk.org (Postfix) with ESMTP id 8A62642FD0 for ; Thu, 2 Feb 2023 17:26:06 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mbOcrOXpmfyVfGMSXv7DQkwozMfrrLtjeUYG9/PJ5ZspLBtm3r2tgpq42gif26tkwomWJQNlWeQXBM0Vei318erNX5sNdW/J+Bfzx8jcRMDySMazd3wKbKLZChF8h9qh0MxaixfteBMoWHLddoSNv/hmG1qLZ8+2eSL/FfrWdKO5UUgjxuCgm1uNVb9pMEkcSb/40GsqP0FahDpZGjROSqZc834U8xZeoZBOAZC3qtWRxoGUI5577VRCQIlovf2KI/cbZem+/5IAAsQTnTTS0cZSaxnP31dELsZe3YQF30G6Xz1Nb9gBAqMWtk5ABM8HG8L5jOSpb5Cf8IiZddK17Q== 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=yQwwdxo1hTmw4+eXE1YPAjyuKOluQPvLZrz4nq6d+os=; b=bk3qQblwfJIS8+AcuSfdCzqgWtHXkJR0MYS7PQUqIYljiDViOml9VTwy8mMJ9fsEgyQc951QNxK2rbwdXr0eCZv0hQqWvmu1RiaLCcVsLtY6AcUxmAI612584T/+GBD3H35xABnoZytp4MUQZ64knw2NP9b6ejqXPpBUXFNriMNBzLmBkQO7RLZI4D72JzZdqyA72yEu5nFS8/K7ZWR0NVKW+bfJ3q9e/RAEQL/NNvs0v0u+23Ag1iXH5H+7/L1YqQDNF8UlUP9BxPi8y0zBQh5MbMsZZqczbk7Rcuy3rAvTbojhDvB6TZNFZqEz3N1Xjtq8zyMvHc04OBJJulLiKg== 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=yQwwdxo1hTmw4+eXE1YPAjyuKOluQPvLZrz4nq6d+os=; b=ZvIZXH401YMM72JcSkXo/gp1AT1Q06Oxl1wg2TLL8K0B0pFnBgspLIDwLWLlokjkMTt313j0uu/hjqz9CMzPT0vaDQc6sTYUu/m1L4Cdu8jT49TNJ/iTABeMMnG317JkXkakVe2+LlC8OGq4V6zJ9oCy+UEnSD6dgXPpDMinAsGMJCinP6Vh+mqcLr92NtTCEpiTxiqFK8nwidP2EprvDvIs5ePqJYA8KVcc7QnCJR17yV+E9NgwyZJqTfr6cgOw/JIz6hVauSL3+aynvNWRM/uKLZ1ZFjGLxmy0LcflxjzxbyoxQ2CeyHkvGWypeQg9EWqQZe9g96Uoo3thhltm3Q== Received: from DS7PR05CA0101.namprd05.prod.outlook.com (2603:10b6:8:56::21) by CY5PR12MB6597.namprd12.prod.outlook.com (2603:10b6:930:43::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.24; Thu, 2 Feb 2023 16:26:04 +0000 Received: from DM6NAM11FT078.eop-nam11.prod.protection.outlook.com (2603:10b6:8:56:cafe::f4) by DS7PR05CA0101.outlook.office365.com (2603:10b6:8:56::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6086.6 via Frontend Transport; Thu, 2 Feb 2023 16:26:04 +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 DM6NAM11FT078.mail.protection.outlook.com (10.13.173.183) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.27 via Frontend Transport; Thu, 2 Feb 2023 16:26:04 +0000 Received: from rnnvmail205.nvidia.com (10.129.68.10) 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.36; Thu, 2 Feb 2023 08:25:58 -0800 Received: from rnnvmail205.nvidia.com (10.129.68.10) by rnnvmail205.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Thu, 2 Feb 2023 08:25:58 -0800 Received: from nvidia.com (10.127.8.13) by mail.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36 via Frontend Transport; Thu, 2 Feb 2023 08:25:57 -0800 From: Michael Baum To: CC: Matan Azrad , Akhil Goyal , "Thomas Monjalon" Subject: [PATCH v2 7/8] common/mlx5: add LZ4 capabilities check Date: Thu, 2 Feb 2023 18:25:36 +0200 Message-ID: <20230202162537.1067595-8-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230202162537.1067595-1-michaelba@nvidia.com> References: <20230109075838.2508039-1-michaelba@nvidia.com> <20230202162537.1067595-1-michaelba@nvidia.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT078:EE_|CY5PR12MB6597:EE_ X-MS-Office365-Filtering-Correlation-Id: 44f3fb4c-22d0-4ad0-6f1a-08db053a2e40 X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vp+rEJ1DA//+Vm95hLTsQrki2jvSz4Wy1bsTORakslm+cxP6AY1FrJ4bf4E18cmWI2wzntAQXZR+NziAWkJ/Tcn4SUeYTHmBOs8ZXcVmXWLuTGukFlVctsbz+SPSRBA8aD31LbVIRV34vB1teTCOpXIfXYx+fnRiFuHjkvcA3BlEt4NQ57KchZb2kPMOT5KSAMjD759wk1wNX7bX+4bOTzJwqH0kD2mazh1XiW7gfMQNBMujquQPLls6i0PIcqdWj1j9qYjZSSiynWrYPjSSS8SzhnYPkSZLHMY9YSnmwC9EalF+4bENx7AcX5mfqUMsb19uILs2qFCLQlszIJLiLoeBZGFr1YaSw/Kmu8cEDcAeji/EXy1EUSrNT2xWoPsVk5j68o0C3RU1UPbpfwPHSSxL8W5dzWXlxYHyqIfKJsbdGslL05vdTcLUV7IwSj5deY7oc3DF82931AILipoG32jDsMP5VD+WkIkGreAijC49eeowozvsLB9wE/YKael+0eT97elSWHsXsKi3ts0pbXSIKh3380/TuEqrU43sQHtSkZ1anCMCDV9N44nJ6CSesWEZM1qAavRC04RYt6H0yd3Po3NIn8FYMjbeEVZ+0QxhJ7oBsN8GR76kbQbWcj9tY4dx9JLBgptT4sOKnUSKca3MAQGj9O7flSS/KpDjcPtjiOMMyDooTyMu+nGscRp5kV9DtYlsQnK3xRstcgaU9w== 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:(13230025)(4636009)(346002)(396003)(136003)(39860400002)(376002)(451199018)(36840700001)(40470700004)(46966006)(336012)(83380400001)(47076005)(6666004)(316002)(2616005)(426003)(54906003)(36756003)(2906002)(82310400005)(36860700001)(7636003)(478600001)(70206006)(8676002)(70586007)(4326008)(1076003)(6286002)(26005)(186003)(7696005)(82740400003)(356005)(41300700001)(40480700001)(6916009)(86362001)(8936002)(40460700003)(55016003)(5660300002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2023 16:26:04.3711 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 44f3fb4c-22d0-4ad0-6f1a-08db053a2e40 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: DM6NAM11FT078.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6597 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 Add capabilities check for LZ4 decompression algorithm. Signed-off-by: Michael Baum --- drivers/common/mlx5/mlx5_devx_cmds.c | 6 ++++++ drivers/common/mlx5/mlx5_devx_cmds.h | 3 +++ drivers/common/mlx5/mlx5_prm.h | 16 ++++++++++++++-- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/drivers/common/mlx5/mlx5_devx_cmds.c b/drivers/common/mlx5/mlx5_devx_cmds.c index dfec4dcf1b..f30daa19c7 100644 --- a/drivers/common/mlx5/mlx5_devx_cmds.c +++ b/drivers/common/mlx5/mlx5_devx_cmds.c @@ -989,6 +989,12 @@ mlx5_devx_cmd_query_hca_attr(void *ctx, log_compress_mmo_size); attr->log_max_mmo_decompress = MLX5_GET(cmd_hca_cap, hcattr, log_decompress_mmo_size); + attr->decomp_lz4_data_only_en = MLX5_GET(cmd_hca_cap, hcattr, + decompress_lz4_data_only_v2); + attr->decomp_lz4_no_checksum_en = MLX5_GET(cmd_hca_cap, hcattr, + decompress_lz4_no_checksum_v2); + attr->decomp_lz4_checksum_en = MLX5_GET(cmd_hca_cap, hcattr, + decompress_lz4_checksum_v2); attr->cqe_compression = MLX5_GET(cmd_hca_cap, hcattr, cqe_compression); attr->mini_cqe_resp_flow_tag = MLX5_GET(cmd_hca_cap, hcattr, mini_cqe_resp_flow_tag); diff --git a/drivers/common/mlx5/mlx5_devx_cmds.h b/drivers/common/mlx5/mlx5_devx_cmds.h index edb387e272..a82af9426d 100644 --- a/drivers/common/mlx5/mlx5_devx_cmds.h +++ b/drivers/common/mlx5/mlx5_devx_cmds.h @@ -267,6 +267,9 @@ struct mlx5_hca_attr { uint32_t log_max_mmo_dma:5; uint32_t log_max_mmo_compress:5; uint32_t log_max_mmo_decompress:5; + uint32_t decomp_lz4_data_only_en:1; + uint32_t decomp_lz4_no_checksum_en:1; + uint32_t decomp_lz4_checksum_en:1; uint32_t umr_modify_entity_size_disabled:1; uint32_t umr_indirect_mkey_disabled:1; uint32_t log_min_stride_wqe_sz:5; diff --git a/drivers/common/mlx5/mlx5_prm.h b/drivers/common/mlx5/mlx5_prm.h index 377cbfab87..f89af8b96b 100644 --- a/drivers/common/mlx5/mlx5_prm.h +++ b/drivers/common/mlx5/mlx5_prm.h @@ -578,9 +578,19 @@ struct mlx5_rdma_write_wqe { #define MLX5_OPC_MOD_MMO_DECOMP 0x3u #define MLX5_OPC_MOD_MMO_DMA 0x1u +#define WQE_GGA_DECOMP_DEFLATE 0x0u +#define WQE_GGA_DECOMP_LZ4 0x2u + +#define MLX5_GGA_DECOMP_LZ4_BLOCK_WITHOUT_CHECKSUM 0x1u +#define MLX5_GGA_DECOMP_LZ4_BLOCK_WITH_CHECKSUM 0x2u + #define WQE_GGA_COMP_WIN_SIZE_OFFSET 12u #define WQE_GGA_COMP_BLOCK_SIZE_OFFSET 16u #define WQE_GGA_COMP_DYNAMIC_SIZE_OFFSET 20u +#define WQE_GGA_DECOMP_PARAMS_OFFSET 20u +#define WQE_GGA_DECOMP_TYPE_OFFSET 8u +#define WQE_GGA_DECOMP_BLOCK_INDEPENDENT_OFFSET 22u + #define MLX5_GGA_COMP_WIN_SIZE_UNITS 1024u #define MLX5_GGA_COMP_WIN_SIZE_MAX (32u * MLX5_GGA_COMP_WIN_SIZE_UNITS) #define MLX5_GGA_COMP_LOG_BLOCK_SIZE_MAX 15u @@ -599,7 +609,7 @@ struct mlx5_gga_wqe { uint32_t opcode; uint32_t sq_ds; uint32_t flags; - uint32_t gga_ctrl1; /* ws 12-15, bs 16-19, dyns 20-23. */ + uint32_t gga_ctrl1; uint32_t gga_ctrl2; uint32_t opaque_lkey; uint64_t opaque_vaddr; @@ -1434,7 +1444,9 @@ struct mlx5_ifc_cmd_hca_cap_bits { u8 log_dma_mmo_size[0x5]; u8 reserved_at_70[0x3]; u8 log_compress_mmo_size[0x5]; - u8 reserved_at_78[0x3]; + u8 decompress_lz4_data_only_v2[0x1]; + u8 decompress_lz4_no_checksum_v2[0x1]; + u8 decompress_lz4_checksum_v2[0x1]; u8 log_decompress_mmo_size[0x5]; u8 log_max_srq_sz[0x8]; u8 log_max_qp_sz[0x8]; From patchwork Thu Feb 2 16:25:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 122976 X-Patchwork-Delegate: gakhil@marvell.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 2EEEA41BAE; Thu, 2 Feb 2023 17:26:38 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5206843018; Thu, 2 Feb 2023 17:26:09 +0100 (CET) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2062.outbound.protection.outlook.com [40.107.223.62]) by mails.dpdk.org (Postfix) with ESMTP id 10A5842FFC for ; Thu, 2 Feb 2023 17:26:08 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WPe+dFlBQmUJBLa2uwym0jTBpatazKkUlJQG4JO8YN3Pok3Wbt/hJs9WG2yuE24i4dzDj/yP+l0pHn6terRD/Y/kp18M4XcpETSaBettkgZcxG0Hcl+lRKcnjJcSmGApAHdGK06Gjb/WeX8kl1EyHv3OxZMyP4gdOD4CtCKAG8Es/+OUVBynvxjw0Kchl0PX+Ke4tgxl6OqJUc5cgMZ1EWf8HZcBgZuMpTvG6E45cUv9x1K9KZQ7GUP8RLL+5hyGivITlAQ5nVwqfW8gPGQx4qLUoXnWZ/ewZ+nL2OwR/gMvV1Wi4SWqL31KCq1WueNgJBS6xVUaiXVv2phFjH/wAg== 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=6+dAILEV0MIAIyJd/biHr4387MeojNi/feJbLqT903c=; b=NpzWJeKAMbax/xZp3YZrPw6+PMxJCaZ3TvPvjWaTQfTZ9A55MbB9UMRcmQcqQrZ/gYfn55q4PBuxItfE6trfiQ9RpWmdfM5vSVyxI423t2jS0icSRWgWp0leeZzvk3IJnPx8GcNxJbZer2z9cQb6n17HF05HFRDSzbvy87c7aEoVfIcNEODil1jx+iGBDOxNyZhSwVDeuganD6QOF76M8tkx1s1BKdT/RmsW5GTdXe15gWjS2tJSZXeN4bnI+RBedxiQtIAQhB2DhDdBBM9ESOZU0gUoC634s4vHP+SHV2Uz78UrtqaKS1jZMBRs0e1deqWgCo+Cm+Zb3TPQRY5i2Q== 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=6+dAILEV0MIAIyJd/biHr4387MeojNi/feJbLqT903c=; b=G9oDOiEeon5SM3IzJpRjzlXdBZ3SREcn5YVRwlQf3URCSC4nLN8zfHmarYfLh5FtI6NGzSMCJYb9WiXfKOBPaLIK9tKhzZZBI95q4g2b/rA5CyrWskHViutrMTkYI2vElNYHdu3MH9MstNVrRY+/P0EH2P3g9yOJFgvwJgqFqoip4LhY2pzemqzO/kb8yjMgPwtuYJaKbG0wmBCx/WuViqqsBK4LNAvHYrkM1pWeOgj+lpfFPKm5DZsUDO2d7yfCwahPw2cOeqSLXUW1l8FPbr1SIsC4P4/nboik92sMfXnnWMYYFzcyoA5VnLMUuB5rI7suoWB2Wvoh8Onjc0PSdw== Received: from DS7PR05CA0107.namprd05.prod.outlook.com (2603:10b6:8:56::25) by MW3PR12MB4363.namprd12.prod.outlook.com (2603:10b6:303:56::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.25; Thu, 2 Feb 2023 16:26:06 +0000 Received: from DM6NAM11FT078.eop-nam11.prod.protection.outlook.com (2603:10b6:8:56:cafe::c9) by DS7PR05CA0107.outlook.office365.com (2603:10b6:8:56::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6086.7 via Frontend Transport; Thu, 2 Feb 2023 16:26:05 +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 DM6NAM11FT078.mail.protection.outlook.com (10.13.173.183) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.27 via Frontend Transport; Thu, 2 Feb 2023 16:26:05 +0000 Received: from rnnvmail205.nvidia.com (10.129.68.10) 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.36; Thu, 2 Feb 2023 08:26:00 -0800 Received: from rnnvmail205.nvidia.com (10.129.68.10) by rnnvmail205.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Thu, 2 Feb 2023 08:26:00 -0800 Received: from nvidia.com (10.127.8.13) by mail.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36 via Frontend Transport; Thu, 2 Feb 2023 08:25:58 -0800 From: Michael Baum To: CC: Matan Azrad , Akhil Goyal , "Thomas Monjalon" Subject: [PATCH v2 8/8] compress/mlx5: add support for LZ4 algorithm Date: Thu, 2 Feb 2023 18:25:37 +0200 Message-ID: <20230202162537.1067595-9-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230202162537.1067595-1-michaelba@nvidia.com> References: <20230109075838.2508039-1-michaelba@nvidia.com> <20230202162537.1067595-1-michaelba@nvidia.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT078:EE_|MW3PR12MB4363:EE_ X-MS-Office365-Filtering-Correlation-Id: 712ad54c-827e-4bed-61c7-08db053a2f19 X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Hs2Cj7UoFwAaVi3Vw48hNhaPYfxmr2ynWg8hWjNd9zWcnc8ekllumTPQWDgkZBkTbriLs93TYnl1EBK98RHK00MdqwMusalTIMmiCWkOJ9M+kU7ucBDVhOgstx8pskPuBItgjhuXfrSI1hY42WNfiRZVUIN96SH3/lmkMdct1nwEKcVPxnReEMr+G22lqx0s8ezWnIJ1zybfNpQSdnJE2fDEEpfYJ6dtV7+KWWIvLjSpyGQ1xgLOpPO0rWJzNTwB4jSYXhdm84aHfUStTxkGsyflLGHOLoiKFhKNU8f+BuVwyrn9+1F83hXUFPi2WeedsrqIuuy/dd2U/GOBjSBuNX9OOG2nK7eiGdb2KM5D0DrqTOB6mcsuggH5RS4NVJEKFbhfXyKLPMAwLHUjHoFFSs3PRiyfDsyafZnM7MlRYo7dg04GHDhbWvIrtEqcLvDlnwOEr6WeTTOgsVtNe7785qEWJrN2ysdOIiNV1N9/01PMDoTD681IRhFmo945tuIRmcK2nEooEM8/wSzl5h24tIwvG6KCXPA8TUw6qDiR1yTIrJRj9/5j/Mdj0CMsXpDuJTeSA0rrTGZwA7UVs4/PC3U28QHBLVXUJT9fhpGQxohXduRN3huH2qABum6skSa4hdN3+N4rQiEGiYpj10HNtsic5IbCzISLXqYk9DTA292FP/3ZuOicanS3k9zgkM2FAsyyc+0rj+BTOGi21MdmoA== 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:(13230025)(4636009)(376002)(346002)(396003)(136003)(39860400002)(451199018)(36840700001)(40470700004)(46966006)(83380400001)(82310400005)(426003)(2906002)(336012)(2616005)(40460700003)(6286002)(7696005)(26005)(8936002)(30864003)(36860700001)(316002)(7636003)(36756003)(1076003)(6666004)(186003)(47076005)(5660300002)(82740400003)(86362001)(40480700001)(478600001)(41300700001)(356005)(70206006)(54906003)(55016003)(6916009)(8676002)(70586007)(4326008); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2023 16:26:05.7929 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 712ad54c-827e-4bed-61c7-08db053a2f19 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: DM6NAM11FT078.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4363 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 Add support for decompress LZ4 algorithm for mlx5 PMD. Signed-off-by: Michael Baum --- doc/guides/compressdevs/features/mlx5.ini | 18 ++- doc/guides/compressdevs/mlx5.rst | 49 ++++++- doc/guides/rel_notes/release_23_03.rst | 4 + drivers/compress/mlx5/mlx5_compress.c | 150 ++++++++++++++++++---- 4 files changed, 180 insertions(+), 41 deletions(-) diff --git a/doc/guides/compressdevs/features/mlx5.ini b/doc/guides/compressdevs/features/mlx5.ini index 891ce47936..28b050144a 100644 --- a/doc/guides/compressdevs/features/mlx5.ini +++ b/doc/guides/compressdevs/features/mlx5.ini @@ -4,10 +4,14 @@ ; Supported features of 'MLX5' compression driver. ; [Features] -HW Accelerated = Y -Deflate = Y -Adler32 = Y -Crc32 = Y -Adler32&Crc32 = Y -Fixed = Y -Dynamic = Y +HW Accelerated = Y +Deflate = Y +LZ4 = Y +Adler32 = Y +Crc32 = Y +Adler32&Crc32 = Y +xxHash32 = Y +Fixed = Y +Dynamic = Y +LZ4 Block Checksum = Y +LZ4 Block Independence = Y diff --git a/doc/guides/compressdevs/mlx5.rst b/doc/guides/compressdevs/mlx5.rst index 37839a59e3..c834025732 100644 --- a/doc/guides/compressdevs/mlx5.rst +++ b/doc/guides/compressdevs/mlx5.rst @@ -14,8 +14,8 @@ NVIDIA MLX5 Compress Driver that are now NVIDIA trademarks. The mlx5 compress driver library -(**librte_compress_mlx5**) provides support for **NVIDIA BlueField-2** -families of 25/50/100/200 Gb/s adapters. +(**librte_compress_mlx5**) provides support for **NVIDIA BlueField-2** and +**NVIDIA BlueField-3** families of 25/50/100/200 Gb/s adapters. Design ------ @@ -39,11 +39,27 @@ Features Compress mlx5 PMD has support for: -Compression/Decompression algorithm: +- Compression +- Decompression +- DMA -* DEFLATE. +Algorithms +---------- -NULL algorithm for DMA operations. +NULL algorithm +~~~~~~~~~~~~~~ + +NULL algorithm is the way to perform DMA operations. +It works through either compress or decompress operation. + +Shareable transformation. + +Checksum generation: + +* CRC32, Adler32 and combined checksum. + +DEFLATE algorithm +~~~~~~~~~~~~~~~~~ Huffman code type: @@ -60,11 +76,31 @@ Checksum generation: * CRC32, Adler32 and combined checksum. +LZ4 algorithm +~~~~~~~~~~~~~ + +Support for flags: + +* ``RTE_COMP_LZ4_FLAG_BLOCK_CHECKSUM`` +* ``RTE_COMP_LZ4_FLAG_BLOCK_INDEPENDENCE`` + +Window size support: + +1KB, 2KB, 4KB, 8KB, 16KB and 32KB. + +Shareable transformation. + +Checksum generation: + +* xxHash-32 checksum. + Limitations ----------- * Scatter-Gather, SHA and Stateful are not supported. * Non-compressed block is not supported in compress (supported in decompress). +* Compress operation is not supported by BlueField-3. +* LZ4 algorithm is not supported by BlueField-2. Driver options -------------- @@ -75,7 +111,7 @@ for an additional list of options shared with other mlx5 drivers. - ``log-block-size`` parameter [int] Log of the Huffman block size in the Deflate algorithm. - Values from [4-15]; value x means block size is 2^x. + Values from [4-15]; value x means block size is 2\ :sup:`x`. The default value is 15. @@ -83,6 +119,7 @@ Supported NICs -------------- * NVIDIA\ |reg| BlueField-2 SmartNIC +* NVIDIA\ |reg| BlueField-3 SmartNIC Prerequisites ------------- diff --git a/doc/guides/rel_notes/release_23_03.rst b/doc/guides/rel_notes/release_23_03.rst index aedc5767ff..3d97a4611d 100644 --- a/doc/guides/rel_notes/release_23_03.rst +++ b/doc/guides/rel_notes/release_23_03.rst @@ -86,6 +86,10 @@ New Features * Added support for ``RTE_COMP_CHECKSUM_XXHASH32``. * Added support for ``lz4`` in test-compress-perf algo options. +* **Updated NVIDIA mlx5 compress PMD.** + + * Added LZ4 algorithm support for decompress operation. + * **Allowed test single compress operation in test-compress-perf.** Enable the application options for testing only compress and only decompress. diff --git a/drivers/compress/mlx5/mlx5_compress.c b/drivers/compress/mlx5/mlx5_compress.c index 7841f57b9c..e33b58ab54 100644 --- a/drivers/compress/mlx5/mlx5_compress.c +++ b/drivers/compress/mlx5/mlx5_compress.c @@ -24,6 +24,7 @@ #define MLX5_COMPRESS_DRIVER_NAME mlx5_compress #define MLX5_COMPRESS_MAX_QPS 1024 #define MLX5_COMP_MAX_WIN_SIZE_CONF 6u +#define MLX5_COMP_NUM_SUP_ALGO 4 struct mlx5_compress_devarg_params { uint32_t log_block_sz; @@ -43,6 +44,7 @@ struct mlx5_compress_priv { struct mlx5_common_device *cdev; /* Backend mlx5 device. */ struct mlx5_uar uar; struct rte_compressdev_config dev_config; + struct rte_compressdev_capabilities caps[MLX5_COMP_NUM_SUP_ALGO]; LIST_HEAD(xform_list, mlx5_compress_xform) xform_list; rte_spinlock_t xform_sl; uint32_t log_block_sz; @@ -70,36 +72,16 @@ static pthread_mutex_t priv_list_lock = PTHREAD_MUTEX_INITIALIZER; int mlx5_compress_logtype; -static const struct rte_compressdev_capabilities mlx5_caps[] = { - { - .algo = RTE_COMP_ALGO_NULL, - .comp_feature_flags = RTE_COMP_FF_ADLER32_CHECKSUM | - RTE_COMP_FF_CRC32_CHECKSUM | - RTE_COMP_FF_CRC32_ADLER32_CHECKSUM | - RTE_COMP_FF_SHAREABLE_PRIV_XFORM, - }, - { - .algo = RTE_COMP_ALGO_DEFLATE, - .comp_feature_flags = RTE_COMP_FF_ADLER32_CHECKSUM | - RTE_COMP_FF_CRC32_CHECKSUM | - RTE_COMP_FF_CRC32_ADLER32_CHECKSUM | - RTE_COMP_FF_SHAREABLE_PRIV_XFORM | - RTE_COMP_FF_HUFFMAN_FIXED | - RTE_COMP_FF_HUFFMAN_DYNAMIC, - .window_size = {.min = 10, .max = 15, .increment = 1}, - }, - RTE_COMP_END_OF_CAPABILITIES_LIST() -}; - static void mlx5_compress_dev_info_get(struct rte_compressdev *dev, struct rte_compressdev_info *info) { - RTE_SET_USED(dev); - if (info != NULL) { + if (dev != NULL && info != NULL) { + struct mlx5_compress_priv *priv = dev->data->dev_private; + info->max_nb_queue_pairs = MLX5_COMPRESS_MAX_QPS; info->feature_flags = RTE_COMPDEV_FF_HW_ACCELERATED; - info->capabilities = mlx5_caps; + info->capabilities = priv->caps; } } @@ -236,6 +218,8 @@ mlx5_compress_qp_setup(struct rte_compressdev *dev, uint16_t qp_id, qp_attr.num_of_receive_wqes = 0; qp_attr.num_of_send_wqbbs = RTE_BIT32(log_ops_n); qp_attr.mmo = attr->mmo_compress_qp_en || attr->mmo_dma_qp_en || + attr->decomp_lz4_checksum_en || + attr->decomp_lz4_no_checksum_en || attr->decomp_deflate_v1_en || attr->decomp_deflate_v2_en; ret = mlx5_devx_qp_create(priv->cdev->ctx, &qp->qp, qp_attr.num_of_send_wqbbs * @@ -280,7 +264,11 @@ mlx5_compress_xform_validate(const struct rte_comp_xform *xform, return -ENOTSUP; } else if (!attr->mmo_compress_qp_en && !attr->mmo_compress_sq_en) { - DRV_LOG(ERR, "Not enough capabilities to support compress operation, maybe old FW/OFED version?"); + DRV_LOG(ERR, "Not enough capabilities to support compress operation."); + return -ENOTSUP; + } + if (xform->compress.algo == RTE_COMP_ALGO_LZ4) { + DRV_LOG(ERR, "LZ4 compression is not supported."); return -ENOTSUP; } if (xform->compress.level == RTE_COMP_LEVEL_NONE) { @@ -291,6 +279,10 @@ mlx5_compress_xform_validate(const struct rte_comp_xform *xform, DRV_LOG(ERR, "SHA is not supported."); return -ENOTSUP; } + if (xform->compress.chksum == RTE_COMP_CHECKSUM_XXHASH32) { + DRV_LOG(ERR, "xxHash32 checksum isn't supported in compress operation."); + return -ENOTSUP; + } break; case RTE_COMP_DECOMPRESS: switch (xform->decompress.algo) { @@ -307,6 +299,37 @@ mlx5_compress_xform_validate(const struct rte_comp_xform *xform, DRV_LOG(ERR, "Not enough capabilities to support decompress DEFLATE algorithm, maybe old FW/OFED version?"); return -ENOTSUP; } + if (xform->decompress.chksum == + RTE_COMP_CHECKSUM_XXHASH32) { + DRV_LOG(ERR, "DEFLATE algorithm doesn't support xxHash32 checksum."); + return -ENOTSUP; + } + break; + case RTE_COMP_ALGO_LZ4: + if (!attr->decomp_lz4_no_checksum_en && + !attr->decomp_lz4_checksum_en) { + DRV_LOG(ERR, "Not enough capabilities to support decompress LZ4 algorithm, maybe old FW/OFED version?"); + return -ENOTSUP; + } + if (xform->decompress.lz4.flags & + RTE_COMP_LZ4_FLAG_BLOCK_CHECKSUM) { + if (!attr->decomp_lz4_checksum_en) { + DRV_LOG(ERR, "Not enough capabilities to support decompress LZ4 block with checksum param, maybe old FW/OFED version?"); + return -ENOTSUP; + } + } else { + if (!attr->decomp_lz4_no_checksum_en) { + DRV_LOG(ERR, "Not enough capabilities to support decompress LZ4 block without checksum param, maybe old FW/OFED version?"); + return -ENOTSUP; + } + } + if (xform->decompress.chksum != + RTE_COMP_CHECKSUM_XXHASH32 && + xform->decompress.chksum != + RTE_COMP_CHECKSUM_NONE) { + DRV_LOG(ERR, "LZ4 algorithm supports only xxHash32 checksum."); + return -ENOTSUP; + } break; default: DRV_LOG(ERR, "Algorithm %u is not supported.", @@ -383,6 +406,27 @@ mlx5_compress_xform_create(struct rte_compressdev *dev, case RTE_COMP_ALGO_DEFLATE: xfrm->opcode += MLX5_OPC_MOD_MMO_DECOMP << WQE_CSEG_OPC_MOD_OFFSET; + xfrm->gga_ctrl1 += WQE_GGA_DECOMP_DEFLATE << + WQE_GGA_DECOMP_TYPE_OFFSET; + break; + case RTE_COMP_ALGO_LZ4: + xfrm->opcode += MLX5_OPC_MOD_MMO_DECOMP << + WQE_CSEG_OPC_MOD_OFFSET; + xfrm->gga_ctrl1 += WQE_GGA_DECOMP_LZ4 << + WQE_GGA_DECOMP_TYPE_OFFSET; + if (xform->decompress.lz4.flags & + RTE_COMP_LZ4_FLAG_BLOCK_CHECKSUM) + xfrm->gga_ctrl1 += + MLX5_GGA_DECOMP_LZ4_BLOCK_WITH_CHECKSUM << + WQE_GGA_DECOMP_PARAMS_OFFSET; + else + xfrm->gga_ctrl1 += + MLX5_GGA_DECOMP_LZ4_BLOCK_WITHOUT_CHECKSUM + << WQE_GGA_DECOMP_PARAMS_OFFSET; + if (xform->decompress.lz4.flags & + RTE_COMP_LZ4_FLAG_BLOCK_INDEPENDENCE) + xfrm->gga_ctrl1 += 1u << + WQE_GGA_DECOMP_BLOCK_INDEPENDENT_OFFSET; break; default: goto err; @@ -390,7 +434,7 @@ mlx5_compress_xform_create(struct rte_compressdev *dev, xfrm->csum_type = xform->decompress.chksum; break; default: - DRV_LOG(ERR, "Algorithm %u is not supported.", xform->type); + DRV_LOG(ERR, "Operation %u is not supported.", xform->type); goto err; } DRV_LOG(DEBUG, "New xform: gga ctrl1 = 0x%08X opcode = 0x%08X csum " @@ -657,6 +701,10 @@ mlx5_compress_dequeue_burst(void *queue_pair, struct rte_comp_op **ops, ((uint64_t)rte_be_to_cpu_32 (opaq[idx].data[crc32_idx + 1]) << 32); break; + case RTE_COMP_CHECKSUM_XXHASH32: + op->output_chksum = (uint64_t)rte_be_to_cpu_32 + (opaq[idx].v2.xxh32); + break; default: break; } @@ -720,6 +768,49 @@ mlx5_compress_handle_devargs(struct mlx5_kvargs_ctrl *mkvlist, return 0; } +static void +mlx5_compress_fill_caps(struct mlx5_compress_priv *priv, + const struct mlx5_hca_attr *attr) +{ + struct rte_compressdev_capabilities caps[] = { + { + .algo = RTE_COMP_ALGO_NULL, + .comp_feature_flags = RTE_COMP_FF_ADLER32_CHECKSUM | + RTE_COMP_FF_CRC32_CHECKSUM | + RTE_COMP_FF_CRC32_ADLER32_CHECKSUM | + RTE_COMP_FF_SHAREABLE_PRIV_XFORM, + }, + { + .algo = RTE_COMP_ALGO_DEFLATE, + .comp_feature_flags = RTE_COMP_FF_ADLER32_CHECKSUM | + RTE_COMP_FF_CRC32_CHECKSUM | + RTE_COMP_FF_CRC32_ADLER32_CHECKSUM | + RTE_COMP_FF_SHAREABLE_PRIV_XFORM | + RTE_COMP_FF_HUFFMAN_FIXED | + RTE_COMP_FF_HUFFMAN_DYNAMIC, + .window_size = {.min = 10, .max = 15, .increment = 1}, + }, + { + .algo = RTE_COMP_ALGO_LZ4, + .comp_feature_flags = RTE_COMP_FF_XXHASH32_CHECKSUM | + RTE_COMP_FF_SHAREABLE_PRIV_XFORM | + RTE_COMP_FF_LZ4_BLOCK_INDEPENDENCE, + .window_size = {.min = 1, .max = 15, .increment = 1}, + }, + RTE_COMP_END_OF_CAPABILITIES_LIST() + }; + priv->caps[0] = caps[0]; + priv->caps[1] = caps[1]; + if (attr->decomp_lz4_checksum_en || attr->decomp_lz4_no_checksum_en) { + priv->caps[2] = caps[2]; + if (attr->decomp_lz4_checksum_en) + priv->caps[2].comp_feature_flags |= + RTE_COMP_FF_LZ4_BLOCK_WITH_CHECKSUM; + priv->caps[3] = caps[3]; + } else + priv->caps[2] = caps[3]; +} + static int mlx5_compress_dev_probe(struct mlx5_common_device *cdev, struct mlx5_kvargs_ctrl *mkvlist) @@ -740,7 +831,8 @@ mlx5_compress_dev_probe(struct mlx5_common_device *cdev, rte_errno = ENOTSUP; return -rte_errno; } - if (!attr->decomp_deflate_v1_en && !attr->decomp_deflate_v2_en && + if (!attr->decomp_lz4_checksum_en && !attr->decomp_lz4_no_checksum_en && + !attr->decomp_deflate_v1_en && !attr->decomp_deflate_v2_en && !attr->mmo_decompress_sq_en && !attr->mmo_compress_qp_en && !attr->mmo_compress_sq_en && !attr->mmo_dma_qp_en && !attr->mmo_dma_sq_en) { @@ -763,7 +855,8 @@ mlx5_compress_dev_probe(struct mlx5_common_device *cdev, compressdev->feature_flags = RTE_COMPDEV_FF_HW_ACCELERATED; priv = compressdev->data->dev_private; priv->log_block_sz = devarg_prms.log_block_sz; - if (attr->decomp_deflate_v2_en) + if (attr->decomp_deflate_v2_en || attr->decomp_lz4_checksum_en || + attr->decomp_lz4_no_checksum_en) crc32_opaq_offset = offsetof(union mlx5_gga_compress_opaque, v2.crc32); else @@ -773,6 +866,7 @@ mlx5_compress_dev_probe(struct mlx5_common_device *cdev, priv->crc32_opaq_offs = crc32_opaq_offset / 4; priv->cdev = cdev; priv->compressdev = compressdev; + mlx5_compress_fill_caps(priv, attr); if (mlx5_devx_uar_prepare(cdev, &priv->uar) != 0) { rte_compressdev_pmd_destroy(priv->compressdev); return -1;