From nobody Sun Feb 8 13:27:56 2026 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2043.outbound.protection.outlook.com [40.107.20.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D027117BB6 for ; Sun, 24 Mar 2024 12:20:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.43 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711282856; cv=fail; b=FJsjNrCm/N5RwF+kH4yjZDAGKiHPRJ2FdMr67BnbWoULoSV6bX7aS6+4fw+qNJad/ohTce1EOPl8HJqm5PthVMZvSl7R/hTkQzcuIGjV23c3J9hyYy+FElVvn6Dfp9KD5dvwqKVDkdO4MWt2wv1+tnx2Avdi27nXSPXpYHkrpGw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711282856; c=relaxed/simple; bh=HjUdViZkXBbjVp2mpk6+DXghHax2mAjMFtiSbRX18OA=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=JvuqccAIjhUFJnS3+hKX8dANO2ovVQ8LqhicuB5HCLaRoXUp6UsVB9hhxnfmmwkJQ6rcLkWq7neeJn2nhizb0F2EUO4TINFqinTMaw3ROGc9ETaS2g5fDKIrH3RfUO5dQ1boxe3lEAH1efK+NBjAegwkgGeKaQcSkQ7hWq3EoOM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (1024-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=QF/pYych; arc=fail smtp.client-ip=40.107.20.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="QF/pYych" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hDOlp35AzeiFy19SKvkufR7udgqDgl8UEbDz3wx170GRiSFM36RlS52j1P90reQOL4JDTGDw/SB92GOfc5nW0435K74NRFfql5U39jLyZGpPNLC6bYq6Ucd4h5XXhRlN2vhNzq+zcAbGnavO3zdjHDBUYtRhRwTJO+8zb8c20H7ymCoVqtQE7MV+rat2WU8VYAnLoU/LOSnIgefYteQ1edvyctPU0IFPEVzb0NqvVKa7PNN4I172NzIqCarMiKlbtqqSl9k53ijgd1rvNLxMfrfsExPrrcY3UaMqQyh5UWP5kOllgcApwJzhnFv8SAYEB8sWqXgsCPs3RgCGkVDFGg== 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=eWUwpvRdGYCbTQ05mtW1+fJhbr7iX8XIT4j6BO/zlBo=; b=FiA7wFyY6U3XeJ8PSkTzA4c9maSRm2kUlGWfF9GcG3nL9xADIOfA0O/VaHKL8zvuyBXyp6sR6GFVmkDcpjSEkcQVIqkVNX+ePY+2mNUIyYGqc5Tl/cBF+XmUAwZ+xSw4oaZlP4oph8A+uOn4/6QfcJiE0yGrui8j7wDIV3cSlpHC0CZFo05ov0r3smiOY9P5Mqrr9wp3u+6NIv80yyWznIJrGNy6rwYv+Em2bIfMWANzTKUE+FsK58D9ThtkUbYbKfdlcYOucIg+UcTTfapOa+zcJgfTXu1EghU7DqHzkyCUIq30ByasGdi7bIaLl7OX2oCiklAKN/M4mhpLAz2Ubw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eWUwpvRdGYCbTQ05mtW1+fJhbr7iX8XIT4j6BO/zlBo=; b=QF/pYychNBHzYZPGI04RDa/1/si8qQekkxmM2i5Us50Q8WO4H2DNV46ANBjNjDjDBWHndzplfX4ZdKBfp4iHTV9Q9xK1BLmyHM5vH65pukvCFla69cN0nz+1aJdE8NlNswgAHVC/a0cMWvPg8AfW0W/jlUln2N74cD9BMEXFEqA= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) by GVXPR04MB9901.eurprd04.prod.outlook.com (2603:10a6:150:113::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.30; Sun, 24 Mar 2024 12:20:50 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d%4]) with mapi id 15.20.7386.037; Sun, 24 Mar 2024 12:20:50 +0000 From: "Peng Fan (OSS)" Date: Sun, 24 Mar 2024 20:28:58 +0800 Subject: [PATCH 1/3] iommu/arm-smmu-v3: save bypass in smmu device structure Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20240324-smmu-v3-v1-1-11bc96e156a5@nxp.com> References: <20240324-smmu-v3-v1-0-11bc96e156a5@nxp.com> In-Reply-To: <20240324-smmu-v3-v1-0-11bc96e156a5@nxp.com> To: Will Deacon , Robin Murphy , Joerg Roedel , Thomas Gleixner , Marc Zyngier Cc: Bixuan Cui , linux-arm-kernel@lists.infradead.org, iommu@lists.linux.dev, linux-kernel@vger.kernel.org, Peng Fan X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1711283345; l=2466; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=J39T/x6ksIZycb9izGpKSZJk900zTRqTi3UlHlbNKMA=; b=FXwmzpUlEcqcqb3b81GkB7JiZ8q1e2dNd0NH4VvaEmA223U+lJv8QeeGfZ4t5UZAO8XFHFIBJ zhceHUMlvJeCkYMAWUrcIz/dPamU6LbqZB6EBuRh8fKXTLE4vmjeRxk X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SI2PR01CA0017.apcprd01.prod.exchangelabs.com (2603:1096:4:191::19) To DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR04MB9417:EE_|GVXPR04MB9901:EE_ X-MS-Office365-Filtering-Correlation-Id: 16573211-9a32-4ffa-3b8e-08dc4bfcd802 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 66kgUotgW3Bi09kAgdEfoNUcpn06q0ATX23ued8yNrdW4KLDHxm6Kyi5TeWa0MmEnMsEPZl/bLH5pram3fr3gMGeXIr+TO/LvK5gK8e5pV2LrfF3SKvF0AEWSsRU/J4fATo8Tr35gBvmcQJk1iBhDJfHwPeM2jZ7uxRYEHM7qbPZzmro3NCAWkY3NaODGVUUWd40wXaSWXfXa2VjK9/nRMNp1e4Hj0zBMyfp90TT9wHWCeLDodDhdz4AEfKQO6Vg3bZeRnrL78gjy5xtdC06neG4zorA7EouYPGEP8TI8qHzZrja248zvJeskxIHeJCrwJfEU+GS7Yhah65hi8eInWxtkU/Q9OmWHFvsFAJ6GW9yTuwDsf5dNLXY6+usnf9AigAYVQzhcjnuZOc6EePxtkB9/S9eBIBb3YNxzYEKbhCAnIHFWs4ltehpMhhCBWGacouW+TJ1Z+uDyMsKNPcE947faYj+pC5oz6mrMklhrDXtGNJA01UXONXvXUGnQYnkr32DM0XDPCltkERwihVobXtbMAlZHgxupQVQPT4M+xBDPGvu7N/eqxsLImKwg0SAu977/f0UIUQJEakwds/dYvLHfKOOrJpzASA6M9srq8GGo8+yaaq22rRNYa9ylC2neh0kgP2IoZ3OEmPqMAjnBWtnrVsFj/WTRe+Sz6cfFa8pdVzZoyyftpZol/igYV+3DiUGQ/SOIq8OPaNa62+0hx4rw3/nD6NVAezwJgc0G1o= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9417.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(52116005)(1800799015)(376005)(366007)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RUxBd2U3RlhyUmswd3Q2cXQ5dmhuVStnVzViMmR6VzY3VFZIbUhPKzVXaXVO?= =?utf-8?B?NlZXb1A4ZmF2SUVtREdmYzg4SVEvNjltSVBXakNXc05vK2I4dFBVZnc2MVFi?= =?utf-8?B?T0JXL1Q3azNGYnRIbnNUYjBnRTUrbW53bitQSk1ORFAxRGZEWk4rZ1Y3cFdO?= =?utf-8?B?ZThxNTRxd1NxS2t5SUtHYWQrQ0VlVUdBdEVtVmlrYlQ3aDBRK01IeldZZ0J6?= =?utf-8?B?YmxrdGJKOFBYUk5MZHlsaklEampySWVMTjBFQkVEYUk1dFBLY1cxaVF2Qi9K?= =?utf-8?B?L2RoQU1zZEZadTBrUHdDcTE0OXBNQis5MjdvRExDa1AvYjR5anlMM1llRGxt?= =?utf-8?B?SUhjUlV2VW92ZnVPcmpuQ29hZ0RqZkhPNW9CYUlwczBGZGlwT3hKT1gyV0cv?= =?utf-8?B?SmtBd0dla21SMEhOS2tyUlIvdzBxcTRyMEV6R1RhLzhkUUI4VlpMazV5Umdw?= =?utf-8?B?a3dSMmswU1VIVW9ETmNrM0Y4dENKem1EOHZTUE5vRjdsRFlUbmpKK0Y2ZWhC?= =?utf-8?B?NEJVeFd2ZDBMcjZUQVMvMk12NHVKNFp2UWQ3ZVhTUjl0N0hydng4MHJQNTA1?= =?utf-8?B?NVdSdnJ4cWZlU2Z2Zk1mek42cTNMeXZjdzFBWFdBVDlRODYva0I4dC9KUzhz?= =?utf-8?B?TklxUVNWeFVFWFM3dk1yM3dBQkZCWlNDN3Qzc1M2ZjR1VFY1SmpRV00xd2pL?= =?utf-8?B?QXlzeWtxNHJSTzNzRkVWVjZxMW9TcUcrUWRHaEFudndNTCtKSVRYeUZmQkJG?= =?utf-8?B?QmFldXdPS2JtWDV1NFV3b0M0cXBQYU1hZ3hqYzJyeGhQRGZ0S2VIb3hUNG4y?= =?utf-8?B?UWphUWJyUG81M3NmVm90d0Jib25KaDFXVStIY2dUcjduVHJ1eVR2RFBwL2sy?= =?utf-8?B?OVpXSmRKbGc0ajNWR09SVkVOSUlPL0QwVm4vUU45MlhCSER5UldxTVpob2xR?= =?utf-8?B?bytXK3ovMEVGclZEdWhnZ1lJY3dVeFgxQlBZc3pjeXJnbEIzSDF4dWtmeHll?= =?utf-8?B?OWRRZDRrNlU3RHdSY0V4ZldjZnlUTjNQZXNCcVA0aEJ5MlpMc1YyaFhDWjg4?= =?utf-8?B?WVFNRFhmbmJIOG1udHp5aXMyemlKRENQenUwa0JYNHRHNFNtU3EvN0pCNWI1?= =?utf-8?B?bFNYWFF5R2Y5emRZRGpwMkFTQzNvSmtBbFJ2RlJFT3ZVZ2RzS1A5OEF4Z091?= =?utf-8?B?aHZtYVJXR2JrZG8wUGJ6YmFjSWh4c0NRWXcrRHlsdUxWb1ozYjd6TkxzSXBT?= =?utf-8?B?WlY2Ui9MdnkyWjRtamUzby95Q2oyNGtuczEycExNUlhlWWovcE55eG1jbTlZ?= =?utf-8?B?RyttT2MyZXNLTy9lTTB4bjI1dS9Nb2NyeGx4TmQ4MERZc2czY1dpSi9xdDhI?= =?utf-8?B?WWlyK294V1hEbVE0SGNqMHlEZ0I5RWR6Z2lwNVU1eDJiVmdnOGRFSmpOUXhQ?= =?utf-8?B?NWlZMkdaZ0U3c0tKYU40bllvb2pHRC8zeDlhT2JTNlZrMndMd2dLSVpEaFZa?= =?utf-8?B?dklPNnVsbnppbzdTQjZYaHZYVm9jWE1tK3ZlV2hZbDc4MitscGdVejVnODNW?= =?utf-8?B?dmF2OXdYUHh3ZXE0MjdFQXNSNFdqRXY1L0x6QzNoUEdtQkNIbVJ4WjBUZE5n?= =?utf-8?B?MFd4SHdJWDlKdGRVZlprblA2UmNyTmNEZEZUSXArWjdQYmRDT213dVRjbFpC?= =?utf-8?B?YTB2d3Q3d3lWKzI1VGVlUU4yTWttaXl3YnRIYkhIRENMUk5UbjJ0c2E2ZjJK?= =?utf-8?B?b3RON2lMUjAydmdVcjlZTmtUQ2Y2eVYwRzhYQkptT0tLWWRzV2l5c1I5UGE3?= =?utf-8?B?a1dQUkQ3S1VKUkRFdEt4VzlYRGRJaWtoam9YOVk2TlJHWGJLNWQ3ZVN4cTdr?= =?utf-8?B?cW56U2VQSkN1b3NPSC9aZW9oYk8waktlQ0l4bENlQTRmWUpvMFV6RUZwTzkw?= =?utf-8?B?NytjQnNvU1E0WmE1Z29ZeFVFWTg0YTBERHBOTGhPaU9hb2FEMkk3djFZRlhS?= =?utf-8?B?dk1iY2NZaFB0V1hiTE5CbE1RVnJUdWJuZWNZazl4L0ZTcTJZYmFmUUlBRGF0?= =?utf-8?B?NDFSK2h3U21VNnltbnIzZ0J3eXVYZkhSVU5mRG5WV3FwajI3WlpKVDArT2xX?= =?utf-8?Q?L9k+yvTY4VjXoMeXcgFkiU/8/?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 16573211-9a32-4ffa-3b8e-08dc4bfcd802 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2024 12:20:50.8729 (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: 3I0VKA7sFfPj7R7KPzZnw6/hNSqYxOoGkYm/F3GP+FhqEhkAcHn+hk3XuR+R9vdfemAZ44CzOF18eJ5WBMqUwg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9901 From: Peng Fan 'bypass' will be used in smmu resume function, so need to save its value for future usage. Signed-off-by: Peng Fan --- drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 9 ++++----- drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 1 + 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c b/drivers/iommu/ar= m/arm-smmu-v3/arm-smmu-v3.c index 5ed036225e69..a8a569573c2f 100644 --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c @@ -3494,7 +3494,7 @@ static int arm_smmu_device_disable(struct arm_smmu_de= vice *smmu) return ret; } =20 -static int arm_smmu_device_reset(struct arm_smmu_device *smmu, bool bypass) +static int arm_smmu_device_reset(struct arm_smmu_device *smmu) { int ret; u32 reg, enables; @@ -3612,7 +3612,7 @@ static int arm_smmu_device_reset(struct arm_smmu_devi= ce *smmu, bool bypass) enables &=3D ~(CR0_EVTQEN | CR0_PRIQEN); =20 /* Enable the SMMU interface, or ensure bypass */ - if (!bypass || disable_bypass) { + if (!smmu->bypass || disable_bypass) { enables |=3D CR0_SMMUEN; } else { ret =3D arm_smmu_update_gbpa(smmu, 0, GBPA_ABORT); @@ -4007,7 +4007,6 @@ static int arm_smmu_device_probe(struct platform_devi= ce *pdev) resource_size_t ioaddr; struct arm_smmu_device *smmu; struct device *dev =3D &pdev->dev; - bool bypass; =20 smmu =3D devm_kzalloc(dev, sizeof(*smmu), GFP_KERNEL); if (!smmu) @@ -4023,7 +4022,7 @@ static int arm_smmu_device_probe(struct platform_devi= ce *pdev) } =20 /* Set bypass mode according to firmware probing result */ - bypass =3D !!ret; + smmu->bypass =3D !!ret; =20 /* Base address */ res =3D platform_get_resource(pdev, IORESOURCE_MEM, 0); @@ -4087,7 +4086,7 @@ static int arm_smmu_device_probe(struct platform_devi= ce *pdev) arm_smmu_rmr_install_bypass_ste(smmu); =20 /* Reset the device */ - ret =3D arm_smmu_device_reset(smmu, bypass); + ret =3D arm_smmu_device_reset(smmu); if (ret) return ret; =20 diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h b/drivers/iommu/ar= m/arm-smmu-v3/arm-smmu-v3.h index 23baf117e7e4..97064a6aa87c 100644 --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h @@ -683,6 +683,7 @@ struct arm_smmu_device { =20 struct rb_root streams; struct mutex streams_mutex; + bool bypass; }; =20 struct arm_smmu_stream { --=20 2.37.1 From nobody Sun Feb 8 13:27:56 2026 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2043.outbound.protection.outlook.com [40.107.20.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0AC9B17BDD for ; Sun, 24 Mar 2024 12:20:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.43 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711282858; cv=fail; b=LJQdd7wH8K1yHKWuucICiKbgXQ8ATQpJls9Es21zFztE6IUItjG9j6AW5+LYaKqh+LXXi5h/au96RFN4N55dt66p1piSvfiqbKcFNEtY9iU58LHXYzsaCFsp2dU+Zwhdj6RT+knQADCeqMpFP40dWoR3YPZ5x5q6FmkHV09gt0U= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711282858; c=relaxed/simple; bh=A7T1u2T01nG2q/adGcGyZEDt6b3e+M5jdV/3GOO6M04=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=oBDv14dagAYBNY9hgD0VbDavDk4aDt3kUi7YiuXrmky1e6Z8DqOsUyj6FBcx72d0z7o2bEzz9GuwNGnaLXEx994sQoZSKX4iLUmp38MRqzC0vo2/RwBSv0fPStv+98BJlnWeVJ1pWGIIPXsCxUN6uClSNv7RJEnZfcjh9lcHX1Q= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (1024-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=U5ttUKYD; arc=fail smtp.client-ip=40.107.20.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="U5ttUKYD" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=I5L9oSyPkiKvwj+OTtW5qYGsoR0pJMRIYMpaBRKoyFuwW2pF/7WnfQtf0kvTxxX4i8KtKoZ0PaC9RrMzCKuJSj1Fuq9Pe5wMsTXjfRfkOy8dzEujPd3vIhSz2SXCb7QdBo0hS2/apfbkADbT7gA9vS9WQg6DtNYuN2eldJdjsX3gF/qIr7NmXjnOQU3VW0NQJiMfsklJNnRpNJer6ZJ7n4UHSVMbDaDrGKsm902YjUVJGazIXbJgqtL1HGk6LwR8gnpQaTG7Yhkqqnu4dH/TpTWiu2u0ga/GMk2OzWF/lM78TP3XdXzvkiPljAYRFrH5saENH5oPsZvHydtd+31EOw== 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=hOwCuYkFF0fYO9+0nm0XCNTfTQzLrl7RfVsdE3jpL6E=; b=YsWZwxN4NlQTwee+PopFcRIzg1/61zo5jDbcrwtjK2JOoW8qWRvTCKZQEvxCTdgqVplDPqvkAkGPsf184XGWFV8dS3gSOI3AA7asq2doRrSmPV3PNYeCJKq3umV/F1128PXaw2y1vTooVBkKkY+kid42RC+qFi3/Vc9PoygQshhGx4lbaGKrXL4s/vGY+Qod+BLPXmSS507eRfgEZmdJu46/LZ/xqmSRxUR9er3NGWnwqOOBaZaDZnBioYjqrJtgBv3WVxhR14gFonN13ZosMxL/AWhIxGe9d5gRPfus73z1DtzSfQEWoTIi5c3a5ZoGY5z9C+7dQH0ArCagfqGv7w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hOwCuYkFF0fYO9+0nm0XCNTfTQzLrl7RfVsdE3jpL6E=; b=U5ttUKYDyaEIF3E55hAPjAMPGOId5X+6s1jeJDONUyAWyheTXtTy7lGxoXTB8KQfeCdXQyidEEdpefcQDpsMVbUlKlpf911yttpoFLOUCKufNGEpFa3Uhn7frqS3Ko+CK7NJygE0HskoKiRFUcLjd6xo1dkXQpNN7PdicGgIsrk= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) by GVXPR04MB9901.eurprd04.prod.outlook.com (2603:10a6:150:113::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.30; Sun, 24 Mar 2024 12:20:54 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d%4]) with mapi id 15.20.7386.037; Sun, 24 Mar 2024 12:20:54 +0000 From: "Peng Fan (OSS)" Date: Sun, 24 Mar 2024 20:28:59 +0800 Subject: [PATCH 2/3] genirq/msi: cache the last msi msg Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20240324-smmu-v3-v1-2-11bc96e156a5@nxp.com> References: <20240324-smmu-v3-v1-0-11bc96e156a5@nxp.com> In-Reply-To: <20240324-smmu-v3-v1-0-11bc96e156a5@nxp.com> To: Will Deacon , Robin Murphy , Joerg Roedel , Thomas Gleixner , Marc Zyngier Cc: Bixuan Cui , linux-arm-kernel@lists.infradead.org, iommu@lists.linux.dev, linux-kernel@vger.kernel.org, Peng Fan X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1711283345; l=669; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=Z30mdWFv6IBqp2Tk95bfFcpL7OYDH1rSMcqs7FsQUCo=; b=/wUm2gJPn0ot5bNtIIHlM/mCiO9O7bw953Zuap8UfaLYd8V+cxWY8ZrFyc4CvO0yGvPFqlm2Z Wug38brm/g+CFUcoJMS3ekFwldWnHBz2NN4KpUPnqkPdVewjiLdjS2u X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SI2PR01CA0017.apcprd01.prod.exchangelabs.com (2603:1096:4:191::19) To DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR04MB9417:EE_|GVXPR04MB9901:EE_ X-MS-Office365-Filtering-Correlation-Id: cf2eb52b-d023-4e2e-ca2b-08dc4bfcd9f8 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: LvJMpD5XCs1pPYio9ip/73s5KS4LIxdDcs/HvI1uQI+hdxWcqHsEzdzHpE6HIGr9x6qV+fayTDoMrXENpzLqfi71/c4Jz/K9y7JLum1qxQqP+tx52TRups04UCe+ezSUCw3SWnrsgyArjqHiTXmfRiWBG4IR/0GViMyJjlRYt4yorOwAeempDTEShYxC57UV7LYSnjVJ2IbZRyBFR3Pcm4q2fKUfXx8gekUqDzGv5Ey8cxaJOXn0Lbn6ZX7dl3F9sGRgYGE2f0c81lJoUiXJNu2JMrP2cC4+u0s/0uyZsgZfIcpnbiS69IX/MJnLjDWiqB/GUXjM1PLtkbMUawftZbMa0KwnWoxGXs6J88Zgh1WmMAbce6JVou1KuJz12r0f762VEz7hBr0/pov981VCgquoXBq6Y/NFNWH0TdkzzNwb19L4qq03TmXusqcQnsV7LxZqFeLQ2dEavq9X4vFygK0C3MtDlI6Fxs60ieLPBEAk3BdzgdZ01k24IsInRHptwop7wHfKkdZA6sMdknR7NJxyv98JB3kmb16l5bvK/qKNuBSwzmmoG5TxMZENkidVriJrnWiG1FFVAjHKFwfD7XR6U+B5+J6yR66HNAp5P3ndAOlG+20VJPZjg4q+EQgch5k5sOqT11iH6xtkTzFBJmqwTx94NcgENZejF291zwqkSdUgh5EAoO9+8QRjv0ntDQwf8s/r4ZAvDYWWBKnA62PvNdsW4QUVX9SXojSTZbk= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9417.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(52116005)(1800799015)(376005)(366007)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NXdNYndwUHNsUzhQS1lSdDVOTGtNUjVTbHdVUU04dE4vMTlRUWg1UkE4ZlN3?= =?utf-8?B?M1NTRmlnMTFacWp0eUtmSzBLWkFvNS9PTXpQcHpwWElDdkJkQ3FoOXNpaXNk?= =?utf-8?B?azdHN2VpY29QZWhlaHJxZm05cDlBUHRuVGp4OHI1WG9oSWZreTFwMWV5VWhx?= =?utf-8?B?YmVPbG8raXMzU2k1SXNWVEVrT1Z2dUFQWFBQcWtQUDZHb2swOEJ3MmxYMUxr?= =?utf-8?B?MUVsd1BaTGR5am1ZTGxURnlUUFJLeDB0bllrd3FSVmVBdkN3S3d5dS9tTXUy?= =?utf-8?B?SWZYSGxGTVI0MW5VYUE1ZGI1MENraitlQVUwYkQ1dmFrRlBadGxtbVgvd2VD?= =?utf-8?B?b3I3bWhXSHExUjZ4VWxMOWJ5MkpHdlVzYUdENGExWnVyeEt3SEJEbmdtQlBI?= =?utf-8?B?dlk2ZGNEMlRKditwUFQycWowaklhRU44clBMWktJQWVvL1ArUFlDWXFsb3Mv?= =?utf-8?B?R3paS3YzUkZSK0xVekhDZkEzbTZORysxTE12bm5JVS9zWU9PYTZnMFR0QXJN?= =?utf-8?B?TjVMS0pRZ2ltUzZQY2s4a0NoUEJoaDlKK3JLVEVMZGFCTzRjSWVZTmFsOVNZ?= =?utf-8?B?WjFqeTg2WFZ5azBZSnNUbWxBUGUzZGRBaTd2K1JKOXpHeUtxbElkNGdISXRv?= =?utf-8?B?Q2FFcmRHcG5vWW5HMTY1VW9HbkR3MnU4SnZ5Z003TjhJOWFiRUlwYTRYOG9Y?= =?utf-8?B?RENmUFZQT0srYndJckZwVnRQTUhYSit5QmE3WDlpaG5rOXNUQ1oydEtVM3dx?= =?utf-8?B?Ymc5TXRSVnlqeFRxN2F5d0NMVU9yTFpRekZCMnh2dVVBMklENmljUW5IeXJL?= =?utf-8?B?aWFlQnpMSVNwSDNNWW1ISkx5eUhCNXY4RlViS20yT3VYem9zNXRtc04vbVVl?= =?utf-8?B?WFZwMUpsOU5uOElkQTh5Rno0T2UwTC8vVTJ1cUUyaHZkcDE2SDNJVFdab3VI?= =?utf-8?B?YkN3N3ZoUGRRSjNCRjNXVnQxRW9CeU9uc21UdVMvY3NVcklnV25Ybzh4V2R1?= =?utf-8?B?VVdXWVlVS0ZqL2VWR3NiLzZnTm8rUlFsSWFZR0xlN1VpTTNtVGM2am5kVGtF?= =?utf-8?B?WVFhOUZtM0hXVXhtY1FPR1lvazNyTi92VmFwdngxbkpmMm1nK1BjNnZYendX?= =?utf-8?B?c1YzU2RKWFFqeCtpS2k5NXd4QnE0MmNGcTBJUWlrZEtReEJvNCtDWStjTFBU?= =?utf-8?B?SS9CeFYzOVJsYXdNUFVWTy9LVGpOT1dWejJpS3JXWTRIOU0vRE85RmpnSnlX?= =?utf-8?B?YUdJbGN0elQrTzhPYWRIY3FjWW5nMWFNT3IrYzkrT2hyZVhZTDlTTjFtTXZw?= =?utf-8?B?bXZTWVpHVUlHRTZnMGFOQ1BOY05ZVnNiZ2FsNkhwZ1AxNGdoMERPWFN4eWxU?= =?utf-8?B?ckQ3bmFKbHRHUWtCc3hVd0ovS1FicGwzaWZHZi93OHluOHNpT3RMM043Z0tI?= =?utf-8?B?REpzcEJ3TlhoTHE0WGwwSjltaDdtcVdwU3pCYWUxN25MVHQyYUpIR2VjR2xO?= =?utf-8?B?eXNsNEFsS2tyNHlMc2RpWEJzZ0k5OGF2T2lEeWdVRHFkSWNyQi80ZjFtNFJp?= =?utf-8?B?M3QxWXVsOXdQMTZvSjdFb3NWaXdJa3VwdGRGQVliOENvTVBYR3M4ZWZYajFD?= =?utf-8?B?SVJ5UTUyUkVoOTJXODJON3B4NUE4TWU2YTFsdG5HT0o5Y3lEZEpIeHpMeXlX?= =?utf-8?B?SVhEUDBrUHNXNEZkR2xEa29aMUxTRXh3cDlzSGRLZjV5WnErUUg1djdIUGJn?= =?utf-8?B?Z0M3bklVeXhHRVpNYWpIaWFxQk1HTzZlMmE1TG5MTi9pMlF3eUxtTTlQSVAw?= =?utf-8?B?SElnUFQ5SjkxR3NpNzFjMCtpeUh0ajdLN0RPRFUraUJhVHFzWVp2SmVqdzdM?= =?utf-8?B?Z3dJSmpMZTFYbTZvckxFTjEvdzdXOUVBWEZHc0NmQWZtNzdzK01ZZHQ5alNT?= =?utf-8?B?SkJ3dkRlVWwwRGtLREdWVjNJemlBbjNYODJLOG81RXV3ME5ZVmFGK2loanBJ?= =?utf-8?B?SE1ZaXQ4RmcxQmtpT3B1aG5ROHh3VFBCdHlnN211SXI5WUQyS0VBejd4S0hP?= =?utf-8?B?NWZVOFRhZEV6U1U0U1BFQyszaG9WQVd4YjF4b2NGVTUrWFgrUGE0RmpWNFkv?= =?utf-8?Q?QwVVDsNjziMKKHBSJGMno6dZx?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: cf2eb52b-d023-4e2e-ca2b-08dc4bfcd9f8 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2024 12:20:54.1508 (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: fEzt/NaWpsXtQQGSwBuqcmyz+QqrHu3GBV3kLBJi1pg4vXAK2A28sHlr8nr8NG5ovHBqs5P+vk/xub61Gsyecg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9901 From: Peng Fan Cache the last msi msg which will be used for ARM SMMU V3 resume Signed-off-by: Peng Fan --- kernel/irq/msi.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/irq/msi.c b/kernel/irq/msi.c index f90952ebc494..9d7e0a675089 100644 --- a/kernel/irq/msi.c +++ b/kernel/irq/msi.c @@ -617,6 +617,9 @@ static unsigned int msi_domain_get_hwsize(struct device= *dev, unsigned int domid static inline void irq_chip_write_msi_msg(struct irq_data *data, struct msi_msg *msg) { + struct msi_desc *desc =3D irq_data_get_msi_desc(data); + + desc->msg =3D *msg; data->chip->irq_write_msi_msg(data, msg); } =20 --=20 2.37.1 From nobody Sun Feb 8 13:27:56 2026 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2043.outbound.protection.outlook.com [40.107.20.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2907F179BE for ; Sun, 24 Mar 2024 12:20:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.43 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711282861; cv=fail; b=mqTlglUwfDMJH7nxBpSDnRfUrXjP/moQrVWqHlUvZLswz9tJBeLV/OZupA1GLrUNjvXdEpmSUcfUU5myJHmWqxoovlp2CXMZHQukIV6lNOOO/xcoJrXp0U7iTPKwIsMOOIOzhXBeI7729aYmS0VXkN7lKQ2k5tb+i/Z844rD50g= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711282861; c=relaxed/simple; bh=GoSpC7n6WXnV2T/mfHSFPDuzbn5LxmE/urmN3js0sCg=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=kN3LKLD11vNKeDnhWiU3+4x/g6QhHixHwBLiYZeB4NXr3s0UiueBDBpIf8YDBnLNEcY7v/d/DuDsaaDqeMkoHzK4mZhndipg0+Azt1ULvTM50HFaroW5Vspcw6Efmav69he1ygQ+CXAEBFoubIr5tg1i9f12oVC1ZIIxhxQ3ZIs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (1024-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=VdyJAsNv; arc=fail smtp.client-ip=40.107.20.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="VdyJAsNv" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TLb3H0vDf3V0thM6p380iCjhw6zJT6RQ2VC1oZTC9HwyJ8d5QiONn2Oi1VtaYvLgsDU83Y81mxpgYTcc635meQHzh5cufb4RvNnBhPs9JbmKXKheyuoA1OaIo9FrPIxZon71etM6mixeCvcYH4krHvTLdDAswqwtg9nwXZHvoJm4sNDObj0C3Ajysm40u3vf5QLI396Yns5r/DEJ5jUPPS/5LdHXIXlberbsCnLcm3ayPmolpUdYZ6oiX7bI0M6CNtEGghCVdRK4VmSFKY5tfZSrkM69QKxyi/jpP0S2Qc7hRsK5hpZfQw47NF8/v09MJ787gyKi7fYjlo4XVWBtwQ== 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=qSBBP8CdkRt26BWQnEn0Twnx5706NESRFGp7EcaHaUU=; b=itQGpBekUwekhdfcuY/Z0S8L79SKdJQx5cbDM+L+Gychuk64U929lg5fpvL+HmejXLj2EQMWhetx0btSZZRnpAL+RANEiICepk0QaXG5IEVVBTMU4+YKOWhVsOelV4h2Tj9Hnnl3kgMSo1SIyQ32BWad67I+b44iKheTgZH2Q4RwxyPfuQQOXc7H1mWAq+nmlMFpFfBnBPo3U2qBZcw03tbPpR4UHIynDJAha2+Z6Xc1rFbxRfOGs82jKhoS5UZ8b8v9duDS+cYgjyqnElVKG/YPQPGLxGGyMFb6VUsiEy0JwQlpQ5jPtJgfSwI5LZfE8s9dvA/S8yRhpgEG9/bXog== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qSBBP8CdkRt26BWQnEn0Twnx5706NESRFGp7EcaHaUU=; b=VdyJAsNvtnZipZdR/9LnxouoYjStzer8lMGCaGkXnUvEnCc+aTuGLwK72z3ltJ1nEcuFKYU4udwhpKUNbgGx3rtwEy4WIrOIIHuRBkQl6jfvW30yLnvuI2hBGD+tiftl9vpXvZuPzk7WONOXqZv5RndhikbDyyJItgSu6kH7InU= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) by GVXPR04MB9901.eurprd04.prod.outlook.com (2603:10a6:150:113::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.30; Sun, 24 Mar 2024 12:20:57 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d%4]) with mapi id 15.20.7386.037; Sun, 24 Mar 2024 12:20:57 +0000 From: "Peng Fan (OSS)" Date: Sun, 24 Mar 2024 20:29:00 +0800 Subject: [PATCH 3/3] iommu/arm-smmu-v3: support suspend/resume Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20240324-smmu-v3-v1-3-11bc96e156a5@nxp.com> References: <20240324-smmu-v3-v1-0-11bc96e156a5@nxp.com> In-Reply-To: <20240324-smmu-v3-v1-0-11bc96e156a5@nxp.com> To: Will Deacon , Robin Murphy , Joerg Roedel , Thomas Gleixner , Marc Zyngier Cc: Bixuan Cui , linux-arm-kernel@lists.infradead.org, iommu@lists.linux.dev, linux-kernel@vger.kernel.org, Peng Fan X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1711283345; l=4688; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=GiSd4PlTexX48iZrMpUZF0JbBWkoDDMT3nVKob6ALg0=; b=Qw1qNbRzkiQXnGwnSyX4pIUbPqNQ+Aqr0AQUC1bi66PWMtK0gor0N4PGwcC4SOnugOY6F4ikt w95Ia4FqP/ZAr5L4tw8jvUhfY9eLH6pR31cONXOtIWJhWquCksA4kjg X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SI2PR01CA0017.apcprd01.prod.exchangelabs.com (2603:1096:4:191::19) To DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR04MB9417:EE_|GVXPR04MB9901:EE_ X-MS-Office365-Filtering-Correlation-Id: 0c4dc8a9-8c4c-418d-92d6-08dc4bfcdbee X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qbSN8UJVE/j0W3BcbLbZzXAMmXmn0i+6BuhfLJxNNiB0tFftNS3BLRVChqFTQOq8LFO3Fo71ddekqFRXhkTK8jn2qdCZhpzGktGhQHqkmt3m+DzWodh0gO3VsBHhdWqjks5+J0ZWYnzghW6ZuVvkojVEoIxRGCKUEFxXt7toFf0VxAMGRx8Ekx3sDB8rnTFuAIYTvbSDh5E0OHMTl5LpmU4aK0O8WDQqI7hiEVwxEWVvpzg0uY/65b46JQi0nA2ibUtnAVPYNrdCcnOOYwI1ApwbgeFQjRyzA9r/EIjLosDTD6pTTdHhasO3ryJ2Jv55sLy7g3BHd3+CWWgWkCZFxeI2WusaA8Sja7RUwT99e5r8LaAp1u8SW9JeBBfxkw+TAN+3Wb+46cbqjWehc7owVMhFT5qeo5Ino3xECsCUUKBlcAXXvNhG+PMeHgrCGu7uHNyzAAWG8zk74k7JBW5c+xjIc1QlObw50pxnKK15NkGPEPfgDxevywbSM/qSRetrDeONe+9s5ReqfWUkDThGqiO3ej0kbWwuXD0QAUyh149Wnr5N6PgspgbedS0noNbOIame82E3HlzPUv1PstFQ2HIk/HtQoy74fQEiDiIiI1jiw9DizY+6kYW1taKEdGN9AHZchbkRo0mRfcKTGqX3omlZdqZJzlrk5anwrYKG2VcD32aFcftePWOH4iiKGE11ScEX7Gi8rhAwWZduRBkR9g== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9417.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(52116005)(1800799015)(376005)(366007)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?L3hzMmRNQTNhUkRlMUFhS1IyalNxVnN2OVhQMGplMzJUYzN3RStWdXZwaEZL?= =?utf-8?B?YTF0M2Q2bHFDQzdDSFpkcUZVZVNOUFQ1UmY5Mm5ZL041emd2WHA4Y2w1ZkI4?= =?utf-8?B?b204YmlxelVtMVFDbEtvTjBKL29reFQ1ZXJtQzBUMkZYaTgweFExdnQxOGx1?= =?utf-8?B?bzB3elZLdHRsRkN6bnp5aGQzU0xqTUhLR25VZDBQSGZ3Nm5ZYnp5YTU3azhy?= =?utf-8?B?Y0t2NWF3ZVJmU3ZncDl6YjU4RDgzWW9Zckp5eVh0b3N5YW0zU2NUTS9ZZmVl?= =?utf-8?B?VmNKdjVYQVE1VXNUVEwybFEvOVpDS3pBTzhnS0lkVkZJUk5nbjFrRFJBZFV4?= =?utf-8?B?MUlPUkYwOGdxY2Z0aHMwTWFkQnkyTmR2aUR6ZS9KQ29BSVFjLzBkZHFsNStK?= =?utf-8?B?UHBlZDRTcDRJclE5K1owRGs1Uy9Ld0xZK2Npc2V5QTJ6cVB4cmYxYzg3RjNj?= =?utf-8?B?THk1RWkwYzlFNUhCd0hoZm8wRFN3VjlsZjM2YndFdTRMb2VWZTB2dU11RXhw?= =?utf-8?B?OGxQM05Wc3BzQzhzTEdhUFMyanQ5dUNPdm1aVWFyai9HRUxXMm9QY1dSNVFD?= =?utf-8?B?WkRBeldlWWpUV1FIZzIwM2RvenloaVNJTm9TYkxBb1YrZnVBenlkUlhpN3VG?= =?utf-8?B?ZXB6NWpyR1pVbURzcDgzdmpxN2hQTmFjdEtkdWNCYlRVL3J0WVVuNGRnVTdJ?= =?utf-8?B?VjQxODRwRXpQTmptRlV5dVYvYnViUXVzUk9VaWZjMnBRMUx4K2J5cUUxNWhI?= =?utf-8?B?ZWFFM2Q4N2VxMlJlWURSL3R1SHJVNFNNdEFFUzZlWVJlL2FOYmVzMDcvWEpx?= =?utf-8?B?MWxsWnF0WURZblMxY0h1eWFCZUNWTHg3VnhUZnpiR2EvbnJlNXNrRytSQXFh?= =?utf-8?B?L1B1S2YxUUE4Uy8zeVFFUEsza3JtR2FGQmNnRmV3UkRrbG9VK05LZStoNFRC?= =?utf-8?B?WG11eVZpVlNsUDlEaGZOYXpsM3JNV3YwSFE1TEpkS1h3MjlzaURvT1B6WWhv?= =?utf-8?B?eUhleHkyc1BRNG5NdzlRd05telZvNk9sWlhXN1oydnczeFQ1TnY1eHlHU0U3?= =?utf-8?B?a0hKV1lndmswckxkNUhmSU1HMkREdDMzejArSkIrQlY5SmY4dU5Xa0x4UWJF?= =?utf-8?B?d1pEejJ4OGcyT0hoVlZNSHVvYTBNNFA4dHNHd3N2TWx4OTJZaEtQYXM1Mksv?= =?utf-8?B?QUV1V083eUg3eFFFZjBGdlhIZjd3by9pazduN3pTN1dNbFp3SlBFcVR0YW1y?= =?utf-8?B?TXE1aDNreEhvN29sQTM3Q1lWVHdQZXdJTlFwazI3TWExckRZUy8wcVUxelJK?= =?utf-8?B?K0tPa0tKd09RTUpCQWtReERIOWZIUEN0Z3lzOHZTWVEwQjcwdkJSVXZab3BO?= =?utf-8?B?aHB0RTZZREZsYnRNUWhINmxaZmZ1VTFHZkl1SVhlTExwMHNjMzFXTE1hNlh3?= =?utf-8?B?TVBKU1A2YXVYL0FXQ1lHUUZCQ05FN01CcUN5ZUN3MkluOWNiUGdYMVROaUNF?= =?utf-8?B?QU5SbUpFUkF2TWRxVkpkYndKVUVJM3hHZ2VJTmVTRHdCOFgrd0RKWFgxWGUy?= =?utf-8?B?L0E1NTNwZm40UU5Sd1RjVlZmbkJYbG94NjJSZ0pQbDVYWkpSZGtrTER0c0xR?= =?utf-8?B?VkE3WFI1S1V0SDNXQkZQa3NKbEtmL281WFdxT2F5UmRFTFc4SjBmR2VGYW5X?= =?utf-8?B?V2ppOFhmSzUzMnV2ZUxsV09VbEU3UUlqRjYvVHJJT0c3QnRkNWVudkdSMzlL?= =?utf-8?B?TEhCSVpady85d0xCNWw2S2ZCK2xKUnZzKzA2eWJOWkp6T2tHQlJmbDhiUjYx?= =?utf-8?B?alpDdlRhU3o3TFJneW5Kd2pSd3pTNXRzWm5nMDI3eXVoRi9iZit0R2hHb1RH?= =?utf-8?B?dlhUbGJkbDNQVmkyRmJtb1kvMVdTYmt0UFo3M2ExMUlvNjcxZ1hvZEZ3cVY5?= =?utf-8?B?ZFJwb3RTVCswZWQvRC83YzdoTEhWczF5N3VKQ001VFp2WDJsWkVGRnpBTGJi?= =?utf-8?B?blhUYko4K0ovQ2pyQSswRHg1VVZpR21KMHpLa1dUTmViZ1VYSnVpeWFYTnhP?= =?utf-8?B?S1dtWEJCUGNyWXFyVmNSeUoxeHQxRDE4V1RUbVNENEg1NTVJbUd6enhvZlgv?= =?utf-8?Q?PMzagKaXvD3NZ0ujysUSuOJL9?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0c4dc8a9-8c4c-418d-92d6-08dc4bfcdbee X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2024 12:20:57.4250 (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: s9/e38xJbknM2qqmXUpu0i/uYfs9dzOI0vXhCzH/hX3alae8DbLEMZOX1JWka3ccylgXJzjIIbl3q1BKjEIsGQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9901 From: Peng Fan smmu maybe power-gated, and the registers are cleared. So need to restore its registers with arm_smmu_device_reset and resume the msi interrupt settings in resume callback. Signed-off-by: Peng Fan --- drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 71 +++++++++++++++++++++++++= +--- 1 file changed, 64 insertions(+), 7 deletions(-) diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c b/drivers/iommu/ar= m/arm-smmu-v3/arm-smmu-v3.c index a8a569573c2f..2bfe4b3d0ba1 100644 --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c @@ -3396,6 +3396,36 @@ static void arm_smmu_setup_msis(struct arm_smmu_devi= ce *smmu) devm_add_action(dev, arm_smmu_free_msis, dev); } =20 +static void arm_smmu_resume_unique_irqs(struct arm_smmu_device *smmu) +{ + struct device *dev =3D smmu->dev; + struct msi_desc *desc; + struct msi_msg msg; + + if (!dev->msi.domain) + return; + + desc =3D irq_get_msi_desc(smmu->evtq.q.irq); + if (desc) { + get_cached_msi_msg(smmu->evtq.q.irq, &msg); + arm_smmu_write_msi_msg(desc, &msg); + } + + desc =3D irq_get_msi_desc(smmu->gerr_irq); + if (desc) { + get_cached_msi_msg(smmu->gerr_irq, &msg); + arm_smmu_write_msi_msg(desc, &msg); + } + + if (smmu->features & ARM_SMMU_FEAT_PRI) { + desc =3D irq_get_msi_desc(smmu->priq.q.irq); + if (desc) { + get_cached_msi_msg(smmu->priq.q.irq, &msg); + arm_smmu_write_msi_msg(desc, &msg); + } + } +} + static void arm_smmu_setup_unique_irqs(struct arm_smmu_device *smmu) { int irq, ret; @@ -3442,7 +3472,7 @@ static void arm_smmu_setup_unique_irqs(struct arm_smm= u_device *smmu) } } =20 -static int arm_smmu_setup_irqs(struct arm_smmu_device *smmu) +static int arm_smmu_setup_irqs(struct arm_smmu_device *smmu, bool resume) { int ret, irq; u32 irqen_flags =3D IRQ_CTRL_EVTQ_IRQEN | IRQ_CTRL_GERROR_IRQEN; @@ -3456,7 +3486,7 @@ static int arm_smmu_setup_irqs(struct arm_smmu_device= *smmu) } =20 irq =3D smmu->combined_irq; - if (irq) { + if (irq && !resume) { /* * Cavium ThunderX2 implementation doesn't support unique irq * lines. Use a single irq line for all the SMMUv3 interrupts. @@ -3468,8 +3498,12 @@ static int arm_smmu_setup_irqs(struct arm_smmu_devic= e *smmu) "arm-smmu-v3-combined-irq", smmu); if (ret < 0) dev_warn(smmu->dev, "failed to enable combined irq\n"); - } else - arm_smmu_setup_unique_irqs(smmu); + } else { + if (resume) + arm_smmu_resume_unique_irqs(smmu); + else + arm_smmu_setup_unique_irqs(smmu); + } =20 if (smmu->features & ARM_SMMU_FEAT_PRI) irqen_flags |=3D IRQ_CTRL_PRIQ_IRQEN; @@ -3494,7 +3528,7 @@ static int arm_smmu_device_disable(struct arm_smmu_de= vice *smmu) return ret; } =20 -static int arm_smmu_device_reset(struct arm_smmu_device *smmu) +static int arm_smmu_device_reset(struct arm_smmu_device *smmu, bool resume) { int ret; u32 reg, enables; @@ -3602,7 +3636,7 @@ static int arm_smmu_device_reset(struct arm_smmu_devi= ce *smmu) } } =20 - ret =3D arm_smmu_setup_irqs(smmu); + ret =3D arm_smmu_setup_irqs(smmu, resume); if (ret) { dev_err(smmu->dev, "failed to setup irqs\n"); return ret; @@ -4086,7 +4120,7 @@ static int arm_smmu_device_probe(struct platform_devi= ce *pdev) arm_smmu_rmr_install_bypass_ste(smmu); =20 /* Reset the device */ - ret =3D arm_smmu_device_reset(smmu); + ret =3D arm_smmu_device_reset(smmu, false); if (ret) return ret; =20 @@ -4124,12 +4158,34 @@ static void arm_smmu_device_shutdown(struct platfor= m_device *pdev) arm_smmu_device_disable(smmu); } =20 +static int __maybe_unused arm_smmu_suspend(struct device *dev) +{ + struct arm_smmu_device *smmu =3D dev_get_drvdata(dev); + + arm_smmu_device_disable(smmu); + + return 0; +} + +static int __maybe_unused arm_smmu_resume(struct device *dev) +{ + struct arm_smmu_device *smmu =3D dev_get_drvdata(dev); + + arm_smmu_device_reset(smmu, true); + + return 0; +} + static const struct of_device_id arm_smmu_of_match[] =3D { { .compatible =3D "arm,smmu-v3", }, { }, }; MODULE_DEVICE_TABLE(of, arm_smmu_of_match); =20 +static const struct dev_pm_ops arm_smmu_pm_ops =3D { + SET_SYSTEM_SLEEP_PM_OPS(arm_smmu_suspend, arm_smmu_resume) +}; + static void arm_smmu_driver_unregister(struct platform_driver *drv) { arm_smmu_sva_notifier_synchronize(); @@ -4141,6 +4197,7 @@ static struct platform_driver arm_smmu_driver =3D { .name =3D "arm-smmu-v3", .of_match_table =3D arm_smmu_of_match, .suppress_bind_attrs =3D true, + .pm =3D &arm_smmu_pm_ops, }, .probe =3D arm_smmu_device_probe, .remove_new =3D arm_smmu_device_remove, --=20 2.37.1