From nobody Mon Jun 8 13:24:58 2026 Received: from CY7PR03CU001.outbound.protection.outlook.com (mail-westcentralusazon11010061.outbound.protection.outlook.com [40.93.198.61]) (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 3DC8F2C237C; Fri, 29 May 2026 02:16:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.198.61 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780021019; cv=fail; b=u/FxGjlKK8NAvT/vW67Je6SOC/mHtKH0ZbciXVcl7JGaNAEWys79U8BpdZGPIJJ1yS5HHV18KltpnI/UfoLEQjNwCl7qNVyrFVBKWaUCeSL/Oo703epGEWfW/WlUCSuWJqP9vHNH5yqH3zv3MlR2bRKyvTpdNpIG4Pin8S1rwY4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780021019; c=relaxed/simple; bh=RdIghCb5951UBNdLzgjihCuvHqQUSdE7qQYXMMPxqHg=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Q1VrXbr/esenmZsFzKcRJbXv8/uvq2O+i7q5RJZ8c7MdLwg8EpcoKw6EfqL+v6ZIRLUSUkUKr6lQmWOBCxEKpP0g5cZ2Jvk1ezN1KJCDy3y0jqTTWBs0SCNj9PR1icu1OwowcIxOtX8OsJ0UbWr/AA4gvCoiG7IUEHqFUR7Vi5g= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=J/34ZbU/; arc=fail smtp.client-ip=40.93.198.61 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="J/34ZbU/" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NXhVujV8KAH+3nUy2XXuAbmWthWJ4hgOHSBfUsclRjZsNqmRcpArxlmEFTqCX3w6zaZcz+cjjqU2lfE7ZlKh8sPlOJGn6IQtQQe97QW+OEWEhKOPgWOETlevZDCJclDoAvz2apLQ/Tk47OPrvLdyo44ssQYFAwJW9mPqYb7v58B/R7u//vvG7i+BQD0qwyvelWJHM5Bgf4o4cj3VCt1RkGMaO15f+BpRJjHGPQB6KS+Scu4fqRu6VAVj2EUF6tKDHfOKKRtwnBXoQKb+bZkh6hd5DsO4Z+83hIyju1/kixlWzhhcCprI9ruuST3XhTNmBECcgBmP2JbSP6t9Gq6beg== 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=7R+TwnqfNwcWaFnIlcP1I3F5g/RyYTVRWjrRoNPbQfk=; b=a+lu1w+4vsvL/znwyINErO9kvib/0MREweY3Y/DWhWyrHcv+FVWABu3jzfJE53RAqcAiMRgq39V0m6ZLn2L3S+77YAG/kMezjNrsYs0Ff96UicVUk6XByrar57yEfqwFIocmxVQNdphUnHmfVekV3feoXA/T7xhxWoVwrTjPBhMIfQFCWGx6+o1fC/4XiuZVdIA4djA2+6KoAAUkDTSnyZHjG4Dc7YdrUeozX7SC3r+geIydiPglrImwWd8HR2Sew/assu7bJwq8M1u6Th8ahpt5LNPpyE9m1os+HCzYvV5IX7bTFdf0d7BsECkrVpZqgN9hAGjrxAWEUjrFEEQM+Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7R+TwnqfNwcWaFnIlcP1I3F5g/RyYTVRWjrRoNPbQfk=; b=J/34ZbU/TQIXdFgvNgCLry1qaG6T2oMPrBU34PJB+GDdJk9EGTW54Z3Isf1C0U6LkznMGOb+E+gYbl6QGVVQo2nLX9gMD7g+B9ISvSVt4Ho6jdren7P97+Q7jY/OSM/gYaaIzNI5U/1fBW/Ur1P74D6DFsKy8p5YF1ROx5zQBgo= Received: from DS7PR03CA0309.namprd03.prod.outlook.com (2603:10b6:8:2b::7) by DM4PR12MB6375.namprd12.prod.outlook.com (2603:10b6:8:a2::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.14; Fri, 29 May 2026 02:16:54 +0000 Received: from CH3PEPF00000013.namprd21.prod.outlook.com (2603:10b6:8:2b:cafe::8d) by DS7PR03CA0309.outlook.office365.com (2603:10b6:8:2b::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.13 via Frontend Transport; Fri, 29 May 2026 02:16:53 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C Received: from satlexmb08.amd.com (165.204.84.17) by CH3PEPF00000013.mail.protection.outlook.com (10.167.244.118) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.0 via Frontend Transport; Fri, 29 May 2026 02:16:53 +0000 Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 28 May 2026 21:16:53 -0500 Received: from xsjblevinsk51.xilinx.com (10.180.168.240) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend Transport; Thu, 28 May 2026 21:16:51 -0500 From: Ben Levinsky To: Bjorn Andersson , Mathieu Poirier , , CC: Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Geert Uytterhoeven , "Magnus Damm" , Patrice Chotard , Maxime Coquelin , Alexandre Torgue , Arnaud Pouliquen , Daniel Baluta , "Tanmay Shah" , , , , , Subject: [PATCH v3 1/5] remoteproc: add common wc-ioremap carveout callbacks Date: Thu, 28 May 2026 19:16:33 -0700 Message-ID: <20260529021637.2077602-2-ben.levinsky@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260529021637.2077602-1-ben.levinsky@amd.com> References: <20260529021637.2077602-1-ben.levinsky@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF00000013:EE_|DM4PR12MB6375:EE_ X-MS-Office365-Filtering-Correlation-Id: 82f72477-1078-4460-849a-08debd2859c7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|36860700016|7416014|376014|22082099003|18002099003|11063799006|56012099006|6133799003; X-Microsoft-Antispam-Message-Info: eEaiDSguLcO+DiiYsUPMvgYmnm27V8nDPI4Om2CGF2yDtgn5GKI9niW1QIwLeBeuq8RcrGXeLEf5NEH4r+GbyMs6VYcsPgGYdxA9myXxhRGn24MIS3MaJZloXeyvuChgMy/zL52Edjtgl1rt8th5xO6HrWvGi0drWl76LDyWQr4dwbgQjDrVM/jcoHiQmqilKNklKl5NGQEU4CBi6b3gtgXxawPEkIh86pbnG4TdMGYHFYX/uRcFk/bqmXONI1XDi6LlhyxfVhvRqo1kIBdqSiMYkXnmfuX7SRnS2/vUXsa4/kyLyJvlSWTGrXrRC5Vbo9O95Qvk2Olx9m+0eeu55zm66xzGd4w8NOO2FPAgCKzp1p3X5WanlRz3cuY5FC4fJmz7CmHTqGIanjELw2X/tIvYI2v77oFmwzucjJes1xqrsMLocNUdXOehz18FspKgDYDOA95peBxElG2KqT5qDJRVG+wKilCpgbhRqdaNZISvVlvJKtGOc6N6u+ordfKvGdB4r5bUr8cxFEB2Xk9HJdE7dBUFpFu7/CS6HqzCXYA2X/MdZYl46iZCor58pDZfkH9IcCnJE7nQnr/uZGXjl65SMTGiI9d80Al6pqWXLRFpXUoLnr0WJNesOsgFnDbBNTjC9sHDTwmnXVNCdCyOwyGN75vOx6SD1hT5/pA2P63+32RZeaeiETAhFkbBT8jHvdNlaSTKH77K2CU6bma2c+Yg3vUmh2nldBIRLeU7wRs= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700016)(7416014)(376014)(22082099003)(18002099003)(11063799006)(56012099006)(6133799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: h1eL7KSekFgBIJY43bTD6Y8KDANxlwytNPtglng2g0VzpPzZMD2sr/0mm89DOlfO2NxHFu2iEjLaaDShV03iqaLnrzbI/w1nM7SyoYTNFRPZy5Hiy2r3El3fXCeKcstPG6YnJZYfekSQhKo1BHp8Bp8/EoyNSjue+72ZKKFi9vgoq6+OaWnTsfbNyW4QSx/6kCgRNrEx0Og7QWn59f8Imc+uVoKyxejAmIaNwMdsQ9pzpXQpB2OQqqGUJjCaR1UbO4yQA5rsXIejXPyC2VlWExm+h3MzlfrvLZBJOk0yob6HjLDTdTs0lvTkwWxkiq2fmuXi1mlE1uG5w0Vb+tBWu4LvHcSDJKNVVBaUV2SEHEjWU6MBdnd/v4TVmgMSUaBr4ujmwKxMLUle7CcWcWyz8QxT1S/iPD/2E2/r6Hg8ibMSszc3AQmphvNOAHZWIIsi X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 May 2026 02:16:53.5227 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 82f72477-1078-4460-849a-08debd2859c7 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CH3PEPF00000013.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6375 Content-Type: text/plain; charset="utf-8" Several remoteproc drivers open-code the same ioremap_wc() and iounmap() callbacks for carveout mappings. Add subsystem-private helpers in remoteproc_internal.h so those drivers can share the same implementation. Keep this change behavior-neutral. The helper now emits a common error message on ioremap_wc() failure, but leaves mem->is_iomem handling to a follow-on patch so that the behavioral change can be justified separately. Signed-off-by: Ben Levinsky Tested-by: Peng Fan #i.MX8MP-EVK --- drivers/remoteproc/remoteproc_internal.h | 26 ++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/drivers/remoteproc/remoteproc_internal.h b/drivers/remoteproc/= remoteproc_internal.h index 0a5e15744b1d..46080c1c030e 100644 --- a/drivers/remoteproc/remoteproc_internal.h +++ b/drivers/remoteproc/remoteproc_internal.h @@ -14,6 +14,7 @@ =20 #include #include +#include =20 struct rproc; =20 @@ -122,6 +123,31 @@ rproc_find_carveout_by_name(struct rproc *rproc, const= char *name, ...); void rproc_add_rvdev(struct rproc *rproc, struct rproc_vdev *rvdev); void rproc_remove_rvdev(struct rproc_vdev *rvdev); =20 +static inline int rproc_mem_entry_ioremap_wc(struct rproc *rproc, + struct rproc_mem_entry *mem) +{ + void __iomem *va; + + va =3D ioremap_wc(mem->dma, mem->len); + if (!va) { + dev_err(&rproc->dev, "Unable to map memory region: %pa+%zx\n", + &mem->dma, mem->len); + return -ENOMEM; + } + + mem->va =3D (__force void *)va; + + return 0; +} + +static inline int rproc_mem_entry_iounmap(struct rproc *rproc, + struct rproc_mem_entry *mem) +{ + iounmap((__force __iomem void *)mem->va); + + return 0; +} + static inline int rproc_prepare_device(struct rproc *rproc) { if (rproc->ops->prepare) --=20 2.34.1 From nobody Mon Jun 8 13:24:58 2026 Received: from BN8PR05CU002.outbound.protection.outlook.com (mail-eastus2azon11011064.outbound.protection.outlook.com [52.101.57.64]) (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 D72CA267B07; Fri, 29 May 2026 02:17:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.57.64 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780021023; cv=fail; b=m9lfBW3Jaj/9vBL/HjRpOlqN7IeEVvUJnCReuyPYPw+wuqjmYYZ+l4TfnWVNADkxgBrdKzCSbHdcyBp0CmhRGw1qv+6jErGQXHNO6yCargiFl/d9NkPu3zDnH32Pr4gHW4UtCwuyUaiu+nKBp9wo94ERlolpXplkbqrs245ObDk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780021023; c=relaxed/simple; bh=hsDklYZpnEYlrhraSXKv00uTxCtlDp4VaL8a3CA7TI8=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ZDCoHUiodWg2rJIUFi2S6Lx2xy8xVT+uZ2Imp0UtzyqaeXjjBV+RgYgbxfr/mbA8G6+kT+LpHEOj6UYBmV/IYZHpBJ0VvxlJYlqUL8jBR3aNxv7PAoQSlWAXgSWP2GuS89MoNu37+0SPAk2CYuDmJsz9vew7rW4jg0Vx6DlBKz0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=4YrKUWHz; arc=fail smtp.client-ip=52.101.57.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="4YrKUWHz" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oPa/Yt73kG2/ZKnYVS6X7cQVoPjPUIMBDAPfXj0CtoyESI9JW9WVu/TfUWvPK1btjvQmqJ9QbZAyfueyCZchzgVu0Y7tUEUA1qoI26BT2huTJKRV1+6/fSK62amAEV7r0IC4+Cyw8nisNkcfzd5ewWXbHeB0QrR493OsM0Up7KD/+La1REkPMrPUWlGaplh5l1kCwBQ45q34sRYNStL2pEnnBzZsJTzLmb4FQQxbem8Tg06+Dm2cTGQv7Y80B10BxNkWKIukFd5dMGAmjfkiutfddHWzCdvPrw880Jd1zx6KfSajAtThV7sZKW4tSOTalclnkD6lPagyQeBUQivNyQ== 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=2TLv4UTDq/8PZ81NKG6ACg0RJajFAepYr+Aph0das5I=; b=NDGVls9X4bPpIWEPSlwlq1AMHTj1Eqj2mPTqIbUi0o4c4JZ2qJJpw04KVwSG8qOoLrpbxPuDDy/Su0RnwwqfRSWNX6GfBQEWKncyyejgd+PlWumMBIpssnQ9SosKnx4p8T58ZzzNbqa2ZVGcwXFzYCYqVazuef04lWiSgDZ3/nDOIHHwE8iXvKgGjWFLvZN1lttD7nQHFKyzmPu04sRHzxLxHLKUB0KCt8LWd8Jmrlz3elxO/S3TSUy1HE1r1k9XZwS38KGv2PWuk6uwn/BdBnXWi2cm3pWjdbcXgDqVFiw50rvQ+fju5P2LNKjlFwcj24NihfhYLLK6oiBg0PXE0Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2TLv4UTDq/8PZ81NKG6ACg0RJajFAepYr+Aph0das5I=; b=4YrKUWHzJLBOGqvH7rcTBSqaHwfEFvePjLiu02fgAVvDaK/FdZ3uEQegkXyVWXVYogO06h93vAJbGqvc2aPa2824E+FjOz4+DwR7yLiLvPQtpU3ICX/GLMROVIYA0z/+3eGU6d8Ugu0JacjI85+DSrdv/lheQFkgIxZcakuVzIQ= Received: from DS2PEPF00004560.namprd21.prod.outlook.com (2603:10b6:f:fc00::50e) by DSSPR12MB999236.namprd12.prod.outlook.com (2603:10b6:8:374::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.14; Fri, 29 May 2026 02:16:57 +0000 Received: from CH3PEPF00000011.namprd21.prod.outlook.com (2603:10b6:61f:fc00::374) by DS2PEPF00004560.outlook.office365.com (2603:10b6:f:fc00::50e) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via Frontend Transport; Fri, 29 May 2026 02:16:57 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C Received: from satlexmb08.amd.com (165.204.84.17) by CH3PEPF00000011.mail.protection.outlook.com (10.167.244.116) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.0 via Frontend Transport; Fri, 29 May 2026 02:16:57 +0000 Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 28 May 2026 21:16:57 -0500 Received: from xsjblevinsk51.xilinx.com (10.180.168.240) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend Transport; Thu, 28 May 2026 21:16:56 -0500 From: Ben Levinsky To: Bjorn Andersson , Mathieu Poirier , , CC: Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Geert Uytterhoeven , "Magnus Damm" , Patrice Chotard , Maxime Coquelin , Alexandre Torgue , Arnaud Pouliquen , Daniel Baluta , "Tanmay Shah" , , , , , Subject: [PATCH v3 2/5] remoteproc: switch exact-match drivers to wc-ioremap callbacks Date: Thu, 28 May 2026 19:16:34 -0700 Message-ID: <20260529021637.2077602-3-ben.levinsky@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260529021637.2077602-1-ben.levinsky@amd.com> References: <20260529021637.2077602-1-ben.levinsky@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF00000011:EE_|DSSPR12MB999236:EE_ X-MS-Office365-Filtering-Correlation-Id: 2c7172c3-9af7-44e2-b1c5-08debd285c46 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|36860700016|7416014|82310400026|22082099003|18002099003|11063799006|6133799003|56012099006; X-Microsoft-Antispam-Message-Info: Ajs3ucBvGC8A3OUbFhLgsgJuZSUVCgElsStHzfx4W2ojEsSA1JqA1qQtJZPTWYfSuffNC5jemQDFM7qbSADUFPZc8LTISXJJTkQwNJo2BwpdOmuV8oKtdoSn1lbLTGJRaf0mfx+B70Gzc9qPpIrjQYQvhWEtQUS0mbR2toQBvdg2vqmG66P0dBcwNdrc0CSIIy5h9bT33+w2NBf+kWslhbMlHcWIGvG4UJbNY5bCQeoaNELeJ/NkyKu1rq3Cq4UI6zmffqreX7rSpI4KREOKK/8i/FS+Xk6P0yhzDaA250jWKMz/DHdddXsjMkPXxI6TI8K/W/TntjVyCoOd6s17VLLgwO1TAI68Edwf4K89Ga/guXnXn1d8vhLQYnF18l1HsAPPOCtfw7m8hagRZBwsoLHyq35xn9P5EAcnglSh1edTpdrFp9c7+dMAwEc2UTGHkVOrO+jNG5rB0rRs3QksO5eFlkoCBwvuqB98WuWI6rlEQVZiboNnvyBm/qFMmhjsJD7CEgjfxENadbfmmIL/OtsolVDDOJG7cPL2Kn/Ew8yr5RCwXc9icfH25WAcH1Tv0pviR/DyH/kRl+Rg+xfow/E/XSdyKnfa8i9Fy57GBMDfmfrydZTDwS6JMMNFhqyndtAHQ9DtPdu5HtOSYwTRRXQQgPkYl6YhRM1EpOURWowT5lWjVuXLjHIVKwnO/rOj2iC060fau9T4COpU9OuQUL2ya0Scb2GGqXy1uLYg2i4= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(36860700016)(7416014)(82310400026)(22082099003)(18002099003)(11063799006)(6133799003)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: wUY7Ca5cZEI3CUYcL15Y/gnrWO7BRYsyP3GYMAas//54j+qYGZuPN7vWaWKyMV5hLHAR8Uqa7ql/b0Bjo7MnXzI5cGdzno/pTq4KX3buevhpDquFCEZrNCoGk8qVD7jJqDuNPQ8nezKHcKAGGfk6Xs6R7pUIouf9Vok2mBYvOFF1CBVSwiL+BST7uzDsS/RoZ0pLzwdFdp0JbgkquKinfy+mPD2z51xHwJljon91eQapHIUUSIIiSGGy+IXn1Dg/gZahmxF6SlYzdPVr3UF3IF2jEedegja01r6B53J/KmK8RKOdGWKuCdo+YcZohFVwrg5LAjh5QsHrkyS6t4pvUcCu5bYpQota/eGtdJTC5MK0zuzjsugBvTtOf6tb/8g8xB97VWEDQfpcndh0zlnH2IdN/n0HXbhufeSzwFfeGuV3tptKGRYaKuF7BXpYaEC9 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 May 2026 02:16:57.7106 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2c7172c3-9af7-44e2-b1c5-08debd285c46 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CH3PEPF00000011.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DSSPR12MB999236 Content-Type: text/plain; charset="utf-8" Replace the exact-match carveout map and unmap callbacks in the existing remoteproc drivers with the common wc-ioremap helpers. This covers xlnx_r5_remoteproc, rcar_rproc, st_remoteproc, stm32_rproc, imx_rproc, and imx_dsp_rproc. Leave the zynqmp R5 TCM callbacks alone because they also clear the mapped memory and are therefore not exact matches for the shared helpers. Signed-off-by: Ben Levinsky Reviewed-by: Geert Uytterhoeven # renesas Tested-by: Peng Fan #i.MX8MP-EVK --- drivers/remoteproc/imx_dsp_rproc.c | 36 ++++--------------- drivers/remoteproc/imx_rproc.c | 32 ++--------------- drivers/remoteproc/rcar_rproc.c | 33 ++--------------- drivers/remoteproc/st_remoteproc.c | 31 ++-------------- drivers/remoteproc/stm32_rproc.c | 33 ++--------------- drivers/remoteproc/xlnx_r5_remoteproc.c | 47 +++---------------------- 6 files changed, 18 insertions(+), 194 deletions(-) diff --git a/drivers/remoteproc/imx_dsp_rproc.c b/drivers/remoteproc/imx_ds= p_rproc.c index 008741af9f11..2d9f14fbef1d 100644 --- a/drivers/remoteproc/imx_dsp_rproc.c +++ b/drivers/remoteproc/imx_dsp_rproc.c @@ -644,32 +644,6 @@ static void imx_dsp_rproc_free_mbox(struct imx_dsp_rpr= oc *priv) mbox_free_channel(priv->rxdb_ch); } =20 -static int imx_dsp_rproc_mem_alloc(struct rproc *rproc, - struct rproc_mem_entry *mem) -{ - struct device *dev =3D rproc->dev.parent; - void *va; - - va =3D ioremap_wc(mem->dma, mem->len); - if (!va) { - dev_err(dev, "Unable to map memory region: %pa+%zx\n", - &mem->dma, mem->len); - return -ENOMEM; - } - - mem->va =3D va; - - return 0; -} - -static int imx_dsp_rproc_mem_release(struct rproc *rproc, - struct rproc_mem_entry *mem) -{ - iounmap(mem->va); - - return 0; -} - /** * imx_dsp_rproc_add_carveout() - request mailbox channels * @priv: private data pointer @@ -700,8 +674,10 @@ static int imx_dsp_rproc_add_carveout(struct imx_dsp_r= proc *priv) =20 /* Register memory region */ mem =3D rproc_mem_entry_init(dev, NULL, (dma_addr_t)att->sa, - att->size, da, imx_dsp_rproc_mem_alloc, - imx_dsp_rproc_mem_release, "dsp_mem"); + att->size, da, + rproc_mem_entry_ioremap_wc, + rproc_mem_entry_iounmap, + "dsp_mem"); =20 if (mem) rproc_coredump_add_segment(rproc, da, att->size); @@ -732,8 +708,8 @@ static int imx_dsp_rproc_add_carveout(struct imx_dsp_rp= roc *priv) /* Register memory region */ mem =3D rproc_mem_entry_init(dev, NULL, (dma_addr_t)res.start, resource_size(&res), da, - imx_dsp_rproc_mem_alloc, - imx_dsp_rproc_mem_release, + rproc_mem_entry_ioremap_wc, + rproc_mem_entry_iounmap, "%.*s", strchrnul(res.name, '@') - res.name, res.name); if (!mem) return -ENOMEM; diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c index 7f54322244ac..6249815b54d8 100644 --- a/drivers/remoteproc/imx_rproc.c +++ b/drivers/remoteproc/imx_rproc.c @@ -600,35 +600,6 @@ static void *imx_rproc_da_to_va(struct rproc *rproc, u= 64 da, size_t len, bool *i return va; } =20 -static int imx_rproc_mem_alloc(struct rproc *rproc, - struct rproc_mem_entry *mem) -{ - struct device *dev =3D rproc->dev.parent; - void *va; - - dev_dbg(dev, "map memory: %p+%zx\n", &mem->dma, mem->len); - va =3D ioremap_wc(mem->dma, mem->len); - if (IS_ERR_OR_NULL(va)) { - dev_err(dev, "Unable to map memory region: %p+%zx\n", - &mem->dma, mem->len); - return -ENOMEM; - } - - /* Update memory entry va */ - mem->va =3D va; - - return 0; -} - -static int imx_rproc_mem_release(struct rproc *rproc, - struct rproc_mem_entry *mem) -{ - dev_dbg(rproc->dev.parent, "unmap memory: %pa\n", &mem->dma); - iounmap(mem->va); - - return 0; -} - static int imx_rproc_sm_lmm_prepare(struct rproc *rproc) { struct imx_rproc *priv =3D rproc->priv; @@ -692,7 +663,8 @@ static int imx_rproc_prepare(struct rproc *rproc) /* Register memory region */ mem =3D rproc_mem_entry_init(priv->dev, NULL, (dma_addr_t)res.start, resource_size(&res), da, - imx_rproc_mem_alloc, imx_rproc_mem_release, + rproc_mem_entry_ioremap_wc, + rproc_mem_entry_iounmap, "%.*s", strchrnul(res.name, '@') - res.name, res.name); if (!mem) diff --git a/drivers/remoteproc/rcar_rproc.c b/drivers/remoteproc/rcar_rpro= c.c index 3c25625f966d..e3121fadd292 100644 --- a/drivers/remoteproc/rcar_rproc.c +++ b/drivers/remoteproc/rcar_rproc.c @@ -19,35 +19,6 @@ struct rcar_rproc { struct reset_control *rst; }; =20 -static int rcar_rproc_mem_alloc(struct rproc *rproc, - struct rproc_mem_entry *mem) -{ - struct device *dev =3D &rproc->dev; - void *va; - - dev_dbg(dev, "map memory: %pa+%zx\n", &mem->dma, mem->len); - va =3D ioremap_wc(mem->dma, mem->len); - if (!va) { - dev_err(dev, "Unable to map memory region: %pa+%zx\n", - &mem->dma, mem->len); - return -ENOMEM; - } - - /* Update memory entry va */ - mem->va =3D va; - - return 0; -} - -static int rcar_rproc_mem_release(struct rproc *rproc, - struct rproc_mem_entry *mem) -{ - dev_dbg(&rproc->dev, "unmap memory: %pa\n", &mem->dma); - iounmap(mem->va); - - return 0; -} - static int rcar_rproc_prepare(struct rproc *rproc) { struct device *dev =3D rproc->dev.parent; @@ -73,8 +44,8 @@ static int rcar_rproc_prepare(struct rproc *rproc) mem =3D rproc_mem_entry_init(dev, NULL, res.start, resource_size(&res), da, - rcar_rproc_mem_alloc, - rcar_rproc_mem_release, + rproc_mem_entry_ioremap_wc, + rproc_mem_entry_iounmap, res.name); =20 if (!mem) diff --git a/drivers/remoteproc/st_remoteproc.c b/drivers/remoteproc/st_rem= oteproc.c index a07edf7217d2..486180cdccb4 100644 --- a/drivers/remoteproc/st_remoteproc.c +++ b/drivers/remoteproc/st_remoteproc.c @@ -88,33 +88,6 @@ static void st_rproc_kick(struct rproc *rproc, int vqid) dev_err(dev, "failed to send message via mbox: %d\n", ret); } =20 -static int st_rproc_mem_alloc(struct rproc *rproc, - struct rproc_mem_entry *mem) -{ - struct device *dev =3D rproc->dev.parent; - void *va; - - va =3D ioremap_wc(mem->dma, mem->len); - if (!va) { - dev_err(dev, "Unable to map memory region: %pa+%zx\n", - &mem->dma, mem->len); - return -ENOMEM; - } - - /* Update memory entry va */ - mem->va =3D va; - - return 0; -} - -static int st_rproc_mem_release(struct rproc *rproc, - struct rproc_mem_entry *mem) -{ - iounmap(mem->va); - - return 0; -} - static int st_rproc_parse_fw(struct rproc *rproc, const struct firmware *f= w) { struct device *dev =3D rproc->dev.parent; @@ -138,8 +111,8 @@ static int st_rproc_parse_fw(struct rproc *rproc, const= struct firmware *fw) mem =3D rproc_mem_entry_init(dev, NULL, (dma_addr_t)res.start, resource_size(&res), res.start, - st_rproc_mem_alloc, - st_rproc_mem_release, + rproc_mem_entry_ioremap_wc, + rproc_mem_entry_iounmap, "%.*s", strchrnul(res.name, '@') - res.name, res.name); diff --git a/drivers/remoteproc/stm32_rproc.c b/drivers/remoteproc/stm32_rp= roc.c index 632614013dc6..a6e36a11627d 100644 --- a/drivers/remoteproc/stm32_rproc.c +++ b/drivers/remoteproc/stm32_rproc.c @@ -113,35 +113,6 @@ static int stm32_rproc_pa_to_da(struct rproc *rproc, p= hys_addr_t pa, u64 *da) return -EINVAL; } =20 -static int stm32_rproc_mem_alloc(struct rproc *rproc, - struct rproc_mem_entry *mem) -{ - struct device *dev =3D rproc->dev.parent; - void *va; - - dev_dbg(dev, "map memory: %pad+%zx\n", &mem->dma, mem->len); - va =3D (__force void *)ioremap_wc(mem->dma, mem->len); - if (IS_ERR_OR_NULL(va)) { - dev_err(dev, "Unable to map memory region: %pad+0x%zx\n", - &mem->dma, mem->len); - return -ENOMEM; - } - - /* Update memory entry va */ - mem->va =3D va; - - return 0; -} - -static int stm32_rproc_mem_release(struct rproc *rproc, - struct rproc_mem_entry *mem) -{ - dev_dbg(rproc->dev.parent, "unmap memory: %pa\n", &mem->dma); - iounmap((__force __iomem void *)mem->va); - - return 0; -} - static int stm32_rproc_of_memory_translations(struct platform_device *pdev, struct stm32_rproc *ddata) { @@ -237,8 +208,8 @@ static int stm32_rproc_prepare(struct rproc *rproc) mem =3D rproc_mem_entry_init(dev, NULL, (dma_addr_t)res.start, resource_size(&res), da, - stm32_rproc_mem_alloc, - stm32_rproc_mem_release, + rproc_mem_entry_ioremap_wc, + rproc_mem_entry_iounmap, "%.*s", strchrnul(res.name, '@') - res.name, res.name); if (mem) diff --git a/drivers/remoteproc/xlnx_r5_remoteproc.c b/drivers/remoteproc/x= lnx_r5_remoteproc.c index 45a62cb98072..e5d1903c9636 100644 --- a/drivers/remoteproc/xlnx_r5_remoteproc.c +++ b/drivers/remoteproc/xlnx_r5_remoteproc.c @@ -447,45 +447,6 @@ static int zynqmp_r5_rproc_stop(struct rproc *rproc) return ret; } =20 -/* - * zynqmp_r5_mem_region_map() - * @rproc: single R5 core's corresponding rproc instance - * @mem: mem descriptor to map reserved memory-regions - * - * Callback to map va for memory-region's carveout. - * - * return 0 on success, otherwise non-zero value on failure - */ -static int zynqmp_r5_mem_region_map(struct rproc *rproc, - struct rproc_mem_entry *mem) -{ - void __iomem *va; - - va =3D ioremap_wc(mem->dma, mem->len); - if (IS_ERR_OR_NULL(va)) - return -ENOMEM; - - mem->va =3D (void *)va; - - return 0; -} - -/* - * zynqmp_r5_rproc_mem_unmap - * @rproc: single R5 core's corresponding rproc instance - * @mem: mem entry to unmap - * - * Unmap memory-region carveout - * - * return: always returns 0 - */ -static int zynqmp_r5_mem_region_unmap(struct rproc *rproc, - struct rproc_mem_entry *mem) -{ - iounmap((void __iomem *)mem->va); - return 0; -} - /* * add_mem_regions_carveout() * @rproc: single R5 core's corresponding rproc instance @@ -522,8 +483,8 @@ static int add_mem_regions_carveout(struct rproc *rproc) rproc_mem =3D rproc_mem_entry_init(&rproc->dev, NULL, (dma_addr_t)res.start, resource_size(&res), res.start, - zynqmp_r5_mem_region_map, - zynqmp_r5_mem_region_unmap, + rproc_mem_entry_ioremap_wc, + rproc_mem_entry_iounmap, "%.*s", strchrnul(res.name, '@') - res.name, res.name); @@ -560,8 +521,8 @@ static int add_sram_carveouts(struct rproc *rproc) rproc_mem =3D rproc_mem_entry_init(&rproc->dev, NULL, dma_addr, len, da, - zynqmp_r5_mem_region_map, - zynqmp_r5_mem_region_unmap, + rproc_mem_entry_ioremap_wc, + rproc_mem_entry_iounmap, sram->sram_res.name); if (!rproc_mem) { dev_err(&rproc->dev, "failed to add sram %s da=3D0x%x, size=3D0x%lx", --=20 2.34.1 From nobody Mon Jun 8 13:24:58 2026 Received: from BYAPR05CU005.outbound.protection.outlook.com (mail-westusazon11010042.outbound.protection.outlook.com [52.101.85.42]) (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 C231E243387; Fri, 29 May 2026 02:17:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.85.42 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780021025; cv=fail; b=RMgaMhd/Hni4kM3HYT9fyQ9rSjUzth1KVN7jzZL+LNBgIuZvqCkD8oUGP/TnoGJWc/nrwq2dnEjfW3ybFlA9pjJLjTNYOflJKEyzXDkhd80cWMZ5+55uVyCuPMy9MRu//wgJZt1wtKnkBaQvPLD8C8vTuVPs3/gRKsLkBSc06pQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780021025; c=relaxed/simple; bh=V1rAJen6vEdL7db/hYcCZAPPD/oSNR2TC6/oqumLfD0=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=jHQG0scHMZqag+OohMPgJpAOitOIGzNVGjZ5eY1QhISkYVBCEEZ4DodpUowDjejUxKuiGLf4R/arMOcN0xWaznFry5amtk+cxMVSPuwPJYa16VbleXytmzkUuDmvlqfLmZRla5efh1/5//eOVO0yjLeotN6ttqQlHN93IeHh3Qs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=HWlD3u2q; arc=fail smtp.client-ip=52.101.85.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="HWlD3u2q" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PGzk8AGYbk/0hyW5apMfQJSegGDTeQaO2fkegJNeWKam+kg+52WGEv9EdsRXcH56+jczdVjCP9DKU7d85+3IO/azXXSm+V0f27OBzMQIqF5xFzs0KmfZk4fHT4nqQ3oouNKA74q+pdYpasDhU3bcEs1yeo8kUJa0nBBbOk6l+WaZQq3LnLt6m2gw3sBWFaOuNjn4olCpJrc+PAiLtEB8dGR/TqBNJ3AJy+CCRSgY+JO8OahlaS8ckemuWb9hxFpedYSprHs1tNMkIuWc3/Gzg+tFXcQ6cUQoDRn590V4zlIx0HOoqKZjMK7RCBdWGBPu1Ho9HybgkjpkatWl/Qzwtg== 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=IPBnHCMcJan4ctGF+zcZRN31l++FIMVrmZPVx/pQOgU=; b=EWVlzov9oC+mdFtW/pJGEFfhSqxX0wp5D8hYXo91fx6122Y/ungprzV1iVHEem/FbSQdNj6uNCHTPY4WWtox92VEmmdpMuHmz4n+fTbKb9Vi3dwKaOUGSkVUhOojyhzD5EUKPIzZ9uSgRm3kYaVQ2JPdByz3uJJrvKeK6OtiZRKflsExlvoRiH5njEjnYVW3O63XwU2QLeY00O4B+xd9mK3QQoQkwrgS+b04oVVjK7c0N6LPTCoFLumKGib+wyYLPR4/RKXIvlCDcbCTQtCqiaQ/GEdJqHg32Ya8YNIHFWEZdQBdkrFdz3Pv9/wHmNqfdYMwtSq3oNwUCagXlp8RoQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IPBnHCMcJan4ctGF+zcZRN31l++FIMVrmZPVx/pQOgU=; b=HWlD3u2qGcxD3/TtwjuZQerk0Vzy6y8Yx36cLMVc68zvYXcug7G2NHaCiqI15t8RRhgmDokU8UR5ZYFHM9/TUsgKQ/Zgov4X6gi2F1OpHKTsCmgX3jIX6IezH3K47kKN7osyAQkLnZgnwxy1ZL+4g9VKjDdNKKE+DeUy/VMXBNA= Received: from CH0PR08CA0006.namprd08.prod.outlook.com (2603:10b6:610:33::11) by SA1PR12MB7039.namprd12.prod.outlook.com (2603:10b6:806:24e::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.13; Fri, 29 May 2026 02:16:59 +0000 Received: from CH3PEPF00000014.namprd21.prod.outlook.com (2603:10b6:610:33:cafe::af) by CH0PR08CA0006.outlook.office365.com (2603:10b6:610:33::11) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.14 via Frontend Transport; Fri, 29 May 2026 02:16:59 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C Received: from satlexmb08.amd.com (165.204.84.17) by CH3PEPF00000014.mail.protection.outlook.com (10.167.244.119) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.0 via Frontend Transport; Fri, 29 May 2026 02:16:59 +0000 Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 28 May 2026 21:16:59 -0500 Received: from xsjblevinsk51.xilinx.com (10.180.168.240) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend Transport; Thu, 28 May 2026 21:16:58 -0500 From: Ben Levinsky To: Bjorn Andersson , Mathieu Poirier , , CC: Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Geert Uytterhoeven , "Magnus Damm" , Patrice Chotard , Maxime Coquelin , Alexandre Torgue , Arnaud Pouliquen , Daniel Baluta , "Tanmay Shah" , , , , , Subject: [PATCH v3 3/5] remoteproc: mark wc-ioremap carveouts as iomem Date: Thu, 28 May 2026 19:16:35 -0700 Message-ID: <20260529021637.2077602-4-ben.levinsky@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260529021637.2077602-1-ben.levinsky@amd.com> References: <20260529021637.2077602-1-ben.levinsky@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF00000014:EE_|SA1PR12MB7039:EE_ X-MS-Office365-Filtering-Correlation-Id: 4cf804de-6909-4263-37dc-08debd285d66 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|376014|7416014|36860700016|56012099006|18002099003|11063799006|6133799003|22082099003; X-Microsoft-Antispam-Message-Info: Fay+azgUHKwL555qMDuV+ZVKQvN2SwqOnEqSuL/QLCcVr8374DBCLeO+rq1FXuuBFuuAH7aeuX5I1VzX4wanlOoabXFOuUdqbwvX9Dh/1hDE2GSV3iCdaRQgYSlxkBxgfw4g4Ew7zzmTzpsZnSnWHNz8tmIkClqRxxMqgB6ZZw1EnQz6lQiAJU+/r7SSuRdqcAT7ZhCQcodblkUKhDG0pdqzPY7dtM0lLwEVEwt7WGpoxnohnLpHFYFw4FVC93despdZ5qKTKOoud/b8OyyS/DSVXT4SEcMOsa/yMxSPvlfZh+qN/Tf71m6ywYCJ/HnSoBqeVV5yKvduArnHT5OICjjataYEhPd8Q/YYo9tFCngBPt20wGmCt7gl/lSDNA154s+VxpdW+b6drXyCjWiPt3G2TRq+7mHt6AKcr43HckU8ZAnWL1UWbUdVrs4Qa6K6CEd+LSe3li+K1wzgLkDfpNwderRcUpCT8hdTjYKD0aPGffT1Y40twM1okokxoRI8LoOq8N3CfwvHi3Ng7l0JGRaBdZTnKOf6MsBAedGshqT/dRnl3wDU/nbFwOZfRKkOoDiJidK2Us5OBcPKscxEhTjw5zdQj82xUVMiL3HJwrh7DvsGLPKi6n5Mbk+OnfIP5pnlnDTaD41UUQ7iBU29mCIC5gUAiYff/znlRr/gl3Use1QxCHu1y8xjcri0FPEnGOuDVBUocjzJxHczXbuLfuWAcIc6uQoob1PuEGpFtas= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(376014)(7416014)(36860700016)(56012099006)(18002099003)(11063799006)(6133799003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: fAdSOttbnIX7PY9BlZRxYTETvrKvBkS1qufxDtz2mjB0yRx6EJT6/uImYcqKEttzSkJOkZ/rHfKW7JfkhRwI2YsGTCEGVY9sM4E5WksSELnh2e98yfjThV68Z/hSf1p5cfbaiuJg57XhsUCaZJCoZSyF28aNBhzMQq6y4bKkTW3L/X53riPJV26EVVz3JkyTGm8w58uTsME0fMbm9kOyX4PoApEg97Gt6OrEgtfG3OXqbwEt7U9MhFmzHq53pztj+XndUWQSLZZAa5RXr21RnE5O41cMworex71LFxpBMLONJhDmXuxJ6bJ3z0Td1FP4A7WdBOqCfghukYZANv/7k10fLlJgvW40m43OsPM4TN3dYfJC2UAiAryWoq9QFob22DWUbL7Lt7EIzZM3k+4HTl8AXzZ1+gu3qGFEMsOgGJt4E53zcCYyJtIhltU51ATe X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 May 2026 02:16:59.5909 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4cf804de-6909-4263-37dc-08debd285d66 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CH3PEPF00000014.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7039 Content-Type: text/plain; charset="utf-8" Carveouts registered through the shared wc-ioremap helper are backed by I/O memory, but rproc_da_to_va() only reports that to its callers when mem->is_iomem is set on the carveout. Without that flag, the remoteproc ELF loader and coredump paths can fall back to normal memcpy()/memset() accessors instead of the I/O helpers used for iomapped memory. Mark shared wc-ioremap carveouts as iomem so the framework uses the proper memcpy_toio(), memset_io(), and memcpy_fromio() accessors for these regions. Signed-off-by: Ben Levinsky Tested-by: Peng Fan #i.MX8MP-EVK --- drivers/remoteproc/remoteproc_internal.h | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/remoteproc/remoteproc_internal.h b/drivers/remoteproc/= remoteproc_internal.h index 46080c1c030e..9afda697271d 100644 --- a/drivers/remoteproc/remoteproc_internal.h +++ b/drivers/remoteproc/remoteproc_internal.h @@ -136,6 +136,7 @@ static inline int rproc_mem_entry_ioremap_wc(struct rpr= oc *rproc, } =20 mem->va =3D (__force void *)va; + mem->is_iomem =3D true; =20 return 0; } --=20 2.34.1 From nobody Mon Jun 8 13:24:58 2026 Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azon11010060.outbound.protection.outlook.com [52.101.56.60]) (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 72062285CB6; Fri, 29 May 2026 02:17:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.56.60 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780021029; cv=fail; b=OPiE4T2/pL+wMhIUxUrwL0ixVE/SxN/ImIMVYOrDtnqGVgGZJ9R5INQBXAPmDfFnGAbtI5bv5icshMgSD3R7vHlhc61vVOh1hbwSORQz+2ZQHXMLeZyCxeJq5XVJvimZ17i8ICP9nIH5h7Kuw0axgkGZLf+sOZKSUayW6pbFezc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780021029; c=relaxed/simple; bh=3BddJVi658rNH6YYFuue3Q4JtIUofy4CYbLS/R8Axf8=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=dOFQ/X6/NHBXtCvpOhVbsvJw/l9om8rWYfTA3o4MGTIak7THzTpJMReHAMv+Dy2IF6iHlBQ7ibXHCWgsy8F2ZePXFihvqf9Vx3HJrVrGIyObMH9u4IFG+UXYIihFYSs8ix3uDF+DGzkgksHBTQRgFTKXy4cYUr5LKVKtSrhQLa4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=D1Wfqtcl; arc=fail smtp.client-ip=52.101.56.60 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="D1Wfqtcl" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XiXe9VTnZpdQOrwm7Ub9UfTululW81I+MfElcge1S/cMdVj0uwTirWIvqQaxjyOE8y8Ed415yXoQiC42IOsLwyns+WEb2fqAiYYOAC0O/mMSO45T4rrytPZmTI4YaArdjugB3DQFS1icg0oD4UbUBthYjyQzuSZqxsYOT8KM5HLEzG3Htbnf6eBa5fffhqcEaA3uAgFHT3GuH7sQ55i8Wq8nkEMmUMRiRe8qwLQ6TjQgujyWOAtHPwXnoVDbqVpYs0Rci/NqypPmBOOcWuFP/SPFjEQJ6VpVRr47p3eoiPBoJFe+Kvq7RMtLkCfcWy5hjinPKxWNmEfXWfuyrp1TVA== 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=N1Mismg1crM8CcnfL79MR42jPTSXv0lL5FbcaDD325A=; b=IoFcvj7IZQxdquPkThiSy9cQcE+lbhr0XDv39vIl4iWFVBqAJFgzofLgiRqap9ZnZqi2SrRqRzb4A8MmUZnjNQ2gnCHtAzECLPhIybbGH7RVoQW/h6vJvexIERQqmzkuqd66woq4aLTCzzoxF3oPZ6dCiER8pcYFplJzgZZrnTVlrxZBTBpg7t3ctQtnSxVQpkVtCPNBhaJPuS3X5ahx5zSngoQ0ZwLTITQxJNbvMWmYxsMRYxy8OwZD7zoc7yD1tWxGh6DFUiKG3foks72dKFjqA95ajUQ2Unt/5TH3YY407ilEnt+DrJLJMTa3oomvaTGrP2xSFjbdLahCrX8yVQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=N1Mismg1crM8CcnfL79MR42jPTSXv0lL5FbcaDD325A=; b=D1WfqtclqWe55cvuOWEQfyptxt9t3SNZsVF00DTUvm4qMKmlav2l2VUbH2GxHgO+1u3YuY+Svt9/hZWSduNXM8s5ocpZJM/4B55jE+n0QlNy6rn6uFFCG1vYDN/47zfaMf+KxdAt6KtqTylNa+Ga/q15MR7/SM+3Q3jqtPEFmgA= Received: from DS1PR03CA0013.namprd03.prod.outlook.com (2603:10b6:8:450::6) by SA5PPF916D632A9.namprd12.prod.outlook.com (2603:10b6:80f:fc04::8d6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.11; Fri, 29 May 2026 02:17:01 +0000 Received: from CH3PEPF00000015.namprd21.prod.outlook.com (2603:10b6:8:450:cafe::64) by DS1PR03CA0013.outlook.office365.com (2603:10b6:8:450::6) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.13 via Frontend Transport; Fri, 29 May 2026 02:17:01 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C Received: from satlexmb08.amd.com (165.204.84.17) by CH3PEPF00000015.mail.protection.outlook.com (10.167.244.120) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.0 via Frontend Transport; Fri, 29 May 2026 02:17:01 +0000 Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 28 May 2026 21:17:01 -0500 Received: from xsjblevinsk51.xilinx.com (10.180.168.240) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend Transport; Thu, 28 May 2026 21:17:00 -0500 From: Ben Levinsky To: Bjorn Andersson , Mathieu Poirier , , CC: Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Geert Uytterhoeven , "Magnus Damm" , Patrice Chotard , Maxime Coquelin , Alexandre Torgue , Arnaud Pouliquen , Daniel Baluta , "Tanmay Shah" , , , , , Subject: [PATCH v3 4/5] remoteproc: add helper for optional ELF resource tables Date: Thu, 28 May 2026 19:16:36 -0700 Message-ID: <20260529021637.2077602-5-ben.levinsky@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260529021637.2077602-1-ben.levinsky@amd.com> References: <20260529021637.2077602-1-ben.levinsky@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF00000015:EE_|SA5PPF916D632A9:EE_ X-MS-Office365-Filtering-Correlation-Id: bb3937bf-7cc4-4b4a-2b84-08debd285e98 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|36860700016|82310400026|7416014|22082099003|18002099003|11063799006|56012099006; X-Microsoft-Antispam-Message-Info: HoVIPfxwRGW4JP2ZUOwbCZDom3ZDpe20NLMCe0l1ctYePSmgZAF702yw2A8e7hETiZVp+iwE3EHduHsQ3fkj3CZpanJ3GnFcNzfpKzGGzCi4UZW7GbB/m2vBXGYzWbzD/1gHoLnJyYQj/EDLSKV0MA2p67cotRqr4L9C+qB5eYcrEZ18UGjO/NGsQXEQU524LruuUyBUEq7zYd13q1FGvuJfUJP3pOSpjGehqDYLH3cSeKRVheLukpKSN0Mxh2i1sJHPJ5U96oIciOm+H65X3BtJHjm4PvXvJ0jsIS+eIz5zPPiE6g/PKf43PEzgTvLuzXuS5WYEjx9bxF+1cBwu/KWfMcklDfRH7sZsyg3tOnQjmSqgph9fEtFY6liaD9Ru5yoqktGXnbRiLcqrHqnKcpbJX4sGEOiy5AILuazOcCNAIMSY4OIG8/+fQdKa5TSfyll6EIn8YDMNuoZn2Eui7Qy+QC2X5LCJBV6KE5SvugRbBsVxLeCtPdaKRCpvWNA2ptmY8vj28BTtapbeKMqqclozHWOVIrDkzthPLPm4yx6NcbvG4slyQNFLL/D8hpi/+X42vNDS/dmdMofk2781zAsIScOi4BKkgTe7Xh2VIcY8uTgJ6z9PZDRvk/5F+w8eCb0cejO30Pi66MGyf47cVw9a50DkkeLncWuECHVqVyoSum9QT6QVDD+i2EH+oPPi+NPMrMy68ZllK3omNpW5LrWrHGZt3+yRcM2WellOqVc= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(36860700016)(82310400026)(7416014)(22082099003)(18002099003)(11063799006)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: CTjJkvmuDUmFXLNOcyRyYxgUhsm6Z817pmwXCrT7n5xLy0iREE3nNfBT+wZTb104ZYMsQu9iuYGFfdn0wVpKRNt3basUp3W72m4s7/8ed5vfsZIQel8FTo8GP3KQ9n67hObQZe57c1sFn0cSm7vZjF8kl0Tl/wy4RpbzjU4qjZNpHJSMz7G+HRAGt8VJ/4vNz6E/thfvHUOewSkC9fPdvTidEsawW0i5xZiFFlP/IMXBVH1EajHTYlyP4FMAqM7sGmrt17D5sOA0/su1PLKdHgPqEIqaqOAz/ECyGjppXI9qHordPyZ7kzAZwmQW7HwWep8zsXxNtrJGTM2qmBl+v0R65EQZ5b2OsOPPSZutl5oXSuTH5xxiGW0u7WoLC+plKgvXTbocYw5UHG4e2wAwWy5dSZwiOvT91Gr/gcP7HT64gkiA/sacpcsjTBmUR0kO X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 May 2026 02:17:01.6233 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bb3937bf-7cc4-4b4a-2b84-08debd285e98 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CH3PEPF00000015.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA5PPF916D632A9 Content-Type: text/plain; charset="utf-8" Add a helper macro around rproc_elf_load_rsc_table() for thin parse_fw() wrappers that treat a missing ELF resource table as optional while keeping per-driver logging decisions local to the caller of rproc_elf_load_rsc_table_optional(). Signed-off-by: Ben Levinsky Tested-by: Peng Fan #i.MX8MP-EVK --- drivers/remoteproc/remoteproc_internal.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/remoteproc/remoteproc_internal.h b/drivers/remoteproc/= remoteproc_internal.h index 9afda697271d..02c00475b010 100644 --- a/drivers/remoteproc/remoteproc_internal.h +++ b/drivers/remoteproc/remoteproc_internal.h @@ -149,6 +149,17 @@ static inline int rproc_mem_entry_iounmap(struct rproc= *rproc, return 0; } =20 +#define rproc_elf_load_rsc_table_optional(rproc, fw, dev_func, fmt, ...) \ + ({ \ + int ret =3D rproc_elf_load_rsc_table(rproc, fw); \ + if (ret =3D=3D -EINVAL) { \ + dev_func(&rproc->dev, fmt, ##__VA_ARGS__); \ + return 0; \ + } else { \ + return ret; \ + } \ + }) + static inline int rproc_prepare_device(struct rproc *rproc) { if (rproc->ops->prepare) --=20 2.34.1 From nobody Mon Jun 8 13:24:58 2026 Received: from DM5PR21CU001.outbound.protection.outlook.com (mail-centralusazon11011045.outbound.protection.outlook.com [52.101.62.45]) (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 0BC7F243964; Fri, 29 May 2026 02:17:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.62.45 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780021029; cv=fail; b=b0q8k5J5ZZ+sLDXNXpQtLEXBz6IsXHDzw13wjWhHsmf99sTTcfqInfMEpdai0roGbLap8ZUDb4xxxMr39kVdYA8Zp+nx531B43i23wiWGGWr3CddMbgg8VvwDcYYilOlzSSGeH6QPNCUFHfrp3+clW17fMM5ScfFfN18kyg5Od0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780021029; c=relaxed/simple; bh=37SMMcGuUxkWfp1Eh8TvX6Qp4rvwhkzVnprAP0GtL60=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=FFiCumN96AZMZpYbak3pPnBkMnfOD2h6fK9vr5K6bJskPWF2nsK6zf2//wM+cR0Ls3vON//ib4+ZHfh18wFTF1zUvsER+jxm60FHxWhfZH/cOcOBifejgX6kZG3ijJGH60A8FMm9hChB1+Dzki1w7eVs6SX7P36+MfnWX9aUThc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=EFscZApX; arc=fail smtp.client-ip=52.101.62.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="EFscZApX" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LQnQUmmFFkvreBqbqozt5pUVEE4uj7IJBZjkUwgl1CdDrL1Xv7gOrgRzUAfi4FkTyD44dKnseiQhJwRe6nDJhd5BeFoIZroclTqIN66POef6KDuXgcSrhO5x0CSsBUC9Jxyqm2xXu74h0K+p+P9Fjy0AGQyI5d/vbpm4+da89LWNt+4ETHyzURUPzrjqI7rfUkzCXGSR898I/ScQdnej2kz3unftbQuKynFkYdvhaz/NHBde8DXvs5GLId+J6rW9fQkp0m31VmtTruhqHa5LDqQwJxwM4iOoqclNHF0fJ8ZNCjB8fauo99tdZZ/qQfLU88hBVT9omOEYY4Kf2aIEaw== 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=slnjKHN9Q9jUP+OZ5n1J58UVItYvJgrKZngcCtS8prI=; b=ChhS8HPJTaahduGw7gBKDa1KSRXB7gpBw1bJZAGeu5MLaY60R/7fSmxZ00HFWr2IVzNLOxE4wMChKzBw6BHP82G5hew7Mt+G6fPPJMWIib79e93uHy2S3rGt3nQfsMJ1kdyuyN/DcxR2UPCP91IzufLKMaCnqkLiCmrOkwU2IQVTJH4EtjSiTKkByyy6CoqEH5F6/RexB8v0mg3EYPtd5Xp4UMuGM/pFyiYKK6Hywy41CDV43CJ/07qMhuVD5QPEoK7JvYbQy+5JxtmQ1UDsADsNVhvV6BUoS7NQWvAzt8YfGxmRpwWAptpu3nO+EYs9aEtzA2SMT9T/DsBogCfiog== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=slnjKHN9Q9jUP+OZ5n1J58UVItYvJgrKZngcCtS8prI=; b=EFscZApXjBc/YZFEHrGLVSgUyOuCgKMLakEdU85lj8b7raTTIVKy+VFrFsmjNHoiFifmoHJvQkihxNgLMyFatcmTy59NmNJ4ymOR3aNzZPqLoo8bq35xeBYa2k1DjpvuwucvbZfUckyE96qrxs04NSFM4BGPhoiQf5peSr52bm0= Received: from CH0PR08CA0008.namprd08.prod.outlook.com (2603:10b6:610:33::13) by LV9PR12MB9782.namprd12.prod.outlook.com (2603:10b6:408:2f2::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.11; Fri, 29 May 2026 02:17:03 +0000 Received: from CH3PEPF00000014.namprd21.prod.outlook.com (2603:10b6:610:33:cafe::4d) by CH0PR08CA0008.outlook.office365.com (2603:10b6:610:33::13) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.13 via Frontend Transport; Fri, 29 May 2026 02:17:03 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C Received: from satlexmb08.amd.com (165.204.84.17) by CH3PEPF00000014.mail.protection.outlook.com (10.167.244.119) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.0 via Frontend Transport; Fri, 29 May 2026 02:17:03 +0000 Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 28 May 2026 21:17:03 -0500 Received: from xsjblevinsk51.xilinx.com (10.180.168.240) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend Transport; Thu, 28 May 2026 21:17:02 -0500 From: Ben Levinsky To: Bjorn Andersson , Mathieu Poirier , , CC: Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Geert Uytterhoeven , "Magnus Damm" , Patrice Chotard , Maxime Coquelin , Alexandre Torgue , Arnaud Pouliquen , Daniel Baluta , "Tanmay Shah" , , , , , Subject: [PATCH v3 5/5] remoteproc: switch drivers to optional resource-table helper Date: Thu, 28 May 2026 19:16:37 -0700 Message-ID: <20260529021637.2077602-6-ben.levinsky@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260529021637.2077602-1-ben.levinsky@amd.com> References: <20260529021637.2077602-1-ben.levinsky@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF00000014:EE_|LV9PR12MB9782:EE_ X-MS-Office365-Filtering-Correlation-Id: bd9b2cb6-506e-4f88-79be-08debd285fc6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700016|82310400026|7416014|376014|1800799024|11063799006|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: FCak5C0RkgWdYy5+WJR7TUN5hMjroMhFsClW/6G4tCMaLewpKKmAsiMtmIZY25srHWckzAiIhPRpxG/zPzrHJbQ0OFm/V71mmwnfz8+CLE6KGkx+mvkdnSVRvcJbc/bKqDQWCnlDXNUxto/TRlXtAtMNNGszLisXgs9QB9OxwSqwasyIDlobWNXCcRaIbtvZ1hiJhWmre1eSSraivsSkjUzBvFMNuU3URb6LEADLjvl+Y3dzh+ytIcsCtqs0EdlHvZKYwY7K6azlD3kfFjH804yOWJ4JF+kpl5dL98NA7PNUx4JtqPk0ShRojBWcsQdZ3vOb0PZj0M7NqW91SvdwDG1MKWWtK7k/7EoUy2PNdwBcU+cn3m28N9/VW3o3pb6v2TiFDFe01OJWMQI4d1KQl2Qp3Tm5dWb5HGaw1heFTbm88ZjKIOp1pHPcK1KTyq65PDBU6Z9pUlhAI14sYo7lDRXSA/Po1DrkWjjmgdA6//nuLGApkTwIj8rU6iCQSgWfoLa7y8Gq9niJg3HXJl/gdWzz06T50ALRtxxKJu+pKnvoJv5mTpU40EGjYtvormb3776tJvVdx2jMiiMhjTKtKaCYaFl5SUF3JXc3HvfsdYFhvFvnexCZF5msVl6HDUGKr2Jcd4Kz79m+YV4jAG8sXL7EeFRWPqsLaERbsmmJGYgYVr4utJ3KHjw+hhqSUgCfGaafI8FleWOwG0E5RNNy80Nv9ce4Uy+Xj7bCPp/dYk4= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(82310400026)(7416014)(376014)(1800799024)(11063799006)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: yCMM9cBxFdbN+350UFj80uTzQeP9TtxmrG78YC3wByFk8SOUiGG91S7SXrH8fba0i9yddj4eB0t1g2AcSWsst7h1TVxIE5etfNc38EpUu8sLFAeUjCrmieb0bXytvFoB0EJ+7nFarYwPfCXzjaa4E8+82KMbxldOE2kA9l4N9tbQqaYGFndEmaM9Mn1w/icJpRmqLLklucpD7j4W3Q/B5kA8TXCs1uFO5tSubo3ch/c41Poj40LwW7BUoXXWSFpdNBeR7BWvi7jlFkwMyWBNWAOi09XxzEKmNiLvIbcM1RpAPv6DnuGpLBaT/5bzRqz4CMeCTpnhrUHoVeoPrF2/Yt+R7BkEV6/QjknI6oFbvFLTl7pldlZxGxvNiwiHmtZHcPnjE68rd5axy+U6rTxwErGL/kYl+/5JEcYJ2K6li94s0zbUWunnAquMhMogO1r1 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 May 2026 02:17:03.6038 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bd9b2cb6-506e-4f88-79be-08debd285fc6 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CH3PEPF00000014.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV9PR12MB9782 Content-Type: text/plain; charset="utf-8" Use the shared optional resource-table helper in the remoteproc drivers that already treat a missing resource table as non-fatal: xlnx_r5_remoteproc, rcar_rproc, stm32_rproc, imx_rproc, and imx_dsp_rproc. Keep thin local parse_fw() wrappers in each driver so the helper only centralizes the return-value handling while each platform retains control over whether the missing-table case is logged and at what severity. Signed-off-by: Ben Levinsky Tested-by: Peng Fan #i.MX8MP-EVK --- drivers/remoteproc/imx_dsp_rproc.c | 5 ++--- drivers/remoteproc/imx_rproc.c | 8 ++------ drivers/remoteproc/rcar_rproc.c | 8 ++------ drivers/remoteproc/stm32_rproc.c | 6 ++---- drivers/remoteproc/xlnx_r5_remoteproc.c | 23 +++++++++-------------- 5 files changed, 17 insertions(+), 33 deletions(-) diff --git a/drivers/remoteproc/imx_dsp_rproc.c b/drivers/remoteproc/imx_ds= p_rproc.c index 2d9f14fbef1d..fd60c67ba8a9 100644 --- a/drivers/remoteproc/imx_dsp_rproc.c +++ b/drivers/remoteproc/imx_dsp_rproc.c @@ -956,9 +956,8 @@ static int imx_dsp_rproc_elf_load_segments(struct rproc= *rproc, const struct fir =20 static int imx_dsp_rproc_parse_fw(struct rproc *rproc, const struct firmwa= re *fw) { - if (rproc_elf_load_rsc_table(rproc, fw)) - dev_warn(&rproc->dev, "no resource table found for this firmware\n"); - + rproc_elf_load_rsc_table_optional(rproc, fw, dev_warn, + "no resource table found for this firmware\n"); return 0; } =20 diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c index 6249815b54d8..6e59e6196555 100644 --- a/drivers/remoteproc/imx_rproc.c +++ b/drivers/remoteproc/imx_rproc.c @@ -682,12 +682,8 @@ static int imx_rproc_prepare(struct rproc *rproc) =20 static int imx_rproc_parse_fw(struct rproc *rproc, const struct firmware *= fw) { - int ret; - - ret =3D rproc_elf_load_rsc_table(rproc, fw); - if (ret) - dev_info(&rproc->dev, "No resource table in elf\n"); - + rproc_elf_load_rsc_table_optional(rproc, fw, dev_info, + "No resource table in elf\n"); return 0; } =20 diff --git a/drivers/remoteproc/rcar_rproc.c b/drivers/remoteproc/rcar_rpro= c.c index e3121fadd292..1fe6c01bde40 100644 --- a/drivers/remoteproc/rcar_rproc.c +++ b/drivers/remoteproc/rcar_rproc.c @@ -57,12 +57,8 @@ static int rcar_rproc_prepare(struct rproc *rproc) =20 static int rcar_rproc_parse_fw(struct rproc *rproc, const struct firmware = *fw) { - int ret; - - ret =3D rproc_elf_load_rsc_table(rproc, fw); - if (ret) - dev_info(&rproc->dev, "No resource table in elf\n"); - + rproc_elf_load_rsc_table_optional(rproc, fw, dev_info, + "No resource table in elf\n"); return 0; } =20 diff --git a/drivers/remoteproc/stm32_rproc.c b/drivers/remoteproc/stm32_rp= roc.c index a6e36a11627d..0e5d64fbe52c 100644 --- a/drivers/remoteproc/stm32_rproc.c +++ b/drivers/remoteproc/stm32_rproc.c @@ -234,9 +234,8 @@ static int stm32_rproc_prepare(struct rproc *rproc) =20 static int stm32_rproc_parse_fw(struct rproc *rproc, const struct firmware= *fw) { - if (rproc_elf_load_rsc_table(rproc, fw)) - dev_warn(&rproc->dev, "no resource table found for this firmware\n"); - + rproc_elf_load_rsc_table_optional(rproc, fw, dev_warn, + "no resource table found for this firmware\n"); return 0; } =20 @@ -928,4 +927,3 @@ MODULE_DESCRIPTION("STM32 Remote Processor Control Driv= er"); MODULE_AUTHOR("Ludovic Barre "); MODULE_AUTHOR("Fabien Dessenne "); MODULE_LICENSE("GPL v2"); - diff --git a/drivers/remoteproc/xlnx_r5_remoteproc.c b/drivers/remoteproc/x= lnx_r5_remoteproc.c index e5d1903c9636..0fdda82b6e77 100644 --- a/drivers/remoteproc/xlnx_r5_remoteproc.c +++ b/drivers/remoteproc/xlnx_r5_remoteproc.c @@ -675,20 +675,15 @@ static int add_tcm_banks(struct rproc *rproc) */ static int zynqmp_r5_parse_fw(struct rproc *rproc, const struct firmware *= fw) { - int ret; - - ret =3D rproc_elf_load_rsc_table(rproc, fw); - if (ret =3D=3D -EINVAL) { - /* - * resource table only required for IPC. - * if not present, this is not necessarily an error; - * for example, loading r5 hello world application - * so simply inform user and keep going. - */ - dev_info(&rproc->dev, "no resource table found.\n"); - ret =3D 0; - } - return ret; + /* + * resource table only required for IPC. + * if not present, this is not necessarily an error; + * for example, loading r5 hello world application + * so simply inform user and keep going. + */ + rproc_elf_load_rsc_table_optional(rproc, fw, dev_info, + "no resource table found.\n"); + return 0; } =20 /** --=20 2.34.1