From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 81A08C83F1A for ; Thu, 10 Jul 2025 07:05:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Type: Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date :Subject:CC:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=4ETVyAEu+mCnw7Aoo8sghtHkONxhtFSL8TYuVFAPM7A=; b=tTR28X4yvNMDqv9Ib6sJKPkk4y qGE2+HTfG8ZEt9Pd9XJlHLRiP3xeHYXlUM22UeEreAAan6xRSkduJRH8jSgxC9dyG6W9zcMs3oACT eOyggErFBPEAeRTjTJHOsjYrfQTqGosm1sAbcFt/e4rF46/WOCRrmTj4CdkNEVwCw4WQ5Fm6WsfN9 DBYnpiRvOEl9GxbQj7wwZJH3DtsFsaC46SaXQ8ifWRibtH7hhOM5tcy81+8biHgfhz46DybIIqy7a y1jHsettOrurEAZqoKhucD2+wfMP1na1ZMo+vj/eBDFFgOiaUt+mfqp8B3mM0o8i9cSK5YsryTfk6 UwfEGvYQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uZlLe-0000000Awok-1lej; Thu, 10 Jul 2025 07:05:38 +0000 Received: from mail-bn7nam10on2062e.outbound.protection.outlook.com ([2a01:111:f403:2009::62e] helo=NAM10-BN7-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uZkL2-0000000AmJ1-27VB for linux-arm-kernel@lists.infradead.org; Thu, 10 Jul 2025 06:00:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lsUPieYuxBC06gqZvAKGGdHQGLUPPNaH5GfNc4oZGBhenX3ETMpYusknvMm8Og4qgZ83w+JXooHuc379CN9dVmpwCdlSyGGWuzzG0dwZLhhH52JJvpVRIrOmmWF2TQWW1C4QW/EbGzkq5gOpVC0gWveAV8lQcyHp9a4YSeA6mWf3Kwn+L1bTa6pwz4DsSSLE0apsDQmffQ3G8pLnxiKyieDUi6yxVgFHisc7uZBaZawe7ENHG4Zj1oSLpR2zUhHZZFPLmv0745XWTJuYpH90rUuUNHTJllU1xK4V/oLsQk4Y50w8HulyGUhq53SUTVZ73GzfL8nUNwDxS5CrVAR/QA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=4ETVyAEu+mCnw7Aoo8sghtHkONxhtFSL8TYuVFAPM7A=; b=gBWMeyS0CBjG30NwjLA7ytf0iBzokFo1jXvpu0rxY7h3d6HWAcBRMiE1GdfrtMNsgQGQ73oIqgE915erHMpL8+JQM2rD2L1u+CIzuiry9a/4OICzDtl+23yaX7N0zmQbOKUGNb1nqhdik9zfcDNOBeovaFSEugGIlnzlAeQwqsWTl8CG7n0kfl8hLGXtOIQxkZmZwqu4On55F02LrVvlCQxIQEEHEyM+n4C4zw3QPsiO6uiqdLpQ+ii8UTxpshBJO5FPcxAk5tGorhemQ8xYWBwsZnz4ACDeTi5Tun8PZnLK4ZFDrSIu+Yfg+WEgS9f7S8VEkSQtv39QMpzR0GvFAg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=amd.com 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 (0) 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=4ETVyAEu+mCnw7Aoo8sghtHkONxhtFSL8TYuVFAPM7A=; b=cquBS8HooGn6/Oqgcj0Htd6/wTSskSbAh/c4U8h59w7CXaDzzLmkYhWw6gY0tnZHnFffVg+goeSmlCjKcDTmQFK/KjpG860bddSe5KpckBvsuk3DGRTZ/AICyUYOrul8LVyiPuioESmW94FXgL7HKZKdirtH4pgn/Hwdntnw/qMbxKe9+JqNI+uTuskARUcV429bticsFcv3qp3PGKmVyKj7prhFh4GTEodOGiTNbeZS2DuqDTQMy+Wyr0ZsCZGTYcDHI4fOa12jsaIgquDDTSmx39UDMjRWwGW6/C8jsFm0a/GUcN94p1Oh82m0UFA95rC+KMPyu8gm9zH43XFN7g== Received: from CH0PR04CA0054.namprd04.prod.outlook.com (2603:10b6:610:77::29) by MW3PR12MB4442.namprd12.prod.outlook.com (2603:10b6:303:55::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.29; Thu, 10 Jul 2025 06:00:52 +0000 Received: from CH2PEPF00000145.namprd02.prod.outlook.com (2603:10b6:610:77:cafe::db) by CH0PR04CA0054.outlook.office365.com (2603:10b6:610:77::29) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8922.22 via Frontend Transport; Thu, 10 Jul 2025 06:00:52 +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 CH2PEPF00000145.mail.protection.outlook.com (10.167.244.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8922.22 via Frontend Transport; Thu, 10 Jul 2025 06:00:52 +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.1544.4; Wed, 9 Jul 2025 23:00:35 -0700 Received: from rnnvmail204.nvidia.com (10.129.68.6) 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.1544.14; Wed, 9 Jul 2025 23:00:33 -0700 Received: from Asurada-Nvidia.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.6) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Wed, 9 Jul 2025 23:00:32 -0700 From: Nicolin Chen To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v9 26/29] iommu/tegra241-cmdqv: Simplify deinit flow in tegra241_cmdqv_remove_vintf() Date: Wed, 9 Jul 2025 22:59:18 -0700 Message-ID: <86c97c8c4ee9ca192e7e7fa3007c10399d792ce6.1752126748.git.nicolinc@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-NV-OnPremToCloud: AnonymousSubmission X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PEPF00000145:EE_|MW3PR12MB4442:EE_ X-MS-Office365-Filtering-Correlation-Id: d353a2ff-9695-4a1b-eaa7-08ddbf772096 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|82310400026|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?ZRwSUotnTciH76fs9h+wzgwFPV7v2ci03AWjV333J+09Tfn0A5sNJhSul3vJ?= =?us-ascii?Q?dS/O5EgKT7XhHAySZZmMup6x9bERqQ3OP5nTmy/1IPoRhiXwkR3g9e1qe1xe?= =?us-ascii?Q?0P0c482ryx5ZKhR4CYxZW9yJ5vD+qLD7Ad+3lZX5FUP5bE+YYyN4XBL4aIxm?= =?us-ascii?Q?YSyipGFYe3Y80ID9g3aGvGy8GSRl6l/Fa60euat9SuxEBmdrJL3ZHoD6cbYr?= =?us-ascii?Q?IcPp6XZa6aXssh0gzx3aOJEfRxiA2h0GNBanfhylLbfOaK53n8HwuYtblp6Y?= =?us-ascii?Q?h/J6xbIaX49/0l642+YXizWF2l+hHJC/aY1zYBp5qwAlebPqYHPS5eVSz65F?= =?us-ascii?Q?sGogzDbz+YTWA5pVeoedEoCyNEgL84sni9dssBnQPPR34AKmgpw9fAQ+8Qwe?= =?us-ascii?Q?DDNlrh47VDwyfU1eRnBZB6yrTyhu/Uz62cyRmTGF7oLPhInTLGCOwaNfDqYq?= =?us-ascii?Q?pZOuKiJ7CR8PGDJM9JQvAIzRQVzpNNhg1bviYrPivgEgFwyBNHwsrIC2ZevN?= =?us-ascii?Q?9y5yZlHbO26Mn2AJ5ZrJHs+6tXcndDhp5nesiUAvVAsIdBtmHDMzc39mSlkc?= =?us-ascii?Q?axS6wifMK6OSORyNZx4DUC/UWhNfsCH9guvSVbyLkUx8bsgyaBCmpIfAGfb9?= =?us-ascii?Q?9pHT35CeBAPeGdCW5JEkFeqfalfkpVlPOwUCesfppYsaD/VDCnZCQjPgao3S?= =?us-ascii?Q?1zAIzCmFQweumt+Mc4qtL/DSzTQljUrgZHc+4KYIhyDsESSmbSWoUcaiuVsv?= =?us-ascii?Q?XMRU340cOQh04D+Vguv8O/TLsZSBYQMQw5MoTyaHWbbdkgc7y7HD3536MNFU?= =?us-ascii?Q?jD/ByhpRhGnuwUZAE0qVi2dVcCtC3LTAKHQ+3QWDak8M+eIxi7ywJN8xKf9l?= =?us-ascii?Q?yDUcZxMcTwfZOevgP22gi31XTyzupsZND0RpXRsgK6sM5MYriYh2Ps3CQu1L?= =?us-ascii?Q?HHA3agLzyYs+Qpq7qVnwoBbYMwmDQeCrsG9xCBwEkj9F8AjMOvucfPWG8zAj?= =?us-ascii?Q?a0qL2ZvVXfHccdvtdrVOsvsGicwGUJiaZirh12U+46snhldIx4bPxNWoarig?= =?us-ascii?Q?I144p1toPNjwsDjyn6+MamlFvaR207DyLx68VKCOqDgqMbYer1lCrFF+yp0b?= =?us-ascii?Q?jUqhlaJy4proAa43SBgAjVsw32+oBe8i2csok4pFGHu8GcczLs0Ab3Zt+w0y?= =?us-ascii?Q?e+tAbqOK5kTNsQp22fYG2i2K6FFfeCicv4D/vEtJTq7su0cWT697/9pwaawI?= =?us-ascii?Q?ga3k7K4sG+F6MvCvvrRF0hdGpvAI5nAtz5lKMI7zgRrA9KoUG75j10Bu8X4S?= =?us-ascii?Q?0JN9yWmw2kPXB00X/ZewuXXWbost1zSXHHcDDUAuN/jskOJLK7B8ia/AIcu3?= =?us-ascii?Q?9zqtwjUoD2FgMs9K9TG94/JsuT5k0chr0P7YqqA0J33SlVtKpemBqWmaZKdw?= =?us-ascii?Q?c8EMKPG8rvyUsxqn78A5drLwD5mO6yxyvXr0QT0mnbll7OK4Q4KuQLpTUVaT?= =?us-ascii?Q?0EnzgKBWh0s/hGPsk/JEgxs5X3AkfFTx5KAK?= 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:(13230040)(36860700013)(82310400026)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2025 06:00:52.3649 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d353a2ff-9695-4a1b-eaa7-08ddbf772096 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: CH2PEPF00000145.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4442 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250709_230056_542448_0FD5AB75 X-CRM114-Status: GOOD ( 10.13 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The current flow of tegra241_cmdqv_remove_vintf() is: 1. For each LVCMDQ, tegra241_vintf_remove_lvcmdq(): a. Disable the LVCMDQ HW b. Release the LVCMDQ SW resource 2. For current VINTF, tegra241_vintf_hw_deinit(): c. Disable all LVCMDQ HWs d. Disable VINTF HW Obviously, the step 1.a and the step 2.c are redundant. Since tegra241_vintf_hw_deinit() disables all of its LVCMDQ HWs, it could simplify the flow in tegra241_cmdqv_remove_vintf() by calling that first: 1. For current VINTF, tegra241_vintf_hw_deinit(): a. Disable all LVCMDQ HWs b. Disable VINTF HW 2. Release all LVCMDQ SW resources Drop tegra241_vintf_remove_lvcmdq(), and move tegra241_vintf_free_lvcmdq() as the new step 2. Acked-by: Pranjal Shrivastava Reviewed-by: Jason Gunthorpe Reviewed-by: Kevin Tian Signed-off-by: Nicolin Chen --- drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c b/drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c index ba029f7d24ce..8d418c131b1b 100644 --- a/drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c +++ b/drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c @@ -628,24 +628,17 @@ static int tegra241_cmdqv_init_vintf(struct tegra241_cmdqv *cmdqv, u16 max_idx, /* Remove Helpers */ -static void tegra241_vintf_remove_lvcmdq(struct tegra241_vintf *vintf, u16 lidx) -{ - tegra241_vcmdq_hw_deinit(vintf->lvcmdqs[lidx]); - tegra241_vintf_free_lvcmdq(vintf, lidx); -} - static void tegra241_cmdqv_remove_vintf(struct tegra241_cmdqv *cmdqv, u16 idx) { struct tegra241_vintf *vintf = cmdqv->vintfs[idx]; u16 lidx; + tegra241_vintf_hw_deinit(vintf); + /* Remove LVCMDQ resources */ for (lidx = 0; lidx < vintf->cmdqv->num_lvcmdqs_per_vintf; lidx++) if (vintf->lvcmdqs[lidx]) - tegra241_vintf_remove_lvcmdq(vintf, lidx); - - /* Remove VINTF resources */ - tegra241_vintf_hw_deinit(vintf); + tegra241_vintf_free_lvcmdq(vintf, lidx); dev_dbg(cmdqv->dev, "VINTF%u: deallocated\n", vintf->idx); tegra241_cmdqv_deinit_vintf(cmdqv, idx); -- 2.43.0