From nobody Sat Feb 7 05:53:11 2026 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11011003.outbound.protection.outlook.com [52.101.52.3]) (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 B64B94657EC; Thu, 22 Jan 2026 04:56:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.52.3 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769057766; cv=fail; b=lblIArV35eDR7c1LOQLdHV99TsKXfYihdDtv/8x5Y+O/5cMHNh/gkL6PZoYbrH8Q2g8YnuvggkLaG/dTicMee/SLErIsGsTGYbxaHA3QPphkKFKV7iyuwxC20zbPdrJmEtsJNEfs13nbEr746+eFHx+LbNN9OPZz0OaHJRYuNGM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769057766; c=relaxed/simple; bh=jpaWI8+HhUxeDlqEWFtrxMXxNG8pYPp0GeoCXLCV49s=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=qhxOo6lTLEXxeAurQjozhkXpEafFwTXMRo6NhbYleDCEpWCUjAKdp2Pc9Dksp3PlHpxCj90ffLr/uoUYjUQLKXDYsGRK3WpX3SIJuUAfIvZJYnvLZ/a5uPEbL6s7b7+IQHy4GZHKj37DeifhAQ27vsZ7HrI9lfjEsgUMDsVNOuk= 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=ize6AMEF; arc=fail smtp.client-ip=52.101.52.3 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="ize6AMEF" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jon6+P3jqPk1bYtbn0vNi9nsXegtIlTFKBXIg5xjdmR8yNGxMvjlnQX61JNa4dMTe5VRH1kJMvO9SLYJFoDiCQnkiBNzxVr2cpVMxldjqG4H0UXy/mJHNuUWpBw1wPWqCmdatEksv5iylrvwg6PrvfUzR5IxAWbWjmN2CTL4mGXTfecihIBp8SzkmXeuPxDxn7DemaqR15LDlPamJtjmsNYaVUutDP5IyIC4nrlEKX/uPiNfqZTpNKp3kCS0XSR0yim5lFE8QxCSeVdTkNd+A7KcT0z/92fLvm+bGDUYYAjNZFzZCybaAoVjh1+nrJ32n/yFLHLW8F3PmxlVOXoT8w== 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=cCzW9G+VjXYcPMGsTsIlMVCC5Yd4oDjqF7gtCXZ9/0s=; b=Xs2ML3rzYNsgcN1YLiHC+AiC21f8ui5Zz3eYGjEGltFRB/drk54Ao+cJDnyEKXO2sjOn7foQIFLk9zAYPYAptWtLW85ZHU61wCPDXS0EmIW1QM4lsiJOFoUD0lexHi6zWoNbCr0lqOUV3WixKjECVPjrsIDugG2YcAjhYvuIXCKwb5atPCuKI173cg4kRMWX2U0OKeeXg5SMY956b/VZLrDhTQfPxOTO9Ep+Qt5ejNW3tuHisVc05X/EL7Y3oaajP+xhUm8BKTZ6vBbvOjdxzzu0kXBWFLvoRt9mTGYcwTCzf0JSb/fHu9MHulvnTLKaxBgWdHcdxyJBvKn6bS942Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.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=cCzW9G+VjXYcPMGsTsIlMVCC5Yd4oDjqF7gtCXZ9/0s=; b=ize6AMEF3AfH2JOvtGqA95F9eAur3Ye5/8LPBnQ/0oROlkV2GK0dDgt9IX3HsgSNPnA6Ei1iCUoAVbj0xIgwc8MlwWE0ALh3JJ6D3/UnHYF2uN/yXkhfuSdDmBQEE8gctHu8buBCj9tMGhyvvF0esCBXZHzpNCjq7i3kIvpAXYI= Received: from DS7PR03CA0220.namprd03.prod.outlook.com (2603:10b6:5:3ba::15) by IA1PR12MB6460.namprd12.prod.outlook.com (2603:10b6:208:3a8::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.9; Thu, 22 Jan 2026 04:55:56 +0000 Received: from DS3PEPF000099DC.namprd04.prod.outlook.com (2603:10b6:5:3ba:cafe::39) by DS7PR03CA0220.outlook.office365.com (2603:10b6:5:3ba::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9542.10 via Frontend Transport; Thu, 22 Jan 2026 04:55:47 +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=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by DS3PEPF000099DC.mail.protection.outlook.com (10.167.17.198) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9564.3 via Frontend Transport; Thu, 22 Jan 2026 04:55:56 +0000 Received: from ethanolx50f7host.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 21 Jan 2026 22:55:54 -0600 From: Smita Koralahalli To: , , , , CC: Ard Biesheuvel , Alison Schofield , Vishal Verma , "Ira Weiny" , Dan Williams , Jonathan Cameron , Yazen Ghannam , Dave Jiang , Davidlohr Bueso , Matthew Wilcox , Jan Kara , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Li Ming , Jeff Johnson , "Ying Huang" , Yao Xingtao , Peter Zijlstra , Greg Kroah-Hartman , Nathan Fontenot , Terry Bowman , Robert Richter , Benjamin Cheatham , Zhijian Li , Borislav Petkov , Smita Koralahalli , Tomasz Wolski Subject: [PATCH v5 1/7] dax/hmem: Request cxl_acpi and cxl_pci before walking Soft Reserved ranges Date: Thu, 22 Jan 2026 04:55:37 +0000 Message-ID: <20260122045543.218194-2-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260122045543.218194-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260122045543.218194-1-Smita.KoralahalliChannabasappa@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS3PEPF000099DC:EE_|IA1PR12MB6460:EE_ X-MS-Office365-Filtering-Correlation-Id: 5af0b657-deb5-446e-e159-08de59728735 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|82310400026|30052699003|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?AwTViOPY7mKAjMe+XLampD41rIjCC4Fr7IAdkmqhfiDsY0zi44P/96uA4Vma?= =?us-ascii?Q?OVNt93hzxDOtTIXRJaMxmGYuICz2DBS5sm/5hwhQITdg/FgE4gZhi1j+tm1S?= =?us-ascii?Q?K2HkWSOpBgkh3I84jVmTKrwhBmIC/rCfg3n3u0JhuXS5naed+sWnx5ny/33E?= =?us-ascii?Q?WEKS+eo7Gi7aVj9PRfzjVMCa8WAaXF6jHaETVFP8Lw2Q5wszUWN9CmpFlUdw?= =?us-ascii?Q?oEvh3QKJv+DqBbykvsVv/WWjjcrhGWeS11w+UC5H6ZmGh4iXQLHlYeN96jF9?= =?us-ascii?Q?jUe0ddEwz5ZvV58+BoYODfbf8JkGNUBCcMOYtvuda+DlZ3DN25dfCSyh2p9o?= =?us-ascii?Q?YxbWCl/MmKZAERfUHimIXGyS5X4FXgfD6ka8Of4vqKLpsQKw63ozGu/QjUfk?= =?us-ascii?Q?N54ZZUCIS1dNEuG6EpeLXvn8WSccl2HpVhFpVILMayqOFWbet6D48mkRnqWk?= =?us-ascii?Q?E5t+IY8tF8V4jkRlR7pTQZd6qPjn3ZqbY83+n7U/XpvcEHl0n56sbQdOVjGx?= =?us-ascii?Q?gL08sB9Iea6fdCRDjij3nehMMBKpIMYuugLkzgVtye3RWSxoRc7RgyQpBexq?= =?us-ascii?Q?LTVWV33up3ifl8Re0S0TSTM9FwLhz81zbXvLViyLBi53gUKURyXemxGt0moj?= =?us-ascii?Q?T+ApmRdXc6yT66YJ+FZcMTGSDom2Gh87Uk9l9ee9xrTncQFtGbdKoyv3rWrh?= =?us-ascii?Q?lGEXTDE7rMbMy/4n6a+Yu3m9JbaTRep9K8C4F+sr+f1bE9eoxcVsUt7AoHSm?= =?us-ascii?Q?/s4mjBz6KniUUXhkbxNhkvhHbRuipikgcO9ujBNKfJgzWNLfhijLLDAHqjtc?= =?us-ascii?Q?XZ9+yeLjFDvItSE8niQ3hMN5CcO118Oab4b1j14PIPC2QyGGJCZxNpTeJ2nr?= =?us-ascii?Q?s1oSJAdXCQknvIVt4UlnkD7YVkMwgw8Z6g5J/TUhQvr4PsGH+xduQqbrxGSg?= =?us-ascii?Q?KnYkRqC0ANi5JZNrZoZF/jkZTkhEb5eZEaGS7sl2BCrR82Gl+MVXoOScAtIi?= =?us-ascii?Q?yt+IEN0GlDfA6f0s7HyzenZ7t+DK3vkl+882FeoWW9HrPSPTkNgYxcktkf3O?= =?us-ascii?Q?9LgDXiXkjhSzkiwK77LtoUn7lT42r/4OdLzTBMeyGvL1j3uiwSRzv1s/xZW7?= =?us-ascii?Q?VX5sQ0LkiNc09ihsloL2BWu+Q/0ExugGKuLgBckJoUPC1MnaY29U4Yy8VQyq?= =?us-ascii?Q?l6wLB7EBIsvDJImhpxxI5hUn5i+iEcdTb/Tb6Mu+GNA8Hg/xLN5J9O8CBYVf?= =?us-ascii?Q?W8pLBIsoT9hLzY8Xhrq6CnVBEXZgiPx9bq2L91/z/H88hooDLAHq9YjI+lmG?= =?us-ascii?Q?ftEGlQ6pwKSA2pVwj+xWhsAPDix1bQifHWPCzl+Flue68iYdEN+eoX8AsI6f?= =?us-ascii?Q?H2SCzB5x6HG/m/hY6n3xuuBpJ7IcS6u/atdzQDmvjSKZhplMa00eRksVuZP+?= =?us-ascii?Q?4Fd+jwrtWjWBOm5VFW1/P01gZnVK6BRipl41BtluBqmGHKJmq0UvRvpYHsr1?= =?us-ascii?Q?/pzPX7AiG1t6Tl+tiPJUrw3HrZ3sr/t5XBiaMkmNf0hI6GkVI6xuliWHqjno?= =?us-ascii?Q?KwshR2sy/83E25YaOk2xUzIaPXxLbyGHb3FLV1gg9cvBTVS2KFalNdtsc1Z2?= =?us-ascii?Q?8SflOQnJU+EY78B1G5ZW0Zfr+HcjSoIYe5iJHXx27ukrD2lU6Rp2MnBcEENL?= =?us-ascii?Q?KuPBtg=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(82310400026)(30052699003)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jan 2026 04:55:56.1996 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5af0b657-deb5-446e-e159-08de59728735 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=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DS3PEPF000099DC.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6460 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Dan Williams Ensure cxl_acpi has published CXL Window resources before HMEM walks Soft Reserved ranges. Replace MODULE_SOFTDEP("pre: cxl_acpi") with an explicit, synchronous request_module("cxl_acpi"). MODULE_SOFTDEP() only guarantees eventual loading, it does not enforce that the dependency has finished init before the current module runs. This can cause HMEM to start before cxl_acpi has populated the resource tree, breaking detection of overlaps between Soft Reserved and CXL Windows. Also, request cxl_pci before HMEM walks Soft Reserved ranges. Unlike cxl_acpi, cxl_pci attach is asynchronous and creates dependent devices that trigger further module loads. Asynchronous probe flushing (wait_for_device_probe()) is added later in the series in a deferred context before HMEM makes ownership decisions for Soft Reserved ranges. Add an additional explicit Kconfig ordering so that CXL_ACPI and CXL_PCI must be initialized before DEV_DAX_HMEM. This prevents HMEM from consuming Soft Reserved ranges before CXL drivers have had a chance to claim them. Signed-off-by: Dan Williams Signed-off-by: Smita Koralahalli Reviewed-by: Dave Jiang Reviewed-by: Jonathan Cameron --- drivers/dax/Kconfig | 2 ++ drivers/dax/hmem/hmem.c | 17 ++++++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/drivers/dax/Kconfig b/drivers/dax/Kconfig index d656e4c0eb84..3683bb3f2311 100644 --- a/drivers/dax/Kconfig +++ b/drivers/dax/Kconfig @@ -48,6 +48,8 @@ config DEV_DAX_CXL tristate "CXL DAX: direct access to CXL RAM regions" depends on CXL_BUS && CXL_REGION && DEV_DAX default CXL_REGION && DEV_DAX + depends on CXL_ACPI >=3D DEV_DAX_HMEM + depends on CXL_PCI >=3D DEV_DAX_HMEM help CXL RAM regions are either mapped by platform-firmware and published in the initial system-memory map as "System RAM", mapped diff --git a/drivers/dax/hmem/hmem.c b/drivers/dax/hmem/hmem.c index 1cf7c2a0ee1c..008172fc3607 100644 --- a/drivers/dax/hmem/hmem.c +++ b/drivers/dax/hmem/hmem.c @@ -139,6 +139,16 @@ static __init int dax_hmem_init(void) { int rc; =20 + /* + * Ensure that cxl_acpi and cxl_pci have a chance to kick off + * CXL topology discovery at least once before scanning the + * iomem resource tree for IORES_DESC_CXL resources. + */ + if (IS_ENABLED(CONFIG_DEV_DAX_CXL)) { + request_module("cxl_acpi"); + request_module("cxl_pci"); + } + rc =3D platform_driver_register(&dax_hmem_platform_driver); if (rc) return rc; @@ -159,13 +169,6 @@ static __exit void dax_hmem_exit(void) module_init(dax_hmem_init); module_exit(dax_hmem_exit); =20 -/* Allow for CXL to define its own dax regions */ -#if IS_ENABLED(CONFIG_CXL_REGION) -#if IS_MODULE(CONFIG_CXL_ACPI) -MODULE_SOFTDEP("pre: cxl_acpi"); -#endif -#endif - MODULE_ALIAS("platform:hmem*"); MODULE_ALIAS("platform:hmem_platform*"); MODULE_DESCRIPTION("HMEM DAX: direct access to 'specific purpose' memory"); --=20 2.17.1 From nobody Sat Feb 7 05:53:11 2026 Received: from CO1PR03CU002.outbound.protection.outlook.com (mail-westus2azon11010014.outbound.protection.outlook.com [52.101.46.14]) (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 E50F5314D21; Thu, 22 Jan 2026 04:56:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.46.14 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769057767; cv=fail; b=pU2sJM2cCWQQn1XJ4s2s2ri2RMizZ+bmXNKCHT8WVqeQanbF+QCc2Xv1M/KNWhkyCDOQD0DQBM8BXGSuIssQVbWkvP/PDEeO8jPprAXwoeW1QYBwH0Yyaoevv32wUPX6Sz4D0+0AHMuA/Emi0WEpSxVmLTCtsFugD9x1/2Xd3zE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769057767; c=relaxed/simple; bh=zGczhesOvr1/AIzez2p1VtnQ6LI3XxAemAUp1T2J+4M=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=PTqBQSZfeg3ejt86srgE9w/i7fIh8f4jzeowVGaQgJ3/5DUzdvUKZeoqpro/xse1Uc2yRuMx5rrI5nHvbVI1DJ73XVuMnWAcB9SdovpcbRKvoA9ObDt/DNQYwgyzCSGb3vpCuDowMb7odSJN0m2ncsGzYM0N3wnt99YS5RLCd64= 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=LqmfsadO; arc=fail smtp.client-ip=52.101.46.14 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="LqmfsadO" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XS/Dnuvdz3IkvM3tTsaosDSiO3HUBUsriizcyOcgTskGZwNlydnrUyhui9+PU9Q1Q7iXFLZE3EhtVnypRZoA5iNY7WRupFxd7vsD0c6+QAkzL4uw+AAAHQWWOBs2E34p79/9Iod+qCnQPO3SYFrHcEVQI6hNLEGNYECqrDw21jDsZ/uZqFoztfXAEAgwNHVScdjsmN7f10A4+JIPOSnVTIEhtSI6bV8SPCuPwkw6exLuq2hfLTRLINxgjkjU8XwuudkhsScGgEZk4gjR0bpF+qmcyQs2fDTqt0/3kGjo+UaCjekGBs/JDZ5M8IsPRSD/n6YlZwKdp7Ztr/6QJu1TCQ== 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=9TKyXume6br4WMD2WLcu5o3+ZC/akJoHgsg+ksExBco=; b=uuC4kofdR6+GNjwEYtpMzP9bbwsZgqacdCOyaOyBCt4KoqpaO3vMTGl0EkanrxR8r8Z+SjQPj/buj52N4THlu+9127bKfN6dHF1DSW+f+m74AxB7GV8m/JOFo1U2OHPKyhQRNVt5jtft6WwEmCBgjJVDGQyOwIbFH+6JRGX7xcnFIRsdVRoh1JRV4U2VnxNUS55uwVxVGBUK6joteZm1daPXLZLpsXK20WduK8KL/LlxGlu2aAQCgM9y1kyNy0KWBhuVqtwuu16vNsvd5OgeqCJNyaPlDprD8qqB4ZeMguEGOkxMghgMTgwiOJBXottSuRmaidnAlh153ta18CQZ2w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.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=9TKyXume6br4WMD2WLcu5o3+ZC/akJoHgsg+ksExBco=; b=LqmfsadOpRVCl9DyjYT/xWPcPrqXRk9PEo6PGRcwpKj12RDezTGwAsBFWnKfQIfNMSHEkD4ruwrW160k+MPP7d7arY8WW67d3GCtmrMv8kcDdGYT2ZJUO+mAv5T30NxPlRjY0bQWJ7qfXaccTPTISUFjXYSi1f7iFwg6zB1WZ4A= Received: from DS7PR05CA0106.namprd05.prod.outlook.com (2603:10b6:8:56::24) by CH1PPF0316D269B.namprd12.prod.outlook.com (2603:10b6:61f:fc00::604) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.9; Thu, 22 Jan 2026 04:55:57 +0000 Received: from DS3PEPF000099E2.namprd04.prod.outlook.com (2603:10b6:8:56:cafe::ac) by DS7PR05CA0106.outlook.office365.com (2603:10b6:8:56::24) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9564.3 via Frontend Transport; Thu, 22 Jan 2026 04:55: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=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by DS3PEPF000099E2.mail.protection.outlook.com (10.167.17.201) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Thu, 22 Jan 2026 04:55:57 +0000 Received: from ethanolx50f7host.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 21 Jan 2026 22:55:55 -0600 From: Smita Koralahalli To: , , , , CC: Ard Biesheuvel , Alison Schofield , Vishal Verma , "Ira Weiny" , Dan Williams , Jonathan Cameron , Yazen Ghannam , Dave Jiang , Davidlohr Bueso , Matthew Wilcox , Jan Kara , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Li Ming , Jeff Johnson , "Ying Huang" , Yao Xingtao , Peter Zijlstra , Greg Kroah-Hartman , Nathan Fontenot , Terry Bowman , Robert Richter , Benjamin Cheatham , Zhijian Li , Borislav Petkov , Smita Koralahalli , Tomasz Wolski Subject: [PATCH v5 2/7] dax/hmem: Gate Soft Reserved deferral on DEV_DAX_CXL Date: Thu, 22 Jan 2026 04:55:38 +0000 Message-ID: <20260122045543.218194-3-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260122045543.218194-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260122045543.218194-1-Smita.KoralahalliChannabasappa@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS3PEPF000099E2:EE_|CH1PPF0316D269B:EE_ X-MS-Office365-Filtering-Correlation-Id: 8266bab0-5247-4fc0-92a8-08de597287c7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|36860700013|376014|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?KXuRQM+16S7NoMfQqNl2sbNGzet7ka/TErrakekc33Hr+kBIIoANGmvtBQFV?= =?us-ascii?Q?EouQRoQC8prLg9NFYQTtfqP63RYdCkQZ7IwFE4JMwEBa9wF+KaxipbxnTe0J?= =?us-ascii?Q?qKHgbR3TiawRFAcmt6icdhC89Lcz0kqbGUEvl1NtTPk4dfHvrKEJBLy5NUhZ?= =?us-ascii?Q?ylDpBysDgJINlybuKDxFRg0DyHjAqjU3+MlVxQ9CRO3V6C8zun/U9P7EdzdZ?= =?us-ascii?Q?3+8yvVDb/uV4gfBR2I7KJqbYO0mfEe9gnv9ZGbWLIPEYxTbnCQdDqOnjHGaT?= =?us-ascii?Q?bLB1gXjQoR/O5YwHifdRy/Vv0XTBTH6BNSJChe2x6Rb/S4/a3PnmrrwLU3Z+?= =?us-ascii?Q?HF22ewHZWr4FE6IBpc77n10hnlzdp1MIpTJuOdK47KEUbKprp+hEaB8lTr3L?= =?us-ascii?Q?Hzb19dwipCBj5VDV3DibxO2mBm4unt0wOlt5PL3Zo6bC1I2sITHQ0bkYaIzX?= =?us-ascii?Q?z63+nb5SniYKW6HfFNqQZx+JRGOP1XNP/Gn8MAqi0JgnBkqCeei5p9neEg6Q?= =?us-ascii?Q?P2RMgA0Q1P/8aQvyqlF5zf0TGav0UiN5JQCdMx0U2y+S4tumfxUO95fIP/Oh?= =?us-ascii?Q?QlFEznB3lZjbZSjrEZio1dr78p7K1CsOp5E+aVdm677lEfbelA26HB1SVplP?= =?us-ascii?Q?1GK3HchrGgbfJKg84M0SJ7z659RogAgA6mnXG/85zJafYEGclJRfByoHrL90?= =?us-ascii?Q?X4cQrTYJW696ykedqjecp017N365GOHUmVLFM6ftYtgW70YsdThO3h2i41vh?= =?us-ascii?Q?cPe2YTW2YbukYorUJL/wk4MsJDGoLCybpBpcsqmolmUnPMLj8k9R/ctOEDwP?= =?us-ascii?Q?NZk9vHbV2nUss36ebmPAK5W/Pes5RarbarGikyKnEi7PY13g8sbY5oiQAhUs?= =?us-ascii?Q?bbT/NMdN+/kG72kEQl9UmCibdPrtKEVHR59nldNYDHuKCVNZldUnhQmOp+w0?= =?us-ascii?Q?zwuniRfsXYsjQXz03gX5CqYEOa3IxsnBF1Frk1H0rBkdkLsakrJHO6j0pm0q?= =?us-ascii?Q?NpVbC1zEIJGgR91uN7fmnHsO/UOF8iBMYyKSoBhjajcxFeso6fj8KQLKL8RD?= =?us-ascii?Q?PdiXsuSBsHymJSgDBMzlQJt+UTK16bwBIUMg4/GM7QtLEmm2LG1n48LAGvwD?= =?us-ascii?Q?hnBzFsSeatLO3Fg2NbtxSwZwPmxVpBNU4bgawNu7O7BzgSDRJNjLL6YJfYSE?= =?us-ascii?Q?jXy4shSWfGLm7C68huQ7d3/+WV5ngHLjsp25d9+5CXkIOzaw/gQoOPWeKJPw?= =?us-ascii?Q?rohfmiqpi126Jg92B7kaydvWqBwtcmhfxd6ZWhQQ02kN7lwP8SWE0SK/up1V?= =?us-ascii?Q?W1B77ql5q8/m9VT38ZcW5yOlthRUDOboHO+c1dnZulzV3Rf1Tmu3RTJ2/kg7?= =?us-ascii?Q?d5HRJ+4reTnJ3SgVmFmejzd2cAAwyPmP87g8nmmpB3qUhdqI0JFl3ndTVh19?= =?us-ascii?Q?NtaSqliK5U+AoTdf4yh498H6Cm9Ex7tOBgAr2nMtcM08r9PY47hjLSGMXiSu?= =?us-ascii?Q?olwCECLfSwwio84SGYmWKZYc1ljM76jlLg5rXEFLwJyti/qmtwHfHwTWXdnf?= =?us-ascii?Q?ZdWl6LndwzzZWnFiony51JNsri8cJ4NZM46du3yVCCJOgPlnVPY1pHxPDi2M?= =?us-ascii?Q?6fjUSHuA7lWRarIPaHiuKWkDPYVsi9sMG5LrQtElFxlyALPZ1kVglE87fnNG?= =?us-ascii?Q?OQC0BA=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700013)(376014)(7416014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jan 2026 04:55:57.1539 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8266bab0-5247-4fc0-92a8-08de597287c7 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=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DS3PEPF000099E2.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH1PPF0316D269B Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Dan Williams Replace IS_ENABLED(CONFIG_CXL_REGION) with IS_ENABLED(CONFIG_DEV_DAX_CXL) so that HMEM only defers Soft Reserved ranges when CXL DAX support is enabled. This makes the coordination between HMEM and the CXL stack more precise and prevents deferral in unrelated CXL configurations. Signed-off-by: Dan Williams Signed-off-by: Smita Koralahalli Reviewed-by: Dave Jiang Reviewed-by: Jonathan Cameron --- drivers/dax/hmem/hmem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/dax/hmem/hmem.c b/drivers/dax/hmem/hmem.c index 008172fc3607..1e3424358490 100644 --- a/drivers/dax/hmem/hmem.c +++ b/drivers/dax/hmem/hmem.c @@ -66,7 +66,7 @@ static int hmem_register_device(struct device *host, int = target_nid, long id; int rc; =20 - if (IS_ENABLED(CONFIG_CXL_REGION) && + if (IS_ENABLED(CONFIG_DEV_DAX_CXL) && region_intersects(res->start, resource_size(res), IORESOURCE_MEM, IORES_DESC_CXL) !=3D REGION_DISJOINT) { dev_dbg(host, "deferring range to CXL: %pr\n", res); --=20 2.17.1 From nobody Sat Feb 7 05:53:11 2026 Received: from CO1PR03CU002.outbound.protection.outlook.com (mail-westus2azon11010071.outbound.protection.outlook.com [52.101.46.71]) (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 1C71D221721; Thu, 22 Jan 2026 04:56:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.46.71 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769057767; cv=fail; b=UdLY0eQRvxcJDlo87LlMotHpecnnj9qlKFKi857rUGdM+gPWQ4bvJJf6Xqa9NC8ES4tnkcw4FKqFXVMUCQbHmzpuBuQClMEiQGQdAZS570Bmx/GJT84gjN0xF1puvBsliKWKkw1a4Vv9IQvd8Z5CqIWymH8VjmnvIyKK3Y3NbAE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769057767; c=relaxed/simple; bh=afm89nDm4ASpDn6xKbaTlecdTrAazzhCD+AKSgYyG30=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=OvVqUXxxM+4WwrmAkb083P6GB6IkoawluehohvJ5biv10wvMk+z+8sNFteJhKAOxazXWN4j6VDsRY56RmKLemeqFvY62CA3w+EK6W0kuStzcGF/rPjfECLMVm3XYBUE604cFE/WH+n7YNfL0I0Q8HLOitlFRQ6nwBQCZ99V/7YA= 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=R4ExrHqa; arc=fail smtp.client-ip=52.101.46.71 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="R4ExrHqa" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LdpZdrVwLYTg83mdLqws/RTnHNbaNjZ8IRNRJp+vG/DuDYS/aGZkm1oSniknnJPlwHl54OIZ/3ubCDWncgVQLzks3pV4jncmptDPRUjATF7Bmrviycqpnn4KWg2O4Gn79Wdq8lgemvRvpNt1BSOZZgxPkcDqK6EEnPdGLdkV0H1i6dUZMIJ3RRD12r3pPnsn2CUn7padJReVB4GTexjhiZfFL9g4qnyGLIphfixeyOOxJ3y5jl6GrRxcNSwXTBflErwZUwiFVW8YXakdOi2SF+muOAvoU9pPOXmkl/mBzLzow9s0ikPDCSTKXedrj6ixzrtxWee4GfmrPbaPBDTuJw== 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=D+WsW5g+KUeSkdt26Tbmpdm7Zd1kpnUtVCJ+GLDEtYY=; b=djz6A5dCk1+l1gfa44+A6paHpZcXJe5sM3TBD70Luvz0ZUUV9X4mEY+CVp43zf0sqRYGiovWNYbrEJ6EG1GNnI9tH6QKWPLbsG+AXo88/qX1rC4LAPrcwnXie9Qv2dgBLYK9g+IgOWbTEZJJ2TEibxscb6bVCC81Zem0V+RSu5DoleFoFQtbm7UqH8/T30F52whOB8WMjb3+kNSI91Fsu8fgHgpdGStWaZ+e0aeCS0FLr7YiLDQHx8in8m4hnlMINw0DiLux98lpJaC6W8p8NXYs95S1CYgQcJKdBP+0oXLs3bopgeuTkU2bpb5Rgw3YfTUEqZ7+teyrj+NWNuwe6g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.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=D+WsW5g+KUeSkdt26Tbmpdm7Zd1kpnUtVCJ+GLDEtYY=; b=R4ExrHqaVkaO9UfdDdf64JTY9i93nZjSdh8+YZXzwtmDQgv/n0dJiaV33IxtewMo2ew8RnBiquJSwf0cl4FzXDwj7MrQn1EuvlIb+shW+tbR+MmkOwg1Ovglt4zKOnwSIOcuOJUBXcAvKGvWK2e0yN04PK7nMOTIxR7aPurVTpY= Received: from DS7PR05CA0096.namprd05.prod.outlook.com (2603:10b6:8:56::28) by DS7PR12MB5933.namprd12.prod.outlook.com (2603:10b6:8:7c::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.9; Thu, 22 Jan 2026 04:55:57 +0000 Received: from DS3PEPF000099E2.namprd04.prod.outlook.com (2603:10b6:8:56:cafe::c0) by DS7PR05CA0096.outlook.office365.com (2603:10b6:8:56::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9564.3 via Frontend Transport; Thu, 22 Jan 2026 04:55: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=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by DS3PEPF000099E2.mail.protection.outlook.com (10.167.17.201) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Thu, 22 Jan 2026 04:55:57 +0000 Received: from ethanolx50f7host.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 21 Jan 2026 22:55:56 -0600 From: Smita Koralahalli To: , , , , CC: Ard Biesheuvel , Alison Schofield , Vishal Verma , "Ira Weiny" , Dan Williams , Jonathan Cameron , Yazen Ghannam , Dave Jiang , Davidlohr Bueso , Matthew Wilcox , Jan Kara , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Li Ming , Jeff Johnson , "Ying Huang" , Yao Xingtao , Peter Zijlstra , Greg Kroah-Hartman , Nathan Fontenot , Terry Bowman , Robert Richter , Benjamin Cheatham , Zhijian Li , Borislav Petkov , Smita Koralahalli , Tomasz Wolski Subject: [PATCH v5 3/7] cxl/region: Skip decoder reset on detach for autodiscovered regions Date: Thu, 22 Jan 2026 04:55:39 +0000 Message-ID: <20260122045543.218194-4-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260122045543.218194-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260122045543.218194-1-Smita.KoralahalliChannabasappa@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS3PEPF000099E2:EE_|DS7PR12MB5933:EE_ X-MS-Office365-Filtering-Correlation-Id: 08039bb7-05bc-4596-77a4-08de59728837 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Qsa1uZ9iC/pSNlN3WwiUO+P5cINCTj+7h5FIcFvZnm/rX0CKxQNi3YCYTkdH?= =?us-ascii?Q?gLSuQppnqKZCx+Aot5+jRVdADi7Mwhm4V4Po0QIPrANeYqgEqD3O7mK5Odjj?= =?us-ascii?Q?uC7ppFdBlrFYBAbl8i4wVtUDH+WGAiy53eDB6vXcw9Yul6qTnpS+UQR6ciGQ?= =?us-ascii?Q?nvYCSawTd0LqIfDfLQmBSmou19hjbtoOSmkvCqWQx5kZSUUeq+YLl4S58tLb?= =?us-ascii?Q?djAQv0kmWcycPW8V6a4XPsxPsHvn+pEXt1vlLEavizWitPhpkpo2kB1NNJE5?= =?us-ascii?Q?/toVh4MI00sZr/0I0ct98Ac/hnzgSIQm2HgJTW6CWS8g5431PWtfgOLT7Q08?= =?us-ascii?Q?lAb64DZ0zHnpfebCfj5rE5PN0iT3Doum987HiQX5fSsXaeAN0prOhHaU4CHJ?= =?us-ascii?Q?a1O+LPrj3ad1mK6ofv3ANRSC25Wctwng0iyA8NhUhPPgu3l2BHM+kcfq6EeW?= =?us-ascii?Q?sApv+UdMiQTUE0jkU0jKakgGKITas9HYF4fu3ZNsfqE7V+1PI5qX0V+nxA70?= =?us-ascii?Q?20AIWCYRRX6ws/eOcXzhpUkpKOjBZ8/VtP9CktQkzaTFxAgqZqyCs16h+fgQ?= =?us-ascii?Q?Os6dPdg2GYb/VG0HDOcbT2NPpc/kOk2wbpqQ0Iu5MgbHAVNI2D6hOqkAru7X?= =?us-ascii?Q?sRjZHiS2U3i3ti1VC9/E88F8j4KQh3TBWEfCTsZKpwpIIxGBNbibLPpswecO?= =?us-ascii?Q?eU0mjZy4XKw1KL4so//01OrBE1RYIYDw3mCaWSAhR3OfiYlmtPp0kUOqQbhl?= =?us-ascii?Q?LDHApxj6Cfn/ekmAnJS2ChJnx+g7XwV2nd+YxZRQKlNmFIXnDy4d+A0llVvP?= =?us-ascii?Q?maEjS/6oi/rW6HGbFyxApUBZIldeLHJqSkXtugTtXfibVee0OrfrkBZwka7E?= =?us-ascii?Q?8u5Xj9wxwYNrdWHinnPSGHkcVLsUH8mhN7lSsEtARdCfoWLkKFFO//GlKkxy?= =?us-ascii?Q?MT3A4DoUsFGduznae8RQ3qcFcDEhiDVydhC2SLR9sk7bcVgxLXQUwI/oyPkT?= =?us-ascii?Q?76vEcoW+DlPXQFcIOlVfjlP8xZvSPz/1aj34Oib6Zn/1jLSdbguB+ZaapIEp?= =?us-ascii?Q?hVeSZljwus3ZvJ2xUrc3ZcG5kRuHMWkmnGx5cOpej2XY+SWP19qxeWY7rt3S?= =?us-ascii?Q?/DCY5mHarCyCwPyikVNxXITl6/lXgRsghklbQwakFs7y/83zoQ2H8ZgsOho3?= =?us-ascii?Q?fbXyPtV1/deEg+zM4kQaN6oMXSGGuaFMIwQOkO/DDQUqeP9ATDCloL8P4V72?= =?us-ascii?Q?L/sclnuPYX3aRDBV9bI82izxUudAPIbxdQvrg0NvuqewACSvSoCL72EX12XB?= =?us-ascii?Q?tgS0IEnRx16MDxtMRPgVZo/4dAQknjNWHakZhBaBaXSJBF7uNuMqoNDy0C+G?= =?us-ascii?Q?3PoPKfpeM6CwHFFJOve9ZeutCUIKM+NN1KXqRmMJ2Gz4z4Ksw6Of1Cdztn5j?= =?us-ascii?Q?QQSIwnIWBPomcd6UFgc3vGpw1wfUUvsc5vk9noU5GYGx7dqyNkI57LuNOCFR?= =?us-ascii?Q?bFZhqdrUBVPFjruESM1IKZ7F9v0dDT0l7Dbf/VZHgzamNsLGiuqJPVzd1EeL?= =?us-ascii?Q?MTpnneTvMtvwq0WNCd2Z63M8W7G/a/uBzcht2UyszfOu/dmzlsqlIB3Y5lcL?= =?us-ascii?Q?q0D8wkiDZtTFtPi/71M6U/v0oIn78ssZGe5YvWPsuX9AjXVH/J0GxXJV3F+Y?= =?us-ascii?Q?1XKdAQ=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(82310400026)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jan 2026 04:55:57.9187 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 08039bb7-05bc-4596-77a4-08de59728837 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=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DS3PEPF000099E2.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5933 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" __cxl_decoder_detach() currently resets decoder programming whenever a region is detached if cxl_config_state is beyond CXL_CONFIG_ACTIVE. For autodiscovered regions, this can incorrectly tear down decoder state that may be relied upon by other consumers or by subsequent ownership decisions. Skip cxl_region_decode_reset() during detach when CXL_REGION_F_AUTO is set. Signed-off-by: Smita Koralahalli Reviewed-by: Alejandro Lucero Reviewed-by: Dave Jiang Reviewed-by: Jonathan Cameron --- drivers/cxl/core/region.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index ae899f68551f..45ee598daf95 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -2178,7 +2178,9 @@ __cxl_decoder_detach(struct cxl_region *cxlr, cxled->part =3D -1; =20 if (p->state > CXL_CONFIG_ACTIVE) { - cxl_region_decode_reset(cxlr, p->interleave_ways); + if (!test_bit(CXL_REGION_F_AUTO, &cxlr->flags)) + cxl_region_decode_reset(cxlr, p->interleave_ways); + p->state =3D CXL_CONFIG_ACTIVE; } =20 --=20 2.17.1 From nobody Sat Feb 7 05:53:11 2026 Received: from SA9PR02CU001.outbound.protection.outlook.com (mail-southcentralusazon11013017.outbound.protection.outlook.com [40.93.196.17]) (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 365AA4657CA; Thu, 22 Jan 2026 04:56:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.196.17 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769057769; cv=fail; b=LmQgUA8XEO9OBZ1VGTHGz+m1LZ9t2zry9svuwXX35tTRv9VhMgtGK+wx4Q6F47da08Gymg6FfqNznmgRIs1I/1oqG2J2TFpFtWZCdmBllh40KNqiEY220+MyzEJoSP+05xEM5QuixxwW1cceuZieEG5W0DDw8YyilvyAbwWtl2E= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769057769; c=relaxed/simple; bh=+myE2QGrk598XYj3Im84e61E/ny6REfACYVXtexMRqA=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=i3KR/IGvoVgGX2rlNBXdnu3Fs27/padEDuB3DlogyizaEHY0+0LwvnQyueZMjT+aYVSduKqOJRP7T7E7d2OHOTyhg9BhLSuntI6mFObjMziyYXo+0g7E79FPnd7Trb0w+pOcM9sVtGWgtwfeDnvIrI6whwg1KBXZJ+/zET0Mb4o= 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=O2LeoZFO; arc=fail smtp.client-ip=40.93.196.17 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="O2LeoZFO" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mNVOP45wnhU2nENrFmwGDopxmXrMhUhOz42/ExDO95z/AI4URSFgIRXravXAs2MqQUgJWJ+MH2s8lLB0pAWslZqwM+shwF6pMdTd3TXEQxXyFiPEPZ8iER8er502N9EedMP/pydByJ1k+1+fMdL63RLeXZJDYPHaPAOL/mCI9SzytBTZQxHodgPue9OLiXYeZEQ+wFPDKDUZrKtTKcUtFJbOPGSewP7Z4kMxwN+u3mAM14E7zNaiVzQ2nZWpMMhvqMcUBKBGmnrezyQsbYQy5XHtKFazUGF8+J97LCyFbly9/mLolyBPsEV3h8o1LleDOSYJQfNNnsLHwWgTnjfJ+Q== 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=+5Xs2RQt9kdI7iDjQpF9m4riBKoVDj/ozCX2xCM51VI=; b=wnVJifUyDf0Sw3su6HVS1frOIyKXN6zUhO/nhRDmxEI4PvjX3HWQBlLnYMagYWLU6GfGed/ze1YIVABzc4U6sumunXipMwPXKf7oSssde9ot1pDRnp+a0Mb8Ede7srTTUp6guFOXH/Z1n0ZeqBoIhxKYEUgejahO/9AWDqSWg3anM9/C4rfkqnEURTFeE5zKZCuw2pnc9FhTyLHaxpA4NVm8M5EqP5xMR3Pdm9+F/efX+52P5bdo+JtBj39VunH/T/klv9SX9NhcwIeKy6CqHxFGRD/KJjoSSH/eLV+OEPeJdmv0LBh4y/P999iusj2k8f0gw2H9shGTP8pfy3Targ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.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=+5Xs2RQt9kdI7iDjQpF9m4riBKoVDj/ozCX2xCM51VI=; b=O2LeoZFOkjSLpgVDalH/ZXy6WE7EdGkfyWZzChBLwPw0x+Y/7eI3W+kc/KdrEiiAPUJ/tDP1gOYCXNzHjZVw23GzlZ18iAciSLTDuWxSLXZXGPLfOWPvUhwAb5TypcK69iAAOr862lhEx+6BCfmbnYD4LUsYPjobpckrfGKuo1s= Received: from DS7PR05CA0097.namprd05.prod.outlook.com (2603:10b6:8:56::26) by DM6PR12MB4354.namprd12.prod.outlook.com (2603:10b6:5:28f::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.10; Thu, 22 Jan 2026 04:55:59 +0000 Received: from DS3PEPF000099DF.namprd04.prod.outlook.com (2603:10b6:8:56:cafe::f2) by DS7PR05CA0097.outlook.office365.com (2603:10b6:8:56::26) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9564.3 via Frontend Transport; Thu, 22 Jan 2026 04:55: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=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by DS3PEPF000099DF.mail.protection.outlook.com (10.167.17.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Thu, 22 Jan 2026 04:55:59 +0000 Received: from ethanolx50f7host.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 21 Jan 2026 22:55:57 -0600 From: Smita Koralahalli To: , , , , CC: Ard Biesheuvel , Alison Schofield , Vishal Verma , "Ira Weiny" , Dan Williams , Jonathan Cameron , Yazen Ghannam , Dave Jiang , Davidlohr Bueso , Matthew Wilcox , Jan Kara , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Li Ming , Jeff Johnson , "Ying Huang" , Yao Xingtao , Peter Zijlstra , Greg Kroah-Hartman , Nathan Fontenot , Terry Bowman , Robert Richter , Benjamin Cheatham , Zhijian Li , Borislav Petkov , Smita Koralahalli , Tomasz Wolski Subject: [PATCH v5 4/7] cxl/region: Add helper to check Soft Reserved containment by CXL regions Date: Thu, 22 Jan 2026 04:55:40 +0000 Message-ID: <20260122045543.218194-5-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260122045543.218194-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260122045543.218194-1-Smita.KoralahalliChannabasappa@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS3PEPF000099DF:EE_|DM6PR12MB4354:EE_ X-MS-Office365-Filtering-Correlation-Id: 34af48d4-4715-489e-11d1-08de597288e5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|7416014|376014|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?/w2wGIYbX8LKVg4zVf6P5cSgPTPJxkTUsRmmig/KQ0xYp9dc7QUpiWHbXHOg?= =?us-ascii?Q?qS/4eDV0hY/H91jy2OOdAbIaPIAfAr/INfY+/RDtdmTZ6D1iFdByRVMyRY+F?= =?us-ascii?Q?xJKAtgJK0FP8zhy6TB2+kIy4IXi7qeWx3WypCNhw2sdIqKpsibKsDc+ECIjg?= =?us-ascii?Q?S5f51SALKW9MZQcYkN1KXzeVeiIo38NliD+dpDWA2LZ9we5E2Lnjl2TPletk?= =?us-ascii?Q?TV3wpu7b1aA1QFzFYQIxQCnhcxexwDXbOsChMFHlHTPpJ5LGS3LjPEzNeDE1?= =?us-ascii?Q?70E8S+eHAfg57bmU0j2vxev2lwNf63yscFqsiIN91/FPrPoWaHdzxL/tRelu?= =?us-ascii?Q?Wlt4nMkrsxBCFrRZrqk1i2+I4MRGF3C9ZQwtWEVn9njVx2xLY0Mc6nk4rmsw?= =?us-ascii?Q?tdEZqeQ0rtvcUwfTXOLMxqBvrW1ZU0NiXvhtjw5+Arp4UL7WfhXovjHkFoJQ?= =?us-ascii?Q?GwDC5tLHm2RDZa4B28TxZm10s1z3GxshEnQ/6AQKD4nrAvhoycGWuJfipuuT?= =?us-ascii?Q?r4xVAYwWZF2ytRHhcSDRPGMp37vCrG3YzOqosdabbbSTDG+DvflVUkaa1yil?= =?us-ascii?Q?nREglkl9xBGkE6hV8osmoagE3uo4iRvZS/vb5CCWQMejXTDHIHiU3WClTA9L?= =?us-ascii?Q?zPjKTX5odvCJx4ScStbCTmQBNpl9oNy6QL2Q8DUGG6+w5HpSA1l2ZAV2Fb0A?= =?us-ascii?Q?6SEXTNaapCj85OXAWbzQWVKAzpHuQSZZL2tGtoerRKMayNtaQZe9qQtyNbbu?= =?us-ascii?Q?D5kFqAft+41WPgONKCngWSXg8SQZ99LGgiZmLVhNYVp00VvRDh9oFJ6SwXI7?= =?us-ascii?Q?DmolGXi2Q3QQDaSAAGeT9fn3cXTJ6SKj6JduaCkyJnSUEBmOgiTd41+AGqbC?= =?us-ascii?Q?5l/un+E1FdFVWvaxPB4nXmpZzswwSr9dxq/L2RUCFH02T8lP4tSEUijct/UC?= =?us-ascii?Q?xP1vN1eWNqAKdaj91XaDQuAJt4Ft/HctevxGOw37l8+NIJ0BEXgS/SFduLfp?= =?us-ascii?Q?VnU6Ol/922LU9XdmEA6yM/ooUPUApwxkrufY8ipcs1ZINNqkwBpFhUaBgRXw?= =?us-ascii?Q?PVsA5oK2Y+CUMmnK9+ljU75Ta8F/J+EOEQSQQHvWct+z1ugpWtUOcJfXBLaX?= =?us-ascii?Q?8QNJPoviW9GEHeakEcFVNSUm5pPUKmvPFCl/bksiT/kaZaHNNx3i5ZkBFgwQ?= =?us-ascii?Q?bmriAUOG3EV9S+1O40f/Q3lUjLshG6gtx3VJTPl+ZEPJLaZGFH0lsh+MtQWr?= =?us-ascii?Q?p/E5mGG1SpeKqkCTh2pwiHmF8n1N2cA8lYbF6d+BJRbtHZheTQI/TgQC8m6W?= =?us-ascii?Q?+S/bJPYmZtPaL/H1S3VNhJWjfAdsQJA8vSNX9T6s+WS7m7jR1wIOjDrGEql9?= =?us-ascii?Q?3DEmW4WnUbLxbfXzO9/Aiur/E97P1zYd+7uxAIZi0PnfL/x/tTM9gista9bm?= =?us-ascii?Q?0LqKI/8sRiREme89i++5GXszwkPCcIU9RtKvFLG/GHTIbSbVF1GnSCCOBjg2?= =?us-ascii?Q?ksD+qParZZrWqSUIP3EuuiLrrUR6otGwKCHvfLhdwpk1J58+TLCejwaGf3eb?= =?us-ascii?Q?AZkkwtL035Zls+sgDoN3w8nok2WDnNsge7sCWcF/g7BjPOo8vu53IqH0yCGe?= =?us-ascii?Q?lLI2OePlieAi0u6USwLiRsTKkxLaexc+yEbWIRpCY6zUBRpbY4BTYh3tFPgs?= =?us-ascii?Q?vYeFVg=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(7416014)(376014)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jan 2026 04:55:59.0292 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 34af48d4-4715-489e-11d1-08de597288e5 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=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DS3PEPF000099DF.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4354 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add a helper to determine whether a given Soft Reserved memory range is fully contained within the committed CXL region. This helper provides a primitive for policy decisions in subsequent patches such as co-ordination with dax_hmem to determine whether CXL has fully claimed ownership of Soft Reserved memory ranges. No functional changes are introduced by this patch. Signed-off-by: Smita Koralahalli Reviewed-by: Dave Jiang Reviewed-by: Jonathan Cameron --- drivers/cxl/core/region.c | 29 +++++++++++++++++++++++++++++ drivers/cxl/cxl.h | 5 +++++ 2 files changed, 34 insertions(+) diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index 45ee598daf95..9827a6dd3187 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -3875,6 +3875,35 @@ static int cxl_region_debugfs_poison_clear(void *dat= a, u64 offset) DEFINE_DEBUGFS_ATTRIBUTE(cxl_poison_clear_fops, NULL, cxl_region_debugfs_poison_clear, "%llx\n"); =20 +static int cxl_region_contains_sr_cb(struct device *dev, void *data) +{ + struct resource *res =3D data; + struct cxl_region *cxlr; + struct cxl_region_params *p; + + if (!is_cxl_region(dev)) + return 0; + + cxlr =3D to_cxl_region(dev); + p =3D &cxlr->params; + + if (p->state !=3D CXL_CONFIG_COMMIT) + return 0; + + if (!p->res) + return 0; + + return resource_contains(p->res, res) ? 1 : 0; +} + +bool cxl_region_contains_soft_reserve(const struct resource *res) +{ + guard(rwsem_read)(&cxl_rwsem.region); + return bus_for_each_dev(&cxl_bus_type, NULL, (void *)res, + cxl_region_contains_sr_cb) !=3D 0; +} +EXPORT_SYMBOL_GPL(cxl_region_contains_soft_reserve); + static int cxl_region_can_probe(struct cxl_region *cxlr) { struct cxl_region_params *p =3D &cxlr->params; diff --git a/drivers/cxl/cxl.h b/drivers/cxl/cxl.h index c796c3db36e0..b0ff6b65ea0b 100644 --- a/drivers/cxl/cxl.h +++ b/drivers/cxl/cxl.h @@ -906,6 +906,7 @@ struct cxl_pmem_region *to_cxl_pmem_region(struct devic= e *dev); int cxl_add_to_region(struct cxl_endpoint_decoder *cxled); struct cxl_dax_region *to_cxl_dax_region(struct device *dev); u64 cxl_port_get_spa_cache_alias(struct cxl_port *endpoint, u64 spa); +bool cxl_region_contains_soft_reserve(const struct resource *res); #else static inline bool is_cxl_pmem_region(struct device *dev) { @@ -928,6 +929,10 @@ static inline u64 cxl_port_get_spa_cache_alias(struct = cxl_port *endpoint, { return 0; } +static inline bool cxl_region_contains_soft_reserve(const struct resource = *res) +{ + return false; +} #endif =20 void cxl_endpoint_parse_cdat(struct cxl_port *port); --=20 2.17.1 From nobody Sat Feb 7 05:53:11 2026 Received: from PH7PR06CU001.outbound.protection.outlook.com (mail-westus3azon11010063.outbound.protection.outlook.com [52.101.201.63]) (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 ACB3430F922; Thu, 22 Jan 2026 04:56:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.201.63 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769057771; cv=fail; b=JrxxB8coNfOx7ecIHF2N4kXWR7ZbXN+RcWdNGAAT0WhiaqZgGlD8reNNDHM/cOmlrF682ri3bd6CADnplEmQ2El0E00ykGKHblCian/BCuQjXG+2lJVuKjoxRnlEY5KamglmMIGoHKBqLv0cVieMvQi+xl5lCTTW7Gz9wC8xxVw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769057771; c=relaxed/simple; bh=2PyM1awEaKxz7R774FtZv9+CXAsJdoMXuvnWMc7acTg=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=RmSGJnvDbOsQITYD+gUP/80HlW4tqtpeKUKY+9IvKOhkFVhQCcmzrnbwR1yZD4DpemEGXAanVd7oFoiQNQbzggdWXaNEm1EmJz5j5/3yt86ymMiasQoRUY4iewtLGIolSiydBJMjwdkDAyWPqR0dY5Omt69S8S7xXK6uaPqgGI8= 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=o3aTXLU7; arc=fail smtp.client-ip=52.101.201.63 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="o3aTXLU7" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=m+8jyMe4o4K4CdtTY7dbBEpaKTN0VGCiaVfiJJbrqK6wT90AP5CDxqke2O7k4lUVQ8/GZELyBxTbWBP9cZf61232khy9p3CWB4j5n/HtiKc0NKW9fDmEPTSFBmvQp+LHa1kjmfnK1Gblrn9BVzUqIMrAbGDUke3PsremfDHE4Uxh0mm+6nxYEIHill0NcfxKTEPwILmaQTIJ4XU7gD6MKeOPuomFOA3jFT4rPFt8lzXA6FpjuDJtcRHm8etNZJLtRhr6wDNcu7jN7miBxO8bnFC/M8ArLSmc82TFeKIsBKrWlSAzAX716LRFyAVGQhndioVSvCxX3Bz+tFvxzWjI2g== 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=b/gzvrGCCQmtZIP2r/blux33loZCzx5CG43D/3TOR/s=; b=AibBSQ2Q+Is5+jX7U0/c1Kddkds70AdNEvSOsoPmS/7439d8VBN+z6/7PF/54FKUtrepSbIBWO7DhnJe9b/Kk5yI1rbUhl7BWPFScKnHYItdbkOqDhVVo0qs+0gGsyiJCVtiyiAh3QIlgV4eLoEdpFDUW9XjPwDmOLSzMGaHi7FHSjbMizfWiJEKSUumej7h4UNfGMX+MbIMbyB3Qr+LgBggijCq4hxf97EEp0mK7lgq74Gi8Xqgwks1m+DlAdZDw98MGurCfN76VtFNNJRK/vb1VMk7KrCKeMI8KdHbAX0klriLzDg4ZwhZxFzdHmrsmtRY4lGsSrF4A259sPrzHg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.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=b/gzvrGCCQmtZIP2r/blux33loZCzx5CG43D/3TOR/s=; b=o3aTXLU7UjJJqZWLmNJdlyHM2LRlNmv6huXlQiJqD1X2xcht7FIVf74e1IPcAl2mnJ0LPLzCbNga9ae2fou9mB1FBFxnvS3htYxUIP7+3O+ZSqXSwDcF42tJDEVWwBlAouOgmLRH0u37lrbfhNOxaaeraQ6wGEmNXfJJzG80NFk= Received: from DS7PR05CA0100.namprd05.prod.outlook.com (2603:10b6:8:56::23) by MW3PR12MB4475.namprd12.prod.outlook.com (2603:10b6:303:55::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.10; Thu, 22 Jan 2026 04:56:00 +0000 Received: from DS3PEPF000099E2.namprd04.prod.outlook.com (2603:10b6:8:56:cafe::a8) by DS7PR05CA0100.outlook.office365.com (2603:10b6:8:56::23) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9564.3 via Frontend Transport; Thu, 22 Jan 2026 04:55: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=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by DS3PEPF000099E2.mail.protection.outlook.com (10.167.17.201) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Thu, 22 Jan 2026 04:55:59 +0000 Received: from ethanolx50f7host.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 21 Jan 2026 22:55:58 -0600 From: Smita Koralahalli To: , , , , CC: Ard Biesheuvel , Alison Schofield , Vishal Verma , "Ira Weiny" , Dan Williams , Jonathan Cameron , Yazen Ghannam , Dave Jiang , Davidlohr Bueso , Matthew Wilcox , Jan Kara , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Li Ming , Jeff Johnson , "Ying Huang" , Yao Xingtao , Peter Zijlstra , Greg Kroah-Hartman , Nathan Fontenot , Terry Bowman , Robert Richter , Benjamin Cheatham , Zhijian Li , Borislav Petkov , Smita Koralahalli , Tomasz Wolski Subject: [PATCH v5 5/7] dax: Introduce dax_cxl_mode for CXL coordination Date: Thu, 22 Jan 2026 04:55:41 +0000 Message-ID: <20260122045543.218194-6-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260122045543.218194-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260122045543.218194-1-Smita.KoralahalliChannabasappa@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS3PEPF000099E2:EE_|MW3PR12MB4475:EE_ X-MS-Office365-Filtering-Correlation-Id: ea7a8fb5-3935-4ba2-a5c8-08de59728971 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|1800799024|7416014|376014|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?5wVbu3DPjKiXKwfBjSf6MlDcSlHb/Ds69RB/zMwbD/toTOZQXCbPA4tpetXG?= =?us-ascii?Q?e46p1PO7xKHXWWJRyDCN0afWjLKDm9nMNGV9xCp+dDvBIQlMIXKskXAVVhIF?= =?us-ascii?Q?5pTZe7CHff+t9LNw0fnTMf8UjepItoKtQCZveLgwaPKEAYrMV1f7LZKqMtUd?= =?us-ascii?Q?s+MKMWfF0mNEycPwqSYO2VuMIaqqf7qbY+iqkpG2zNeQRjn9/6dFuEKv4zI0?= =?us-ascii?Q?e0+X7WJFus8OTYoH4oNoUFjYLXZzNMuoicKOKMZefVW2r3tDX1hyHjHXZGeC?= =?us-ascii?Q?KtEyCL7rP4euI5vVVEfYWyPrdmXXkeo0SES18t/j2Uds3esBielzG8Y3K4UC?= =?us-ascii?Q?RdmEzC+OWJedCgdwBGwxcKXK+kC6F15gGPMQYOFwtvZRUP0R9m7fO6wQKmhS?= =?us-ascii?Q?wLNxB6+/sUW1U1I8I0jFSt1iPkEWwN3/gNXqJKmDttm9dVlKcy6kLrSshbN3?= =?us-ascii?Q?f32TQ+NHyOphgXoQa82RlBBWlyx1Foq+mO0BdZuQ6t6zizYUb+KFVdXYPSNS?= =?us-ascii?Q?226j92G720fJcp0uA4Ul9oo3G8Of1hvDygcOXf2YF2Wn6GSBb2K28gIuXvAn?= =?us-ascii?Q?AeLMvXn8HqZSR59unzrhZ92LcCla/DYajSXjQR6nEeJef5iy5B2H7xVO8ZwX?= =?us-ascii?Q?USrgTu4a/QauYt/WI0JCgnFUO3XHl+//wkSCEm0IeWaMcUKrSEx3WpVbogYZ?= =?us-ascii?Q?ht8tnnP0yVixNJuMl3sih0Zg/oU8Qj09pzqD0agNDrRV3P0/gbBOfRaZwgvs?= =?us-ascii?Q?QCb8WEhsxFrFleo3x5NjexDoLqO7Z7eOwAXfgB2Lwp8Iwf/joAuYg9XPG16I?= =?us-ascii?Q?NlKrWjX0Q/1cfWVfR+WO7UfNy+PEg2Kbfugbn2ZfXf56EC0MtEB3Fw/u0V7p?= =?us-ascii?Q?u/pbtYZ7dCdEWAm3wNmW+dVWYkRl5OxXy2UqcRPKiiLPwQyLEHFJncl1x5GG?= =?us-ascii?Q?W9vZWKLk9O3kKVq8YoJ0yVuhHL2q15cVknv1vqY1pZRok9J1wOJvmQtwYF3E?= =?us-ascii?Q?fPsQUaY+V4igzc1AapYOJ5knHPrpdG35cVfPbxlPfaxAuAF2jHZBZUMJsHpO?= =?us-ascii?Q?QDQEjDI/vM3SgcmohwYKjSve8tL2Bo6RELUhwVye0zjNF/Cx+HmQeUq0MAxY?= =?us-ascii?Q?mwNKiq+iI/DtwtC7DouxlskzLA+dJC7xU3y9nwNAjbe3IU38nep6QUSxDG/2?= =?us-ascii?Q?SkFS8bY4YyQkcXKSK5r6pvbGCxoQFTydgUOSh4IOExmJVqbOoGK2btaqG41Z?= =?us-ascii?Q?wyyTLYAINbxNCZUWXtNHrukgaEe4J8MDa2O/RxDqFpTmqVtGgYzLrAtYqHrz?= =?us-ascii?Q?EScKSLeAWm365aZvZ8WYt1BM4wjziSsH9nDDLXs7gavg6hIGNLqSTskUUpU8?= =?us-ascii?Q?P6KWZhpJGK9UDx9NK5qdyCMLEg8XB0few8rNkIEIBpfO0nGJ7/XL1PtuE7J5?= =?us-ascii?Q?IGFeYG+VHRUGi8CJGz8iuYrlQ9FEjUJrRtd5k8JM2TyeDZnTtmnMSRmGYQF1?= =?us-ascii?Q?KNDubSHqrE06MM4tjpril0uh3SO4Zkh2W5iuBnIiKL4CPUGhctYYbkq4iRiu?= =?us-ascii?Q?3w4ucN8xcueMSwqVixkpwn2toen33dK6NRNohxtIwC+usCEYb/YxBvX9r0D7?= =?us-ascii?Q?ZfVfqZX1sikpSdkRzUM/oqmJgy9WjHfOq3MR8FbuBTAFDp8auYCpNetok1Ul?= =?us-ascii?Q?xNujrg=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(7416014)(376014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jan 2026 04:55:59.9474 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ea7a8fb5-3935-4ba2-a5c8-08de59728971 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=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DS3PEPF000099E2.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4475 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Introduce dax_cxl_mode to coordinate between dax_cxl and dax_hmem when handling CXL tagged memory ranges. This patch defines the dax_cxl_mode enum and establishes a default policy. Subsequent patches will wire this into dax_cxl and dax_hmem to decide whether CXL tagged memory ranges should be deferred, registered or dropped. No functional changes. Signed-off-by: Smita Koralahalli --- drivers/dax/bus.c | 3 +++ drivers/dax/bus.h | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/drivers/dax/bus.c b/drivers/dax/bus.c index fde29e0ad68b..72bc5b76f061 100644 --- a/drivers/dax/bus.c +++ b/drivers/dax/bus.c @@ -24,6 +24,9 @@ DECLARE_RWSEM(dax_region_rwsem); */ DECLARE_RWSEM(dax_dev_rwsem); =20 +enum dax_cxl_mode dax_cxl_mode =3D DAX_CXL_MODE_DEFER; +EXPORT_SYMBOL_GPL(dax_cxl_mode); + #define DAX_NAME_LEN 30 struct dax_id { struct list_head list; diff --git a/drivers/dax/bus.h b/drivers/dax/bus.h index cbbf64443098..a40cbbf1e26b 100644 --- a/drivers/dax/bus.h +++ b/drivers/dax/bus.h @@ -41,6 +41,14 @@ struct dax_device_driver { void (*remove)(struct dev_dax *dev); }; =20 +enum dax_cxl_mode { + DAX_CXL_MODE_DEFER, + DAX_CXL_MODE_REGISTER, + DAX_CXL_MODE_DROP, +}; + +extern enum dax_cxl_mode dax_cxl_mode; + int __dax_driver_register(struct dax_device_driver *dax_drv, struct module *module, const char *mod_name); #define dax_driver_register(driver) \ --=20 2.17.1 From nobody Sat Feb 7 05:53:11 2026 Received: from SN4PR0501CU005.outbound.protection.outlook.com (mail-southcentralusazon11011049.outbound.protection.outlook.com [40.93.194.49]) (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 4C2E74657D2; Thu, 22 Jan 2026 04:56:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.194.49 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769057772; cv=fail; b=KsRa2DulDFYIkpZCmGoQMU9DTQXFUWOZWeDSqoRhBewhuHXq69EbjGJgQw/raAd3m6gyFDaOWEPDgqP8Jh1TyIY2KMquPJfj6+KKmpdaYyJmY3WW9NQWq5VFsIwCwx/PZvbZk3Rp7PdZ1auPkJmpioNBSf0ywAX/Y28rDUT7f2M= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769057772; c=relaxed/simple; bh=eJLI0Ow4VnhahyzRNGPVdDioM+7ksfTtd+hKH9Fk6OQ=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=LEkfgUmoUMFzmsh8BL8TrERXRwxZWsFzg0UvBvhzMG4+5iT4iBDuNK7mrcqMR+jz/hGXcBNWGjePhovME8KTpjEVCtLDvUf81ngAvvKWchFjIJwmLlK34+fP4aNLNB/AsBaO4Mu7OiQ0LazJ6uNa0NFoNpTpYkfRmQo+kWa6gWc= 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=e44UtXEF; arc=fail smtp.client-ip=40.93.194.49 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="e44UtXEF" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=D7rqArkLn9vavlEJI9bRh0eBU3eGjmPUt1d0WecVoKd1Ea71B4Qt/JMVkiIFD5eGkcrvGTuvXIhJKFwJ0mgMfdzVkWowNhpSivIFj6ILGDQBHbe8LrRKh9XG5nZoSM+Wljm7G3TGGmnSXrMzAK+OkR1MpeEpHwprBn4YH4eIPsRusiGpocXh1oaT4BgTXpz3kMVYbWBRjs7Qci4SJ2EMd4ltGsstyP4L2XL3R1ztRSOasR70u24D7UMSEXxUDjf2qFTzY3aeKdLroW3O6c/OANSNx6j4RuQOtNShIxXxn0ImNg6IjWmf/KPbHuTnaMzl7qW04r/QuIokM7gEfp3BiQ== 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=LsG/Yt6iZOHQkvCHSeLjocxZQyi6/khcb9TdUgaVabQ=; b=scqPbZsmhY7+pDDmOodsDY4T2aIYt8BPvuXaYFwBw/DEwxEb15SWc9c1VdNSuIC6/KPJ+BBlEhufdntNsETxiVsW0xK+C8q7nPjgOlv+ZjRmZn54VGYIaIq7k91tjj4P/wGzmaEUNB+EBFgZ3u448pXwuzbLaWqm0qP+DTTmbX/9j68yjBbeZbrwekiQGotQMkVfq6+W1uKBQgs2Se2rU6RXresuggoyOhQYnWG4RBFsY8Tanvx7WgKJfU1foyorBFpq9RWClG5kfR5Bj0TZNNzNMn4nuu2PUoFCFaq3qxPbkrDOldrneuKAJY6wd2cRxTi4caqire1PE4qpN7MhLg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.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=LsG/Yt6iZOHQkvCHSeLjocxZQyi6/khcb9TdUgaVabQ=; b=e44UtXEFjLSd63OORByFTBFmZ8mNMnQdGZLW2WrLsCA+i329/XfQ2rr87eUbmbFmJPw4L3gsJY6pONuZHs/SNGd+JazdA7j5wlz/bCItuW/7hqj3rHi2jYl9ZRCxnO6vzmi7YXK+GOCGL9e98Q7r4HTmi2xPPH8MyD9EDaQL1pc= Received: from CH3P221CA0016.NAMP221.PROD.OUTLOOK.COM (2603:10b6:610:1e7::8) by LV8PR12MB9333.namprd12.prod.outlook.com (2603:10b6:408:1fa::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.9; Thu, 22 Jan 2026 04:56:01 +0000 Received: from DS3PEPF000099E1.namprd04.prod.outlook.com (2603:10b6:610:1e7:cafe::75) by CH3P221CA0016.outlook.office365.com (2603:10b6:610:1e7::8) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9542.11 via Frontend Transport; Thu, 22 Jan 2026 04:56:00 +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=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by DS3PEPF000099E1.mail.protection.outlook.com (10.167.17.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Thu, 22 Jan 2026 04:56:00 +0000 Received: from ethanolx50f7host.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 21 Jan 2026 22:55:59 -0600 From: Smita Koralahalli To: , , , , CC: Ard Biesheuvel , Alison Schofield , Vishal Verma , "Ira Weiny" , Dan Williams , Jonathan Cameron , Yazen Ghannam , Dave Jiang , Davidlohr Bueso , Matthew Wilcox , Jan Kara , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Li Ming , Jeff Johnson , "Ying Huang" , Yao Xingtao , Peter Zijlstra , Greg Kroah-Hartman , Nathan Fontenot , Terry Bowman , Robert Richter , Benjamin Cheatham , Zhijian Li , Borislav Petkov , Smita Koralahalli , Tomasz Wolski Subject: [PATCH v5 6/7] dax/hmem, cxl: Defer and resolve ownership of Soft Reserved memory ranges Date: Thu, 22 Jan 2026 04:55:42 +0000 Message-ID: <20260122045543.218194-7-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260122045543.218194-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260122045543.218194-1-Smita.KoralahalliChannabasappa@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS3PEPF000099E1:EE_|LV8PR12MB9333:EE_ X-MS-Office365-Filtering-Correlation-Id: 9f9d4344-0d42-40ad-3c72-08de59728a02 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|1800799024|7416014|376014|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?hwZMmcu9dQHXuDL63Jj3kfdDT31H/cfB5m/1Daw/q8gcHefpPZ7fWeXENA5F?= =?us-ascii?Q?PA6MX+RhW3pzBvwqWk/1dx4+hQUDSarLYRgBcQk/r9deVO2Zn4g5/rkUmjme?= =?us-ascii?Q?d1VB0rJRVc/YtpK2DBfIT6ahkiaolOTGuAfd2yho4UFMOopweF29McQV3Qy1?= =?us-ascii?Q?+FL75mLssoBvVw8wIezVRqyhbjPLIMoqgq9dv8XbtoR1ZHeg9g6xVXlzT6JO?= =?us-ascii?Q?pIctFDEOIWj5OIouy0gT5E+B+Z2vacev51VBSdcp50T+ntOSsq5PKfVe3ni8?= =?us-ascii?Q?O1olrzHiaFJwSqR1QXTwo0ye0mQf1xk5W0RRSIEm+kf5p/a1Vpn/2hXSL1Q1?= =?us-ascii?Q?ED2/KjYByxeb/pWlRbmYTN6u9gFzUSI/POflA5XLRu1jDqVRNKwzwDsbp8mj?= =?us-ascii?Q?qFsxLyPKCefMMcm/fa5dODH+H6VJoKCTuqr9hRwgu0ox8RVXn8zY83PcjuBh?= =?us-ascii?Q?cNxKOoIxQ28zWTw5OUBfFs0AMRT8uZAlCve4uizFhrT398mcv7uQ1x/W5B5Q?= =?us-ascii?Q?coMoRXEXoPnxTrZv5D85ou2IyrrrM5PgpUCOocRm3x6owr7vhH4lRNhmM0IA?= =?us-ascii?Q?gUVXK6c2y+ww2Hi1387PYRXn0ppONte/A5RiMArTsa50Mp2O4xQWChoz/91D?= =?us-ascii?Q?vDWeL9oykot7Qr5ROhOSnM3Ru6W5zSRxjEn47NbMT7EJ8TTbt0ZC7K7c5yX6?= =?us-ascii?Q?guN1dUmsxki6PQEWGIz4cL/AFPArrhP1qlQKtn1N89xgCdKBX8v7whIEINUz?= =?us-ascii?Q?Xa1zHQtL8K3fkMGdhjN9bTu8KcMtRXk5trBmWHkAECWzy1utZI61Tzth6+ic?= =?us-ascii?Q?dv+Dd+8o3kxwzbyXgpSXI4M6WGG4YIYAkjTw/LQ39fiLbdzVfAuwTg/rJk/h?= =?us-ascii?Q?e437RwzsvASyqnH/7w7ShOGCTHpoUbjiJo//pmyRPrZQ1KjBGTG7tXFlPfVh?= =?us-ascii?Q?tAVhLrDdlnY38EIcTvUampcNQNSvnnfM0kfidGH3JoZIEzIANYRUWFtswxJj?= =?us-ascii?Q?Lbds/2GNCDTXtj25VXieZ6PfbJrdU0d6klwSx6d9YTLdsdb5kXOGIfjZAi3i?= =?us-ascii?Q?K9O4+lnQFRaHIBk8QYSCmhbSL7Ud0GY0ZhVP/eb/q41hFTNsllU7YSAEWBYa?= =?us-ascii?Q?qo3k4EumaNtqn4UeV7ckZDRpjzi5IMtjsBXtA2pm+oUt7PhPr0qSOilPkWB9?= =?us-ascii?Q?/agCIHwfec+p1+91+woTWwAqQSGN1GhFUOXQk0hBNtECltM/F5BzbpuqtR9j?= =?us-ascii?Q?Anis3gkQLowtSejtAtnVXem2nI6yJm0hcpHJMlv6BnMAUdnTBt57ks+6jedm?= =?us-ascii?Q?jRnFIrxPRVSGTg2vR4OlqAwfPxI/9LOyXR+fy9kJrjG8w6YM9z4GSmcWkOce?= =?us-ascii?Q?wgYknkn0x+cp5/VWrdGPwHgEBS0WCvPDoDq5xLIOtoYygrgqCu1Xb3btM33h?= =?us-ascii?Q?YHmaLjTwXy5oHfeui8LzTRzauzBQxEC8mNkK7dla3vW42FYrScaaHNUuRGS3?= =?us-ascii?Q?GneD4jel/wuKCmY9+37Xd8SYKpmHI7fph66+cHdOvcNZ0v83VkGxev2AM7Oj?= =?us-ascii?Q?WdpHzHfOJpRbdp7bffoRsNuckqGDKz+nF6OJaxRrJNYKJLUs0VJsTFuNDIA5?= =?us-ascii?Q?XpcO1Cm60Bejy7yjS8aeP9srilRWsyB+6J2RQVgNJ7CD5m7DnHCRAw7xCIDL?= =?us-ascii?Q?QCqhWw=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(7416014)(376014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jan 2026 04:56:00.8941 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9f9d4344-0d42-40ad-3c72-08de59728a02 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=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DS3PEPF000099E1.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9333 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The current probe time ownership check for Soft Reserved memory based solely on CXL window intersection is insufficient. dax_hmem probing is not always guaranteed to run after CXL enumeration and region assembly, which can lead to incorrect ownership decisions before the CXL stack has finished publishing windows and assembling committed regions. Introduce deferred ownership handling for Soft Reserved ranges that intersect CXL windows at probe time by scheduling deferred work from dax_hmem and waiting for the CXL stack to complete enumeration and region assembly before deciding ownership. Evaluate ownership of Soft Reserved ranges based on CXL region containment. - If all Soft Reserved ranges are fully contained within committed CXL regions, DROP handling Soft Reserved ranges from dax_hmem and allow dax_cxl to bind. - If any Soft Reserved range is not fully claimed by committed CXL region, tear down all CXL regions and REGISTER the Soft Reserved ranges with dax_hmem instead. While ownership resolution is pending, gate dax_cxl probing to avoid binding prematurely. This enforces a strict ownership. Either CXL fully claims the Soft Reserved ranges or it relinquishes it entirely. Co-developed-by: Dan Williams Signed-off-by: Dan Williams Signed-off-by: Smita Koralahalli --- drivers/cxl/core/region.c | 25 ++++++++++++ drivers/cxl/cxl.h | 2 + drivers/dax/cxl.c | 9 +++++ drivers/dax/hmem/hmem.c | 81 ++++++++++++++++++++++++++++++++++++++- 4 files changed, 115 insertions(+), 2 deletions(-) diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index 9827a6dd3187..6c22a2d4abbb 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -3875,6 +3875,31 @@ static int cxl_region_debugfs_poison_clear(void *dat= a, u64 offset) DEFINE_DEBUGFS_ATTRIBUTE(cxl_poison_clear_fops, NULL, cxl_region_debugfs_poison_clear, "%llx\n"); =20 +static int cxl_region_teardown_cb(struct device *dev, void *data) +{ + struct cxl_root_decoder *cxlrd; + struct cxl_region *cxlr; + struct cxl_port *port; + + if (!is_cxl_region(dev)) + return 0; + + cxlr =3D to_cxl_region(dev); + + cxlrd =3D to_cxl_root_decoder(cxlr->dev.parent); + port =3D cxlrd_to_port(cxlrd); + + devm_release_action(port->uport_dev, unregister_region, cxlr); + + return 0; +} + +void cxl_region_teardown_all(void) +{ + bus_for_each_dev(&cxl_bus_type, NULL, NULL, cxl_region_teardown_cb); +} +EXPORT_SYMBOL_GPL(cxl_region_teardown_all); + static int cxl_region_contains_sr_cb(struct device *dev, void *data) { struct resource *res =3D data; diff --git a/drivers/cxl/cxl.h b/drivers/cxl/cxl.h index b0ff6b65ea0b..1864d35d5f69 100644 --- a/drivers/cxl/cxl.h +++ b/drivers/cxl/cxl.h @@ -907,6 +907,7 @@ int cxl_add_to_region(struct cxl_endpoint_decoder *cxle= d); struct cxl_dax_region *to_cxl_dax_region(struct device *dev); u64 cxl_port_get_spa_cache_alias(struct cxl_port *endpoint, u64 spa); bool cxl_region_contains_soft_reserve(const struct resource *res); +void cxl_region_teardown_all(void); #else static inline bool is_cxl_pmem_region(struct device *dev) { @@ -933,6 +934,7 @@ static inline bool cxl_region_contains_soft_reserve(con= st struct resource *res) { return false; } +static inline void cxl_region_teardown_all(void) { } #endif =20 void cxl_endpoint_parse_cdat(struct cxl_port *port); diff --git a/drivers/dax/cxl.c b/drivers/dax/cxl.c index 13cd94d32ff7..b7e90d6dd888 100644 --- a/drivers/dax/cxl.c +++ b/drivers/dax/cxl.c @@ -14,6 +14,15 @@ static int cxl_dax_region_probe(struct device *dev) struct dax_region *dax_region; struct dev_dax_data data; =20 + switch (dax_cxl_mode) { + case DAX_CXL_MODE_DEFER: + return -EPROBE_DEFER; + case DAX_CXL_MODE_REGISTER: + return -ENODEV; + case DAX_CXL_MODE_DROP: + break; + } + if (nid =3D=3D NUMA_NO_NODE) nid =3D memory_add_physaddr_to_nid(cxlr_dax->hpa_range.start); =20 diff --git a/drivers/dax/hmem/hmem.c b/drivers/dax/hmem/hmem.c index 1e3424358490..bcb57d8678d7 100644 --- a/drivers/dax/hmem/hmem.c +++ b/drivers/dax/hmem/hmem.c @@ -3,6 +3,7 @@ #include #include #include +#include "../../cxl/cxl.h" #include "../bus.h" =20 static bool region_idle; @@ -58,9 +59,15 @@ static void release_hmem(void *pdev) platform_device_unregister(pdev); } =20 +struct dax_defer_work { + struct platform_device *pdev; + struct work_struct work; +}; + static int hmem_register_device(struct device *host, int target_nid, const struct resource *res) { + struct dax_defer_work *work =3D dev_get_drvdata(host); struct platform_device *pdev; struct memregion_info info; long id; @@ -69,8 +76,18 @@ static int hmem_register_device(struct device *host, int= target_nid, if (IS_ENABLED(CONFIG_DEV_DAX_CXL) && region_intersects(res->start, resource_size(res), IORESOURCE_MEM, IORES_DESC_CXL) !=3D REGION_DISJOINT) { - dev_dbg(host, "deferring range to CXL: %pr\n", res); - return 0; + switch (dax_cxl_mode) { + case DAX_CXL_MODE_DEFER: + dev_dbg(host, "deferring range to CXL: %pr\n", res); + schedule_work(&work->work); + return 0; + case DAX_CXL_MODE_REGISTER: + dev_dbg(host, "registering CXL range: %pr\n", res); + break; + case DAX_CXL_MODE_DROP: + dev_dbg(host, "dropping CXL range: %pr\n", res); + return 0; + } } =20 rc =3D region_intersects_soft_reserve(res->start, resource_size(res)); @@ -123,8 +140,67 @@ static int hmem_register_device(struct device *host, i= nt target_nid, return rc; } =20 +static int cxl_contains_soft_reserve(struct device *host, int target_nid, + const struct resource *res) +{ + if (region_intersects(res->start, resource_size(res), IORESOURCE_MEM, + IORES_DESC_CXL) !=3D REGION_DISJOINT) { + if (!cxl_region_contains_soft_reserve(res)) + return 1; + } + + return 0; +} + +static void process_defer_work(struct work_struct *_work) +{ + struct dax_defer_work *work =3D container_of(_work, typeof(*work), work); + struct platform_device *pdev =3D work->pdev; + int rc; + + /* relies on cxl_acpi and cxl_pci having had a chance to load */ + wait_for_device_probe(); + + rc =3D walk_hmem_resources(&pdev->dev, cxl_contains_soft_reserve); + + if (!rc) { + dax_cxl_mode =3D DAX_CXL_MODE_DROP; + rc =3D bus_rescan_devices(&cxl_bus_type); + if (rc) + dev_warn(&pdev->dev, "CXL bus rescan failed: %d\n", rc); + } else { + dax_cxl_mode =3D DAX_CXL_MODE_REGISTER; + cxl_region_teardown_all(); + } + + walk_hmem_resources(&pdev->dev, hmem_register_device); +} + +static void kill_defer_work(void *_work) +{ + struct dax_defer_work *work =3D container_of(_work, typeof(*work), work); + + cancel_work_sync(&work->work); + kfree(work); +} + static int dax_hmem_platform_probe(struct platform_device *pdev) { + struct dax_defer_work *work =3D kzalloc(sizeof(*work), GFP_KERNEL); + int rc; + + if (!work) + return -ENOMEM; + + work->pdev =3D pdev; + INIT_WORK(&work->work, process_defer_work); + + rc =3D devm_add_action_or_reset(&pdev->dev, kill_defer_work, work); + if (rc) + return rc; + + platform_set_drvdata(pdev, work); + return walk_hmem_resources(&pdev->dev, hmem_register_device); } =20 @@ -174,3 +250,4 @@ MODULE_ALIAS("platform:hmem_platform*"); MODULE_DESCRIPTION("HMEM DAX: direct access to 'specific purpose' memory"); MODULE_LICENSE("GPL v2"); MODULE_AUTHOR("Intel Corporation"); +MODULE_IMPORT_NS("CXL"); --=20 2.17.1 From nobody Sat Feb 7 05:53:11 2026 Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azon11010040.outbound.protection.outlook.com [52.101.56.40]) (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 4C22132E757; Thu, 22 Jan 2026 04:56:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.56.40 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769057775; cv=fail; b=uQ48eq5ahWRq61aFFdLWT4KLrF/xafV+pcsdoVo3MVhV1ZYvBPOg2DudED65ZvcA92ke5Sk9vQVdEvrpwtBiPHhHcZ2b0994oyjaLDo4sE9K/i/AV4KIv9EVduybdl7F9c3sClbVDQC4YACZeJLlb9CtZLK1Jg4lV6AaZ0Av1hk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769057775; c=relaxed/simple; bh=Yp2RmsT2/A6pqE02FU3hd1IN9L2R6jX8r/GKWSy9Z7M=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=pPa2b3hug3TxgYxUq93Nl/+RZGBUrqkEsLIgGkT2ogr//N7Gxta6VseFHBH5WJVnpyOiW1i5bAM0sBu/sutz8SCU0k+Ph2bp5T2HgzbKqDY3RmtCJETmbKlGO+kQMtg7uQ7VZ+LH3zVERWrfUbNaYtJkaNY694G+69eTo8w9cTM= 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=NHtaRJzT; arc=fail smtp.client-ip=52.101.56.40 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="NHtaRJzT" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ML2wO+F/kG6xLAiT/lUnMJAJTo249CmtcAVQJn4Rtsz8YpVFnTQgXeB0wCMLA29VU/nIWP+YJw8Kpg5trx21H5CvcG/B6iWHbJaS0G6mzvIZ0WneBGJ/xmUFjB7tJwu7mTR2E5u6obfNyozeXQCVvkPNTJdIXgx8VXR3Uvh1WqA28SjILZIw3BFT69IWW0K+lcX9poS09Akrgzwl/T4ZUxcJ88rKCpTHr19fLeXuQdxtLQ/CCyBKa5KvWiHw0HC9yfB1oMYScjIEGMLQD8kCaXE5GXROg4onj9pQr7t0Sxzyt2LrpUgNPX+FiCfYEVnSlSGghDSddt+kraqb1TnoFQ== 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=g3nTSAVrzuX2EDjOyZDApiZXz/wmVpFG8hwYvGzVtd8=; b=E4bQFswjsqxuvIjPpheDK+12eABHZs96yuQfsxKTWqk7W+1CrBYqOvYjGDQscY/7ZfQHiCACI7M/ciaBPfKarcNEDhcfadXEv5fTz3x3Tq3YvbwdbIQGHx2T48RlF9Z/put0Ty13YRpyonzExJaxQJSjMpXYkOTuXlBIfusOTengTkEKafihbWXBi7/LMRAv8vR0ATOl2GtuDdgL3ZnvoTr3Yrbn/RLekh/mByVrorVNrP0MKrRh4oeht9Pi4Vs5fbFsd7LualpK3yeKcMsoZxkcY2YkS3In0/LJARtZG8F5ruUNrYENhIuu+fpirjdx09qocSYb8oZlUWPQU3f8xQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.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=g3nTSAVrzuX2EDjOyZDApiZXz/wmVpFG8hwYvGzVtd8=; b=NHtaRJzTjkGNSe4WdPC4+9F47LzJV/UvOj4fU15xG1rEGrivIpIhw54Qcp8BobS3TGa0o172xkN0xqVisv7ONwCXM753+BwDpS77JBRW2wHvYiU4pAZ2fHPioOWIrEmkwBjTDv6dc/EC3I5zzqC5F2/er33P47y6GfINQDGq1EM= Received: from CH3P221CA0026.NAMP221.PROD.OUTLOOK.COM (2603:10b6:610:1e7::27) by IA1PR12MB9529.namprd12.prod.outlook.com (2603:10b6:208:592::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.9; Thu, 22 Jan 2026 04:56:03 +0000 Received: from DS3PEPF000099E1.namprd04.prod.outlook.com (2603:10b6:610:1e7:cafe::ad) by CH3P221CA0026.outlook.office365.com (2603:10b6:610:1e7::27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9542.11 via Frontend Transport; Thu, 22 Jan 2026 04:56: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=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by DS3PEPF000099E1.mail.protection.outlook.com (10.167.17.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Thu, 22 Jan 2026 04:56:02 +0000 Received: from ethanolx50f7host.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 21 Jan 2026 22:56:00 -0600 From: Smita Koralahalli To: , , , , CC: Ard Biesheuvel , Alison Schofield , Vishal Verma , "Ira Weiny" , Dan Williams , Jonathan Cameron , Yazen Ghannam , Dave Jiang , Davidlohr Bueso , Matthew Wilcox , Jan Kara , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Li Ming , Jeff Johnson , "Ying Huang" , Yao Xingtao , Peter Zijlstra , Greg Kroah-Hartman , Nathan Fontenot , Terry Bowman , Robert Richter , Benjamin Cheatham , Zhijian Li , Borislav Petkov , Smita Koralahalli , Tomasz Wolski Subject: [PATCH v5 7/7] dax/hmem: Reintroduce Soft Reserved ranges back into the iomem tree Date: Thu, 22 Jan 2026 04:55:43 +0000 Message-ID: <20260122045543.218194-8-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260122045543.218194-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260122045543.218194-1-Smita.KoralahalliChannabasappa@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS3PEPF000099E1:EE_|IA1PR12MB9529:EE_ X-MS-Office365-Filtering-Correlation-Id: dfe248b8-4c8a-41cb-3e84-08de59728ae7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014|7416014|13003099007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?QzWNTBK/3cVNexX9wt182EZkrRhPkfSzavty3AsoiO9ah7F7i2XWLpMbwcjB?= =?us-ascii?Q?jhSbuAsETDrgvpiSe7kBahjYHAJ98rQymeb/1/wLeQLfXT2fT67zli78O6Ql?= =?us-ascii?Q?d5Vf6XEmYiqx5wKD/awWHYZaMG5WAKLTo5YPRHgwpWs6rMwwHxlfZK9wttrJ?= =?us-ascii?Q?B/petbumfb7NsVQFm5ZWR4X4bCPQnWRAN/ARFA5xodrqZ00ELCOxEmwGhRHj?= =?us-ascii?Q?hKYvZDW2oXrrWiVcTF14e1qx+GSjHPxFdbciLAWysf89u7QEsaEvNZ6Ks5wY?= =?us-ascii?Q?HF+wshUrBtljR82qfP9IvsIH/wG/F5f5XPXmk4K/E1Sg9ADexMyCKGMBicS8?= =?us-ascii?Q?sll6VtyLjXbEwR46vWc92Uc5qoJZ8Ese/7+tuKHjogbl9hVLAMZhiW7eNutK?= =?us-ascii?Q?GmlnXE6alRrWyb9mp1oLbu0a/+zIza86BJw/TW1myCNmp1nFIwYCrfFT8HRS?= =?us-ascii?Q?cznawrRx6K63hH9ubQ1B6nxgi4/PgA4RLqtLCFMGcrkylw5uE5D6ASCRk8TK?= =?us-ascii?Q?YUmrsMW2+YdcIfoDdHeBnWZ2+sXdBFzLd1pfHKPfaPcmFADka7QgCH+2w8LV?= =?us-ascii?Q?tSaPVKKOZEJBIOxUaz5gFCq7Us8gejPhvmhTBkahCoqsnxxznQveKTUcZlUc?= =?us-ascii?Q?C9dX+7T/jS0/iKpK9tboLHelOtTtthP4xjjPEFPOxDC37wGzlExKdXAri6g/?= =?us-ascii?Q?HOzlpIlpjsbX0uysz5QX4XfMMH6e581WHfWB0hJNCNqu+aRvhG+DQmz6tD5A?= =?us-ascii?Q?TBvmC47Uoa4ElQawPje6Q7ApILBjAxQZfedaeebNqVZF/kpuNqJtrCG34lB3?= =?us-ascii?Q?C9B3SioChBEbYZg4etzK7iIgVLWEoHighKLJUbFK8eThryfcZHoybed4qe96?= =?us-ascii?Q?B23l0fMPixm5LnxrBvY9hJzaiX0S4x65qqj2U/Z+jQDPdlay3lLG+2aUYLW4?= =?us-ascii?Q?VCefw7r8dd67rDuAMIJqVoMcgursNHlHMEgzwlR6cTANJtVL6mtgQ3zIFV3X?= =?us-ascii?Q?ZskwJDiv13zSITljRlvE6CvKek/X3nIZzGTB4FZtcj2rnmSbIx1CV3p3fuW2?= =?us-ascii?Q?I5YLc5BBHKtq3EAXLKdw+krIoq3J/SnyVLF3osiJphXm8aLxOarHxlzBhNG7?= =?us-ascii?Q?d2lGnLK/9am0fQqyf0QPQSR2V7kXKPlY9XZG19fqhS3nFJ4HiT/apHNtd+c2?= =?us-ascii?Q?Dm/O69wTi9ASwSqK8i3yCCN8llO9+d64lj+YNTCKeows+ti3g6anEDrxc/te?= =?us-ascii?Q?k9ZpVMC/3obF7JsdXlTVqDOt8XFFeSEYXL3w4dT/CQS8n5eTmzWjZRWuajSH?= =?us-ascii?Q?WkcLAEvUwaUjoYzVxVo2BxxpmScwSdw3A+xtgtCA2Mtv4ccS0v9ku439xxfh?= =?us-ascii?Q?9HDZuQQKq1V1X1jJEqbBZ3vA3CZqzgmGnQ24+tCbbXQav+4XhxI92nE5Tqf0?= =?us-ascii?Q?GQU/S7BBCGnaQx3JWyVxFfCnZFXWuNSc1A++NMdz2fJYm43okHzoL6ghPvUq?= =?us-ascii?Q?iNOMpjnOiu1sfl0O9uGz3Dcwn6CskTjqyW+fQGrC3FVZBL4v2HeE+7rTlAH2?= =?us-ascii?Q?F3lvfWpDDLj1XDw3lvsAkSvCVmr/DQE6ELZLAGDn7tr9jUyMQ3nLoV2T0wFk?= =?us-ascii?Q?o7i3UUOQJgC8PV5wSpFMdV6B9U7MHQI2qkbuJJnpq29WrQvmAjKg4onM367w?= =?us-ascii?Q?nKnWVg=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014)(7416014)(13003099007);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jan 2026 04:56:02.4250 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dfe248b8-4c8a-41cb-3e84-08de59728ae7 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=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DS3PEPF000099E1.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB9529 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Reworked from a patch by Alison Schofield Reintroduce Soft Reserved range into the iomem_resource tree for HMEM to consume. This restores visibility in /proc/iomem for ranges actively in use, while avoiding the early-boot conflicts that occurred when Soft Reserved was published into iomem before CXL window and region discovery. Link: https://lore.kernel.org/linux-cxl/29312c0765224ae76862d59a17748c8188f= b95f1.1692638817.git.alison.schofield@intel.com/ Co-developed-by: Alison Schofield Signed-off-by: Alison Schofield Co-developed-by: Zhijian Li Signed-off-by: Zhijian Li Signed-off-by: Smita Koralahalli Reviewed-by: Dave Jiang Reviewed-by: Jonathan Cameron Reviewed-by: Dan Williams --- drivers/dax/hmem/hmem.c | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/drivers/dax/hmem/hmem.c b/drivers/dax/hmem/hmem.c index bcb57d8678d7..f3ef4faf158f 100644 --- a/drivers/dax/hmem/hmem.c +++ b/drivers/dax/hmem/hmem.c @@ -64,6 +64,34 @@ struct dax_defer_work { struct work_struct work; }; =20 +static void remove_soft_reserved(void *r) +{ + remove_resource(r); + kfree(r); +} + +static int add_soft_reserve_into_iomem(struct device *host, + const struct resource *res) +{ + struct resource *soft __free(kfree) =3D + kzalloc(sizeof(*soft), GFP_KERNEL); + int rc; + + if (!soft) + return -ENOMEM; + + *soft =3D DEFINE_RES_NAMED_DESC(res->start, (res->end - res->start + 1), + "Soft Reserved", IORESOURCE_MEM, + IORES_DESC_SOFT_RESERVED); + + rc =3D insert_resource(&iomem_resource, soft); + if (rc) + return rc; + + return devm_add_action_or_reset(host, remove_soft_reserved, + no_free_ptr(soft)); +} + static int hmem_register_device(struct device *host, int target_nid, const struct resource *res) { @@ -94,7 +122,9 @@ static int hmem_register_device(struct device *host, int= target_nid, if (rc !=3D REGION_INTERSECTS) return 0; =20 - /* TODO: Add Soft-Reserved memory back to iomem */ + rc =3D add_soft_reserve_into_iomem(host, res); + if (rc) + return rc; =20 id =3D memregion_alloc(GFP_KERNEL); if (id < 0) { --=20 2.17.1