From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5CAF942568; Sun, 10 Sep 2023 16:04:33 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C7200402E4; Sun, 10 Sep 2023 16:04:24 +0200 (CEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2044.outbound.protection.outlook.com [40.107.220.44]) by mails.dpdk.org (Postfix) with ESMTP id 8197F402E4 for ; Sun, 10 Sep 2023 16:04:23 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KQV0urIzPsES94M5ihoKzCyabpWmq2/9zDi1a0ZEKrWUsaxh1G7ovE5ZpioJ2/IbK6dyPPow7nj9G8XavCNoidjK8rd3RsBKrdPFnlTvosaOVpc5Dmh6g6TdT11p0CUJpPpPP0LIV68y/+SQfAYjeQddBRpH0oZiK3cWeY8LJ9REndMLt2IU85ltgcGRfHAwONXmmzvjkW8DZ5fp3oSktSteLqyDTPsJTgxiNkS9Hvt7dX/Hz5tDVMKdAEHv3P/r4lsJ+onGFoSiEu+5t5mEyxgRn1I+2W2xEUagRw5Htvrfw8hwhVLi+U+mzWUbbXOIzCGrUioc21i147BCzOcNMA== 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=AXv7CE240c0EI4Ija9jSt2iUIYFxJiuXhx+tM2QDMGc=; b=ZH9FJyFfTfYmQrazHC9CfAOoW3bCp44/nCN0WEg1wT9V9ciChhMVuN9KZFGz6j0kgxsPxKkZI2wtgyxKWlhRqjE1VwAF9K6SUOPhSbNz/moH2zqvCQ7sLNCKsY2URfBp9dVMDw2oXDeJomsMA584hGfC8EhHWCKO4jqiCLtf5qMtVidsras9/RZuxXArmy8RxnZIXjPkJ+NldDBhj9JU/Y11RNR6yo8sifDzY4A7SgBF9TJzbwaFHtpdFHRcZsfZ4uS3YGwG8ERf8m4MbuzQrFnZhhns/3T8BevUBobV1XKY/eHmbgm1TZZyefmY6/r0vt2yoxIK1k/70HQQCMwdkQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=monjalon.net 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=AXv7CE240c0EI4Ija9jSt2iUIYFxJiuXhx+tM2QDMGc=; b=i8V8RdrYKWol3+akaiXMW2KFB0TKfbqKL++rgRgpYqZ6d7KQEjsPswtXrh0tsEwzxeQCO1IIQwjoSYgkmjoUHTDyWXbzmR4q4TVNW8FGGLxPV3UaNzqx7R8NqmcKPhdxPv84yuzOgeUkL3x2sT6gildCc+OcKfKTuYQjY9TOMcSJpcsjq8cyKRV9WTdv1Prv8cjfBHKPLBxlN17obefBERABpuJ6hznEiLUFazhXzz6vd0ujhPkiTbi3VQ55VI5gPzBvKs1o81fd3ldbr08AZ1Gf2HyGgtqd5kptiCmFpLdjwcmlkzFZBuPRULQxA3cT6mYa2AsV5toDLX9g+d5kmg== Received: from DM6PR02CA0076.namprd02.prod.outlook.com (2603:10b6:5:1f4::17) by SJ2PR12MB8134.namprd12.prod.outlook.com (2603:10b6:a03:4fa::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6768.31; Sun, 10 Sep 2023 14:04:21 +0000 Received: from CY4PEPF0000EE38.namprd03.prod.outlook.com (2603:10b6:5:1f4:cafe::7f) by DM6PR02CA0076.outlook.office365.com (2603:10b6:5:1f4::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6768.34 via Frontend Transport; Sun, 10 Sep 2023 14:04:21 +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 CY4PEPF0000EE38.mail.protection.outlook.com (10.167.242.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.11 via Frontend Transport; Sun, 10 Sep 2023 14:04:20 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) 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.5; Sun, 10 Sep 2023 07:04:10 -0700 Received: from nvidia.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.37; Sun, 10 Sep 2023 07:04:07 -0700 From: Erez Shitrit To: , , , "Matan Azrad" , Viacheslav Ovsiienko , "Ori Kam" CC: Subject: [PATCH 3/4] net/mlx5/hws: print syndrome value on error Date: Sun, 10 Sep 2023 17:03:18 +0300 Message-ID: <20230910140319.3064208-3-erezsh@nvidia.com> X-Mailer: git-send-email 2.18.2 In-Reply-To: <20230910140319.3064208-1-erezsh@nvidia.com> References: <20230910140319.3064208-1-erezsh@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE38:EE_|SJ2PR12MB8134:EE_ X-MS-Office365-Filtering-Correlation-Id: c055db28-ba84-4f6c-fb98-08dbb206d49d 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: E7/3OVyPXr2fCW7zn+NMmGwtpF5E5slqjOjXopqne0IkvVoUtf9Yvj9+Wi2luLMKwgZbORDVclkSmNu+NTveEkFyxVqMlslF9w8vo3Q4lWgkyhPf532VZir4m0okwcGHgrTGXMegKo2wqmeHwCP9G0K/Uc4LfhI4WTr+3V6MP72DCcJISEVxiKcews1w1vuY9zkprn9eJld/vCFm1daybYeSd3BXbhovrLyzHXx1aFe6eyPCpnPGXTUjnkhwc0y4RgQXPKz9m205yHp0xef93QWePGKdXMwPudzyRMv3qLwSHO70eS++EJwJOHgFPnem4lKjgHqL/LJH6oiHvHPAWrC3/rVYImbSc7JzUpTb8ohuzKe41CzD4tKvACdNEeV7hiEKpKKxvLCmH+06PLzZ7ZyCO/SjgR+To2n2NSDXu4+VXmWZ8/FhqaHJp6CR8ADCOEsDEvu/l307hqU3eDr4+z6lfImn+05afeGM0wZjJEjhJKj6J2XBWd/5e3C5yVvy24yD2FjFf3nCUyxAS8aDl5idpmiCN2rb00FdmOx6/hZnnhwiSrb3KkIU4N4mY/xxFQbwZHS9RPFVXh6vXwOB8AUyLGob7dHRaYYXFgBVINjlJlOX+agi5fqENC2aHK9+2WKIYTIXKLNTaMht64rP1SgB4ZO+61JRYJximn7h8NnCx/gDTib957pakKH6L/f4mZ7zRZEcnfN6qp6c978nbo7pTfMdwfh77yB3Arx7R1moLjIkz6WNSZkIlcacPleh 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:(13230031)(4636009)(376002)(346002)(396003)(39860400002)(136003)(186009)(1800799009)(82310400011)(451199024)(46966006)(36840700001)(40470700004)(6666004)(7696005)(83380400001)(41300700001)(478600001)(26005)(426003)(2616005)(1076003)(6286002)(16526019)(336012)(2906002)(316002)(6636002)(4326008)(70586007)(5660300002)(110136005)(8676002)(8936002)(86362001)(40460700003)(47076005)(40480700001)(55016003)(36860700001)(36756003)(82740400003)(70206006)(356005)(7636003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Sep 2023 14:04:20.8322 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c055db28-ba84-4f6c-fb98-08dbb206d49d 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: CY4PEPF0000EE38.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8134 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 Print the syndrome of failure of FW command. Signed-off-by: Erez Shitrit Reviewed-by: Alex Vesker Acked-by: Matan Azrad --- drivers/net/mlx5/hws/mlx5dr_cmd.c | 48 ++++++++++++++++++++++--------- 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/drivers/net/mlx5/hws/mlx5dr_cmd.c b/drivers/net/mlx5/hws/mlx5dr_cmd.c index f9f220cc6a..7771aeb8cf 100644 --- a/drivers/net/mlx5/hws/mlx5dr_cmd.c +++ b/drivers/net/mlx5/hws/mlx5dr_cmd.c @@ -4,6 +4,12 @@ #include "mlx5dr_internal.h" +static uint32_t mlx5dr_cmd_get_syndrome(uint32_t *out) +{ + /* Assumption: syndrome is always the second u32 */ + return be32toh(out[1]); +} + int mlx5dr_cmd_destroy_obj(struct mlx5dr_devx_obj *devx_obj) { int ret; @@ -39,7 +45,8 @@ mlx5dr_cmd_flow_table_create(struct ibv_context *ctx, devx_obj->obj = mlx5_glue->devx_obj_create(ctx, in, sizeof(in), out, sizeof(out)); if (!devx_obj->obj) { - DR_LOG(ERR, "Failed to create FT"); + DR_LOG(ERR, "Failed to create FT (syndrome: %#x)", + mlx5dr_cmd_get_syndrome(out)); simple_free(devx_obj); rte_errno = errno; return NULL; @@ -73,7 +80,8 @@ mlx5dr_cmd_flow_table_modify(struct mlx5dr_devx_obj *devx_obj, ret = mlx5_glue->devx_obj_modify(devx_obj->obj, in, sizeof(in), out, sizeof(out)); if (ret) { - DR_LOG(ERR, "Failed to modify FT"); + DR_LOG(ERR, "Failed to modify FT (syndrome: %#x)", + mlx5dr_cmd_get_syndrome(out)); rte_errno = errno; } @@ -96,7 +104,8 @@ mlx5dr_cmd_flow_table_query(struct mlx5dr_devx_obj *devx_obj, ret = mlx5_glue->devx_obj_query(devx_obj->obj, in, sizeof(in), out, sizeof(out)); if (ret) { - DR_LOG(ERR, "Failed to query FT"); + DR_LOG(ERR, "Failed to query FT (syndrome: %#x)", + mlx5dr_cmd_get_syndrome(out)); rte_errno = errno; return ret; } @@ -129,7 +138,8 @@ mlx5dr_cmd_flow_group_create(struct ibv_context *ctx, devx_obj->obj = mlx5_glue->devx_obj_create(ctx, in, sizeof(in), out, sizeof(out)); if (!devx_obj->obj) { - DR_LOG(ERR, "Failed to create Flow group"); + DR_LOG(ERR, "Failed to create Flow group(syndrome: %#x)", + mlx5dr_cmd_get_syndrome(out)); simple_free(devx_obj); rte_errno = errno; return NULL; @@ -182,7 +192,8 @@ mlx5dr_cmd_set_fte(struct ibv_context *ctx, devx_obj->obj = mlx5_glue->devx_obj_create(ctx, in, sizeof(in), out, sizeof(out)); if (!devx_obj->obj) { - DR_LOG(ERR, "Failed to create FTE"); + DR_LOG(ERR, "Failed to create FTE (syndrome: %#x)", + mlx5dr_cmd_get_syndrome(out)); rte_errno = errno; goto free_devx; } @@ -325,7 +336,8 @@ mlx5dr_cmd_rtc_create(struct ibv_context *ctx, devx_obj->obj = mlx5_glue->devx_obj_create(ctx, in, sizeof(in), out, sizeof(out)); if (!devx_obj->obj) { - DR_LOG(ERR, "Failed to create RTC"); + DR_LOG(ERR, "Failed to create RTC (syndrome: %#x)", + mlx5dr_cmd_get_syndrome(out)); simple_free(devx_obj); rte_errno = errno; return NULL; @@ -365,7 +377,8 @@ mlx5dr_cmd_stc_create(struct ibv_context *ctx, devx_obj->obj = mlx5_glue->devx_obj_create(ctx, in, sizeof(in), out, sizeof(out)); if (!devx_obj->obj) { - DR_LOG(ERR, "Failed to create STC"); + DR_LOG(ERR, "Failed to create STC (syndrome: %#x)", + mlx5dr_cmd_get_syndrome(out)); simple_free(devx_obj); rte_errno = errno; return NULL; @@ -505,7 +518,8 @@ mlx5dr_cmd_stc_modify(struct mlx5dr_devx_obj *devx_obj, ret = mlx5_glue->devx_obj_modify(devx_obj->obj, in, sizeof(in), out, sizeof(out)); if (ret) { - DR_LOG(ERR, "Failed to modify STC FW action_type %d", stc_attr->action_type); + DR_LOG(ERR, "Failed to modify STC FW action_type %d (syndrome: %#x)", + stc_attr->action_type, mlx5dr_cmd_get_syndrome(out)); rte_errno = errno; } @@ -542,7 +556,8 @@ mlx5dr_cmd_arg_create(struct ibv_context *ctx, devx_obj->obj = mlx5_glue->devx_obj_create(ctx, in, sizeof(in), out, sizeof(out)); if (!devx_obj->obj) { - DR_LOG(ERR, "Failed to create ARG"); + DR_LOG(ERR, "Failed to create ARG (syndrome: %#x)", + mlx5dr_cmd_get_syndrome(out)); simple_free(devx_obj); rte_errno = errno; return NULL; @@ -606,7 +621,8 @@ mlx5dr_cmd_header_modify_pattern_create(struct ibv_context *ctx, devx_obj->obj = mlx5_glue->devx_obj_create(ctx, in, sizeof(in), out, sizeof(out)); if (!devx_obj->obj) { - DR_LOG(ERR, "Failed to create header_modify_pattern"); + DR_LOG(ERR, "Failed to create header_modify_pattern (syndrome: %#x)", + mlx5dr_cmd_get_syndrome(out)); rte_errno = errno; goto free_obj; } @@ -649,7 +665,8 @@ mlx5dr_cmd_ste_create(struct ibv_context *ctx, devx_obj->obj = mlx5_glue->devx_obj_create(ctx, in, sizeof(in), out, sizeof(out)); if (!devx_obj->obj) { - DR_LOG(ERR, "Failed to create STE"); + DR_LOG(ERR, "Failed to create STE (syndrome: %#x)", + mlx5dr_cmd_get_syndrome(out)); simple_free(devx_obj); rte_errno = errno; return NULL; @@ -708,7 +725,8 @@ mlx5dr_cmd_definer_create(struct ibv_context *ctx, devx_obj->obj = mlx5_glue->devx_obj_create(ctx, in, sizeof(in), out, sizeof(out)); if (!devx_obj->obj) { - DR_LOG(ERR, "Failed to create Definer"); + DR_LOG(ERR, "Failed to create Definer (syndrome: %#x)", + mlx5dr_cmd_get_syndrome(out)); simple_free(devx_obj); rte_errno = errno; return NULL; @@ -775,7 +793,8 @@ int mlx5dr_cmd_sq_modify_rdy(struct mlx5dr_devx_obj *devx_obj) ret = mlx5_glue->devx_obj_modify(devx_obj->obj, in, sizeof(in), out, sizeof(out)); if (ret) { - DR_LOG(ERR, "Failed to modify SQ"); + DR_LOG(ERR, "Failed to modify SQ (syndrome: %#x)", + mlx5dr_cmd_get_syndrome(out)); rte_errno = errno; } @@ -843,7 +862,8 @@ mlx5dr_cmd_alias_obj_create(struct ibv_context *ctx, devx_obj->obj = mlx5_glue->devx_obj_create(ctx, in, sizeof(in), out, sizeof(out)); if (!devx_obj->obj) { - DR_LOG(ERR, "Failed to create ALIAS OBJ"); + DR_LOG(ERR, "Failed to create ALIAS OBJ (syndrome: %#x)", + mlx5dr_cmd_get_syndrome(out)); simple_free(devx_obj); rte_errno = errno; return NULL; -- 2.18.2