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 D31D7C83F03 for ; Sat, 5 Jul 2025 02:19:09 +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=OihaffBsIDQrsGQxXQjloCXDd9 xHzasqyVS/x/lx2axE5ceqqQ5bQiI1akPcPRmO0B3f/eI2Dz+ZxHqS2akgmiWFbMmMpW5pNY1IEIC SOXDhcGXhHjBOZZfhbdLYCIOBTJeGocfr6DtY1iZhJLb5u2K+SmQ7DIjwa8xFzWRn3cMeJTLiWGFN nLaSkXfRuWG6YF01LWgi3oUFHeD1bN2OzdhpfzvV6DtoIjpE0MoHJifL3NhAccCMDXMh9bRPa3Kxc TrKHMx6GK1hdi7d2rGZN61FpKLMO8RISyuuCuPXaZcym1hirUWl6b5J+qbrnzwRJdzxvVsRqviot1 mMcJatgA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uXsUZ-0000000Fsad-2EOa; Sat, 05 Jul 2025 02:19:03 +0000 Received: from mail-bn7nam10on20615.outbound.protection.outlook.com ([2a01:111:f403:2009::615] helo=NAM10-BN7-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uXrUT-0000000Floq-27YO for linux-arm-kernel@lists.infradead.org; Sat, 05 Jul 2025 01:14:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IKFE4oU4hALvl2MAtmyWe26mzRcnaD1uNFe8n+UgSe0dUx1tI7hyYWvj5D3EWH7gAmOgW6yQNTyIi3uv1QjxMHCM9oRzAgSVncfPFW2mBivoVOG/OUQugNnwhy9DdZ6mN8LbjLnKPVVgQchtVn/u3CNZ6f90FWzJPeJfJWGD3NPmPkgu4oBAJbhkXCXw2XETIlND/2ORHu9bLVqWg4N0u67QzMUbCv/s6pbyEIAeBrV2kmGiDlVhsFj+FIjT22LMFjGWJkW5n7CplHW7UXAj1e4i3Rm4vQv2ATk0PrbDyJ54XUlxi5cvS4kfGX/Pod+nM5UqRb3ps2bzUOv3MO5LGA== 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=sDDPdkmK1HQ60K5+eevYWgdS+DTI9QVQnn6kDa+8bizzwVknehwuM+oR/Se2Rl49Fti80DxZV5FHU48FGBUCl0NHyk2TQzNc02S4bAj9gdMyLvcR/tzyQmeh8cfYV9iBUySM7k5tmMiTX5oOXSweXHWjqB0oODQWR782XQp9T+qqxWTjVGbFxVxVVCTvXahTj1OOKKQlUPFsCz7OEG5j4HKJ5/e4Sx2G8ygCYuXRsj+9k3AHpvFsL3ZKPCh+Twmn7Grxizd0ovcH0Kpzj0AG0pD04ZyLtGoRoBDSoFTVD8/a4EweVggIIxtWrbubstD/ithuH+2vI+aK0DKsHA1zVA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.232) 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=iVA0vD4JpIoAZIVa3xQJt3zILi95LXtG5RzVyEgCR2NDZ83IXMmdNMW1kDV8nphjNxh1sfZe1AKm+jl/yAhofIwB3dwu6nMelz6MibcS/PfjHuTdY4dwHAFmltvGApcUPydktzULByBU0pDq+o2xg6gtTC9DpBDAE1T8BPRDOHrl0NiYicrZI7W+GoNKf8l6uZm5JLFCVikPJmRBjGoNqmFUsqk94JFMca+PCpggVZsUFZXNBmzsCSd7cTJLQK0dgvnu7tsz9C7Cl3aMZA15IA5tj4ApEx+3D5X33YehXbEMXMSYgabCcV4DWuKxZ5MDyWFAI7FCnwHFAP6/+Y/JOQ== Received: from SJ0PR03CA0019.namprd03.prod.outlook.com (2603:10b6:a03:33a::24) by SA1PR12MB8119.namprd12.prod.outlook.com (2603:10b6:806:337::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.22; Sat, 5 Jul 2025 01:14:47 +0000 Received: from CO1PEPF000042AD.namprd03.prod.outlook.com (2603:10b6:a03:33a:cafe::5d) by SJ0PR03CA0019.outlook.office365.com (2603:10b6:a03:33a::24) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.22 via Frontend Transport; Sat, 5 Jul 2025 01:14:46 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.232) 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.118.232 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.232; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.232) by CO1PEPF000042AD.mail.protection.outlook.com (10.167.243.42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.20 via Frontend Transport; Sat, 5 Jul 2025 01:14:46 +0000 Received: from drhqmail203.nvidia.com (10.126.190.182) by mail.nvidia.com (10.127.129.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Fri, 4 Jul 2025 18:14:36 -0700 Received: from drhqmail201.nvidia.com (10.126.190.180) by drhqmail203.nvidia.com (10.126.190.182) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Fri, 4 Jul 2025 18:14:36 -0700 Received: from Asurada-Nvidia.nvidia.com (10.127.8.12) by mail.nvidia.com (10.126.190.180) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Fri, 4 Jul 2025 18:14:34 -0700 From: Nicolin Chen To: , , , CC: , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v8 26/29] iommu/tegra241-cmdqv: Simplify deinit flow in tegra241_cmdqv_remove_vintf() Date: Fri, 4 Jul 2025 18:13:42 -0700 Message-ID: <95460e3eb25002c79308139725d689591d4bd2c6.1751677708.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: CO1PEPF000042AD:EE_|SA1PR12MB8119:EE_ X-MS-Office365-Filtering-Correlation-Id: ce293252-2120-43bc-3e36-08ddbb6154ed X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|376014|7416014|1800799024|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Y/okHwNsaPSX04xkqgDutdWEq91TTaJoOZ+3U4jPXJmhIEBbFKPT0hmIl/Zk?= =?us-ascii?Q?faRvJnaG16xv+siomactThL4i8TqZd1afqPI97L3zvWXWvte79Op1FH4x3Wq?= =?us-ascii?Q?Gg2G5EnIu6y0fpXrksDXk9hTRTb8/p+GuYiHCPPq7KNq3pM5qvRnXBdhFmX+?= =?us-ascii?Q?A0y1E9fVTiowfFm6kg9CRcx3SouDFg6ZjiT3JfkKGJpsxTWCYYnEXRcSd0hV?= =?us-ascii?Q?YG93itgP8n9rFzCOCRs+uMAtT/TVnCb6JbutPB+EUN14FWMA+bgDfkkUuHc5?= =?us-ascii?Q?M/uMc39juu1ifvQwvpTm/tqAOTbMG3LYRQCyy/XT2sl4bkFLww3gXOeapY0/?= =?us-ascii?Q?mTtRHVxB6A5IYfN5lkW9X41PweNF5MAy/CmPRly7r/tutDNhrnT9W2I6k0ut?= =?us-ascii?Q?if/c1M21Wcpi5YlENXqHrYQ2XknL1E7W2eZ+IeB8+qG9RxxkPztJY82Vxrun?= =?us-ascii?Q?leiR+Q1HOvLe4F/QJdzeE3/Zeu4P3Hp9Wdv4TbD+BbdKplgzs5HYxyWSzIUi?= =?us-ascii?Q?3NZPlwUwnCxQbl6JGr7UwtYt7zM8zSw9n1WJlNPhqjaa2czH15kCW3U+7aOf?= =?us-ascii?Q?Pw06CMlQQypwCpPm/p1f6BREKwOMnEdSc08mgZxpkOspj18kzWtdyP+H3WYX?= =?us-ascii?Q?10bpOH0i1paCW7W+Zu2OfP+HCdFQqcvxLQNZRvjYvH9Mkj+/Hz/HZTYMLrW1?= =?us-ascii?Q?VwQpiU09pNm5KQIMJvNTgWaQ/CzTTyrp+eJttjFBPSpFguYcZpnYL6ncUZEh?= =?us-ascii?Q?TSNRaiYfIQJtcwb8RIXigE4XuT7+mZa3RmxDk7To1+KlOTEf4eVBDTJ9HfIB?= =?us-ascii?Q?G9lAC1+H2Xawffciapp5Lh77Qn37YDWwNUQBhGExSqVYzhptkiVKtep/GGYk?= =?us-ascii?Q?bhU6qyJSMVNn+v9sfgevVuRk6JtxEMCN0KS/6awlQYVW2f8c/70Ki0rqjw89?= =?us-ascii?Q?+hno9bUSQpgdh0XVmXW5bpNkubZz28GeurhIZrVUTI7LpTJn/o6DFNTp3sRH?= =?us-ascii?Q?tT1GE2cKmk3an1cfFbcqL5N+3Wd/NNraXn32beiUmPYz5koB7Y6YttqyAI5c?= =?us-ascii?Q?k2cgylj+RsFK6Xcwd+0wHvURpnqJiMU3eH5IeNdQPMj12BCR1JdNsN3m7w2r?= =?us-ascii?Q?VVt/UDhNsWXoGtXl00821RTuUs3DA7IZdGaibmc8iUG0ifWKpoAQ96NoFMK4?= =?us-ascii?Q?aNEwvmHVP7tYhOYBj1Ipxr1dEl4vRhr9Q/D61sukAXpzo0N2H+itaMPdgK/y?= =?us-ascii?Q?fAT0hl70Wrnee9QPnNFdLYslGJKYfIX0vq5Giu/B69UNvqSTpIWCr8XLCA/V?= =?us-ascii?Q?2CBjQGt3bVt0FoUjki8nj4YhaIApOmc0U2hUrVVfeN+bedgMY8vnL7eBwAFB?= =?us-ascii?Q?/0v8rG1qaONl2ANE1+grQ6wJVLVGxsyt2iAmzU3Pf3l2Mu9+lNLU9E9kaMvA?= =?us-ascii?Q?aiHqRXPZqJdHsSDGALrW5TqVKdPxDHtjoF587rfB6XaCf9P6qJS0GnzyKBQo?= =?us-ascii?Q?9gmZRrZiyzt2yIc3oin/mGQksQKysz847wmT?= X-Forefront-Antispam-Report: CIP:216.228.118.232;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge1.nvidia.com;CAT:NONE;SFS:(13230040)(36860700013)(376014)(7416014)(1800799024)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2025 01:14:46.6680 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ce293252-2120-43bc-3e36-08ddbb6154ed X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.232];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF000042AD.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8119 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250704_181453_540182_03D014D1 X-CRM114-Status: UNSURE ( 9.27 ) X-CRM114-Notice: Please train this message. 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