From patchwork Wed Sep 28 05:25:10 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gagandeep Singh X-Patchwork-Id: 117031 X-Patchwork-Delegate: ferruh.yigit@amd.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 1D752A00C2; Wed, 28 Sep 2022 07:26:44 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A16BC42B88; Wed, 28 Sep 2022 07:25:58 +0200 (CEST) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60081.outbound.protection.outlook.com [40.107.6.81]) by mails.dpdk.org (Postfix) with ESMTP id E12B6427EE for ; Wed, 28 Sep 2022 07:25:55 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e1cxaMTwo5dKr6Pvu7N4DD0tDd9N1xW3OURmgNyeZD3rKVhofW9L7CIDcy3B2NkPALjPhqHVCAGkrOW6bv9RI6VqLUVctWDSaiY+EV0IevtCf17iA+aIQm8h4aDeYFg9vOnNm57KKocgr78+t7NeLPk4I7g01PS1nureKefr1V7nWSQBpt7UTdtR/mWJkxjuxpG7wGl3Lf7xUi55vrTOgfQ/hrrAalzdMIw0pGoDlfFTAqw8t9PLHziAI0DkOIEv5jaQm0fzINKOczx2eMPz4AnrPIcSUEXtKBxYM92bg40b9sJZDpqOK+mBCDNHVVVQB3qxbdl+cR8MJABS4R1Gxw== 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=f0GCYo7RXbC9woyz6IDGHYCw4mK8kzliZCYcAgJx1/E=; b=EB7LoTUaYSaAv9FWa1LyhBU9YZF5iXgPQOuva8CPn2OALYxQOtnpQATDgIwrWXL/CI5/SXv1ymuU0qQKFuCIPup+NYoyOBFia3Psha1nVpyT2O+id6Fitu46L+Y1QGpOBZJGlbKo+deLrz5fTOoLqqSUDr89pt1Ua7cWBFvzDtEHFjrDws+5US170RORHbOmEMxMLY+4gsEnF7/DhwtO1exi/hDWo+bAsrbqNXHttWsO4dUMBki0BurLAfeoOtorulVI/xrcUnWF8iDKJwQMhfH7ajyy6pDadc8o3gbPHpA5rzHNgKd5UDR5o1O2OPd+yuMdAfY0vwFKjhf7VeqgaA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=f0GCYo7RXbC9woyz6IDGHYCw4mK8kzliZCYcAgJx1/E=; b=Vco+6Ibq1WyiQ/M0oQRD96xHZz6WrEHyYTVkCujJOIsq0jxb2ZxQCDcYUqN5NKN96WZfTIJWFCRw6PVfOgV0MnRDmq+e0m5Q7kMqzKFwb4HeP7Xk7HAcGfWO9+eHl7EYmkZt64r2A67wVI2XRSvb6G3+LsSSnT/bMMbypkyqZpY= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS8PR04MB8198.eurprd04.prod.outlook.com (2603:10a6:20b:3b0::14) by PA4PR04MB7504.eurprd04.prod.outlook.com (2603:10a6:102:e6::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.25; Wed, 28 Sep 2022 05:25:54 +0000 Received: from AS8PR04MB8198.eurprd04.prod.outlook.com ([fe80::14d0:4458:d6ec:b8b1]) by AS8PR04MB8198.eurprd04.prod.outlook.com ([fe80::14d0:4458:d6ec:b8b1%7]) with mapi id 15.20.5676.017; Wed, 28 Sep 2022 05:25:53 +0000 From: Gagandeep Singh To: ferruh.yigit@amd.com, dev@dpdk.org Cc: Rohit Raj Subject: [PATCH 09/15] bus/fslmc: add timeout in MC send command API Date: Wed, 28 Sep 2022 10:55:10 +0530 Message-Id: <20220928052516.1279442-10-g.singh@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220928052516.1279442-1-g.singh@nxp.com> References: <20220928052516.1279442-1-g.singh@nxp.com> X-ClientProxiedBy: SGBP274CA0015.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b0::27) To AS8PR04MB8198.eurprd04.prod.outlook.com (2603:10a6:20b:3b0::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8198:EE_|PA4PR04MB7504:EE_ X-MS-Office365-Filtering-Correlation-Id: fd68f8ac-44e8-49c4-e69a-08daa111e984 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0udTobBUxSOnfYl4+eoioY+2iW3zMRa9RgDLjyDDC80MXKOVwdZugHhl7HeyP//3OOmhFEp0VFPLuyR+pZ9QhWD4L+4Qcw/3t4t9NpJeM+lrM7fS0BNCYOnq3XM/xwhhT4v/AjtSz8zWwqgGDMicCo2meigkQmqKnBKAU+oSS46SFXzBfM0TJb3UbVDcZA3UdXgyaj/m7alxfXQ45YF7NaKZvnOmBkiFCXoytUC5a+yI9NsxCUoxHle8nycct5H2fw25v6w1DqJ+Wb9+XAorlNRP73PRaJUArwmeXAu83jUGkkgkFciCZH7CNC9OPeOMh1xNk18mSwZiikBBCZuFflR2g0dOD5xLAjy4fTsEJ+rcgKP3iR7U1lVSUmAB+h8dlCja+vuLu4NkarkJAY/Qw/UM1P7u7i6JEvLluBHTe/3imhERYnaQbObF5RCgW9lcVh6u+EGB6TpAhMqnRwSIBWoWHRQjeQS4LMUNKPxqiAYLK1f0HTxQQY1w6Ya6c54Mk3yTlN5R/2H0FlbTedan6j3+fxzwLQ6D8RVhcss6B4AxTnLX92Qx2LeLVhb73ssmrq0ZCfSa2oDl6gtxIuviz080gX/4xWO1HNRp+j2AqmVtcFshRpFSrX0CVa1WEjEFyWcvNwPNlIkDjPhHbB6K7sObSZSjOv0+ZBMyCaQDJ+6CBy1J3cAvet6embKUETR3HT5fgj8JT9PF1xw+DfbRmBBCEvUWaslumRD2Ff4bJgBVNBxLYnLMmvE8YmkBzOAV4iYmA0DrvMQPtiV7t4C69w== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8PR04MB8198.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(346002)(366004)(376002)(396003)(136003)(39860400002)(451199015)(1076003)(186003)(2616005)(8676002)(83380400001)(38350700002)(8936002)(6506007)(38100700002)(26005)(86362001)(6512007)(6666004)(2906002)(5660300002)(52116002)(478600001)(66556008)(66476007)(66946007)(316002)(36756003)(41300700001)(4326008)(6486002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: VMRKlBs13lgTZKW/JnNCeD/1CNsasEQxsEwRIYfGAcKzpi6iNs6qfvUamZ+/mMeOJutjlrTEo8d5i6cQLQJ1ofInxsp+ZgCxEOF7SdyUQ8Py79RWnPJwOGSG8tSbsq3W8wd++CAr3if7pnJTJIBtdLEy0QqJ8weYk1GyLU6bt0booo4h5Nojm3vLrluVanAQjR8AENLJ/B6xae8N1JzENpFClFmEx3Gda3M9oP3fLxa2M4rh34EmK2STRu/fc2ZGXV40/PpzzAjNRdKnHrNgM7IAvzgDfPPVlVuD/rPisfVOX2aLPusGEAzf4uuXn2ooEffpinsYMpcsYSSxEKgtf3ZEzPHN+UYbhqY9Oqmbf9/xa/EbuNJsT5uVgCuW5hREnNaFSVcnGpmpmlcpWPp1yPqu/NtB6k0Jm7I6XfK/7nhL1ZVDaDQWqB9nIX7dfDg8sXuEerF7pA83Ytje3+uEKEhOE5/IJAEwvfGZ6SOpYdlo24uI8pQVvEuKDxvEv31qQo5ISy0gx06nwNfqA/3b0aOgmOLYsoz/3eoGyMG8dCRpQl4Qwd7dGJ5Kq4SB2Uz7iDvYXy1zN4Aa9zoVSmOZzlG7sEdHttC8GHPeU69IlMtd1DWHb3Fznx7gmRnSyaS+I1rsa4DfQexgmI1vyWJsDkZZxehab33nfQ9NCYGbUaKQYW42zenitUqVZ+oTwCZpJ731XyIOKlmtRQcZJ4EMF5S56GhHXviBTbblLJikyxlJxp2De/f7mmH0UsY7z0Ao4XkBvkJkc7FcQbrY58xmq7Y4Ihofsf7jm8IhIAdcy4f7h8hiM1BdAHgMtNU9l4C8kd7ZStiQaIF02f2vnnTW1sEowucOpYvFs1Q0Heeewld6QXqvdmOe1snojz8XPMzSk25EJtRIDgYPNKjJms23QjV7Fnv8176Zm7Y87kiydcprhswtgWx8mpApA0s+Lv9I1Y7g4/uArYk6N6MwLBeAGk5PtBB5UfkLbRKqAIFtJLozX4c3F4e5wBFiXhu7bAbneU7vIn9eCCsCVyXiNwj0NvOZMvXqKj0zrOqXXvZ8UakrqkK6TovCU0QIAg/gbjcToKglRj52NpRYwD6GU5gl5izPG3/wi1LrkuhB5bckNcmpYsbeb+Bqp6xgjxIN89Gt1oVixD64vtgJX1Fsjrqw2GlrTH1lo9nidGWKlJoRziqFCCD5feHUv3Af9621DQ6/aRkRz1Ut1W0NldzqkfV9y05bEsOWmllDtFO+mx10PK3G8bJgiPpP8AZ2EXjBIUtik4N3UPP0jz9nLs4SkTRciQPHBlam80K97+v5Ha4jaoHwjz48B1eADTzTZ7Kl2OGMmBFydXLz1KwC15n7syuv9BOuVGACTHu2sDNtE4w/Wn5kzkApp/9wR7H3rE1i+2oV0rOytN4EUGKe1h/uge7Se37PoBLPKur0C6vadu6wsXWq5XmbQCrb2yERaSUQAsPHQ26XolF4c+M9Ot/1qzLaN3Pr4zaWf1EYCEpbnKlOpMKCm2JFMD+RMQV3mKXv3Da8RR7pry9jcjnR4LqBbd1NeDGZl/Gggqese+oGJxoX8dukbSKh79Pq1xSQ41hZqjT6 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: fd68f8ac-44e8-49c4-e69a-08daa111e984 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8198.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Sep 2022 05:25:53.2838 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: DoJ3ZtmLErM15Illf2njN3xlpXSzy1XZHOBzhfeSG3sqzeiZ5eDWKrOYemHT4h+O X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7504 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 From: Rohit Raj Adding one second timeout in MC send command API to ensure it doesn't gets stuck in case of failure. Signed-off-by: Rohit Raj --- drivers/bus/fslmc/mc/mc_sys.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/drivers/bus/fslmc/mc/mc_sys.c b/drivers/bus/fslmc/mc/mc_sys.c index efafdc3101..ab9a074835 100644 --- a/drivers/bus/fslmc/mc/mc_sys.c +++ b/drivers/bus/fslmc/mc/mc_sys.c @@ -1,13 +1,14 @@ /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0) * * Copyright 2013-2015 Freescale Semiconductor Inc. - * Copyright 2017 NXP + * Copyright 2017,2022 NXP * */ #include #include #include +#include /** User space framework uses MC Portal in shared mode. Following change * introduces lock in MC FLIB @@ -54,7 +55,7 @@ static int mc_status_to_error(enum mc_cmd_status status) int mc_send_command(struct fsl_mc_io *mc_io, struct mc_command *cmd) { enum mc_cmd_status status; - uint64_t response; + uint64_t response, start_time, total_time, time_to_wait; if (!mc_io || !mc_io->regs) return -EACCES; @@ -64,15 +65,20 @@ int mc_send_command(struct fsl_mc_io *mc_io, struct mc_command *cmd) mc_write_command(mc_io->regs, cmd); + /* Wait for one second. rte_get_timer_hz() returns frequency of CPU */ + time_to_wait = rte_get_timer_hz(); + total_time = 0; + start_time = rte_get_timer_cycles(); + /* Spin until status changes */ do { response = ioread64(mc_io->regs); status = mc_cmd_read_status((struct mc_command *)&response); + total_time = rte_get_timer_cycles() - start_time; + } while (status == MC_CMD_STATUS_READY && total_time <= time_to_wait); - /* --- Call wait function here to prevent blocking --- - * Change the loop condition accordingly to exit on timeout. - */ - } while (status == MC_CMD_STATUS_READY); + if (status == MC_CMD_STATUS_READY) + return mc_status_to_error(MC_CMD_STATUS_TIMEOUT); /* Read the response back into the command buffer */ mc_read_response(mc_io->regs, cmd);