From nobody Tue Feb 10 21:59:46 2026 Received: from SA9PR02CU001.outbound.protection.outlook.com (mail-southcentralusazon11013052.outbound.protection.outlook.com [40.93.196.52]) (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 6E22B20CCDC; Tue, 10 Feb 2026 06:45:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.196.52 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770705923; cv=fail; b=F6g/NcawuH8yYYeA0Frr81PkIwDfqFnsQoFbpQoNUBzcNGZQjtswyct7mBuPfCjue617s7X17X2rQps5WGw92F8WWJely6GfE3RHXbcyhvWc8aVOU+KYh+dEEGF2nV3/MWMmoXivAOmyeRPHozOYqLfu2w0SbC4lhik7eBZLOiQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770705923; c=relaxed/simple; bh=d7MDX3alLr0RvMXGd/hcCZzm0JpaASnGNF1iLF80qvg=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=OyBoyvEY2lYLe3vjOP/IQh4ZsiAb8yKjV3Po4tbN0QUWXRKUJSbO3o6G2JvduV6ktBQRzw1ebHiP4QyyS872KklGC0MG7lo0xYpxq+PaH4tTSkQBlvz7K+2kMyRnwHFD/nTPm7reMmtEj0VBchrs5m67qBz2fijitKOyGBHd730= 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=F7FTl2EU; arc=fail smtp.client-ip=40.93.196.52 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="F7FTl2EU" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Mj8F64ohT/VfLB3Nx38+NMGmMKnO3mKDi4x1PzIBQyet1NWi0pkBkLzQWmPRuN7qkcxiby7+qhn2Xh739ZQYlTAWunfha/HxtenyInTLHSQkh55aPrHoLzqJ8aGQGByyr+jD1gPdV69mgWejxCvNwnsE9u/An2QoW13Rwq+aUe3q+hXgYJQsgnhBcyv/n4/PwIp4V6pUaWUJbq/MR7XOL0iDFjwtq9MevYcRFR+qYa6S9UBniCrsAJ84sH2Cu9D0n5+A8Bv94/P+GrvxKgWUOq46FGH4QvgDhpCdl1k/6Tx7lRL1vPy5Y/IgQzP2zjxj1b5OGshk3nN110Wiw9lLEQ== 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=IK459voMZoyKk/oBtDN2JSV0mkRaD48bIM5ijPg4GRs=; b=rc+oapEZoqApHBVVMgtKpiFZUpYFVGoxLYtLWov582cZTBFvt01cfwd1+J+Glz9NhAcopyDfP05q/dhAKwPBqJDvFVglZeyOy1goPDfny0YkyojiLIPS/+SZ5a5UTqw01um+vYoAp0K5U7/fUcwgKoqkuHOziI1TMQfxunPgOjQ5/m/y1kUprCA04A3Seal0USLzr0PMFP98X1NmrAwAgAWD+23yM2dfGAJSRLe03Iz3VOQsLzHFqooD7Zq2VlJAhp9MMHaQP00N2YZdikWFUmUk9DG9/R/olgPpdQFgEbJOMezb7z2ryoW5ybV4d0oXTV7A/hDQB/PHycSgm5GtkA== 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=IK459voMZoyKk/oBtDN2JSV0mkRaD48bIM5ijPg4GRs=; b=F7FTl2EU6XWOH42gC6v2NSRv0jG2tVBkNfdzVrq05MYMT3D1+iCwmlMtEFTaaV1DvjtX9yV3aVmng4Mz3Dwo8YWs/z2aGULqlnzfw92tLo3u/J5AXnawO/qDBJfq1fOxhDXD4EaogPjzVkoPBfbfrI4TItlYGk65kIAObaqFAPs= Received: from SJ0PR03CA0004.namprd03.prod.outlook.com (2603:10b6:a03:33a::9) by SA5PPF37951B1C9.namprd12.prod.outlook.com (2603:10b6:80f:fc04::8c6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9564.16; Tue, 10 Feb 2026 06:45:16 +0000 Received: from SJ1PEPF000026C5.namprd04.prod.outlook.com (2603:10b6:a03:33a:cafe::c6) by SJ0PR03CA0004.outlook.office365.com (2603:10b6:a03:33a::9) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9587.19 via Frontend Transport; Tue, 10 Feb 2026 06:45:16 +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 SJ1PEPF000026C5.mail.protection.outlook.com (10.167.244.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.8 via Frontend Transport; Tue, 10 Feb 2026 06:45:16 +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; Tue, 10 Feb 2026 00:45:15 -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 v6 1/9] dax/hmem: Request cxl_acpi and cxl_pci before walking Soft Reserved ranges Date: Tue, 10 Feb 2026 06:44:53 +0000 Message-ID: <20260210064501.157591-2-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260210064501.157591-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260210064501.157591-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: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF000026C5:EE_|SA5PPF37951B1C9:EE_ X-MS-Office365-Filtering-Correlation-Id: 11f9a2db-b775-4d24-e214-08de686ff337 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|7416014|30052699003|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?LEgCGL/jEznlb0xI/7ftY+21bhtGkfVubpPKiOaH4BG5Jox3hISXJjR2J1sj?= =?us-ascii?Q?G3TC0PXtM/UU/y8bWHRiuGBoz0B6HUZehjqfo5cs/sZsr73vTMPIHhbB1jKm?= =?us-ascii?Q?egiVd4JAKxAeg5etI6hB4aBviv0rSA8rs6EBzgSy5hrsh/HA0X62NaKIQczo?= =?us-ascii?Q?Y2phzSyX0UFy/8OMYyCS2tEVlrpE84VEKHt1eK0MT5rZMqNcisR+xax0d8/a?= =?us-ascii?Q?XWcYWPQZMBc9IXsJZgu1muDQTxvU/RSjtwp5xbK7XxvrTc2yp2ORYt8n54UI?= =?us-ascii?Q?G3HhAL9P1nQaviIJxnwSsxwEARXc6rz+GG4hxA83eqAfMxjUHEhj7BdjitC1?= =?us-ascii?Q?K0XvH09wHXyZtDF3o/A7Fp+8JjpcBeiAl8MYgHYHITidoht2/PPrl/UJJiCD?= =?us-ascii?Q?69FlsfAAXgZDgf219LGZgFBaL9WR433DOZUkY7TCUbA7hsCewDW2NeMNEPsA?= =?us-ascii?Q?qW8Y0qErIRTZfpAWRAI/8V+juzdOdzP6WAMUY45fMm9ze1i+Y/vdE1xPLERZ?= =?us-ascii?Q?dOzjXTGwL5u2Vx5is+OmrfqLRbd8eVoxeQVjOFs49b/LQ6aYRNbMvCdiSLj/?= =?us-ascii?Q?P8F1WdqNasIahupSHmD2oJM3KizLw2+Nug8gUPyyGHGK/3xi7HsaUtaEUkwg?= =?us-ascii?Q?5HWNjHdSx9Zc2lH0K+VppEC+6NIsdm83lqIbg/8sl3VP6XNXHgyif9PaeIb6?= =?us-ascii?Q?mD+Gx5AQbu2z3bwzOV5Y+/i52kRhY/Q2To2Ezn/B8v88YjJnP/mP8ZQroX2r?= =?us-ascii?Q?hnMyPVxml+vkKPXBgUBDkQ2Pv9Buefh0eqnt6ro+PMkVe178Sj1+un1Lb9qo?= =?us-ascii?Q?s22wMNVd+N35qdCZ82xq4wuVcfUAYfDYUCDfok2X7HjrVder5XSrqne562v7?= =?us-ascii?Q?x3zDKPmvEbjbR60Af/wrMh9WODCPMeiT/EuypdAYEuxaWgVdI/rhC45URMvI?= =?us-ascii?Q?B/ixjRI/sokzjlrXcjnFWdk3Cb8fICgUW82wbkgBOSmz2hHqgB+iBNtmFgrp?= =?us-ascii?Q?OiuMC0VovTfA/3jcgrx4vGQNU3NP/1QcdaCepUVkqA9Avdfb9zV5hNgt4rbY?= =?us-ascii?Q?m1muIpR5N8zgaaCwXOEYeiDSYQLhOPQAyrfgTYWBDTCeNBzdA0/xinfiHMXn?= =?us-ascii?Q?TKt07GSjPzPwvT5ZgJ53J8INayNg3m+ls5muBLIkEdNiCH4MSl6gp1CSxsX1?= =?us-ascii?Q?psk2dP8Gz5h2jxNlZNlO/oCPwD6Kg75qaGeDZ8uiG9nF4qL6ZiJcFquFBmrl?= =?us-ascii?Q?6Knd0aFMKToezhOaJFEfKzt/G3hjF2WlE3IGBjbX9xEgar9iy5QL4LeNXLOe?= =?us-ascii?Q?oHLPX4fHn+347o3/qm4mhYa3SFuBjHfwqK+/hduTGbvCI6FSZzm44vd5kXO+?= =?us-ascii?Q?VzUQX5LXb1//Ze507eS8V2QeuMQse9xoeqiIB6bqBwBa+0N3DvUtvw1h4lnU?= =?us-ascii?Q?ab/EUDROKdPto3SAOIQ8zwhrXLtK/FR7Z6SAXkEF6AVzWWNPq/oC4fnBnEn2?= =?us-ascii?Q?umi56TuQ9OfYUG1iUvkeGlmJB7xrRhHW3GOT9b/DiI3xawzr8Bl8OdeFIeaV?= =?us-ascii?Q?YvGwjcKS8axALRauvcoP9SJknLcsCDVZDERhQ1/DANZ4UoICyeuwKuA++SaM?= =?us-ascii?Q?7Ph5YBJ09IxABmPgeYbjDQygSMKNMPP0x4G8J8UBBPkwnQbe/m86NdJ+fN6t?= =?us-ascii?Q?Y2TLYg=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)(82310400026)(7416014)(30052699003)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: RqK+UTQueQzmePFBpu79f5alpjiq1Drygcc7ggW505eUnjbR6I3dtxn6YMPfquXDNWAW0f4MsGW32YI4W6JDJC3UuzFW1tIGzWttUBeu0X8iSFvijA6JlnKY5Ro1Z8pLmmO/QVYbX2s/zZfCRwKPOk6RzManZtJ/oRVV/Gd53EtvtS50FrwmeguziRWtBhGN+FN60QS8h+i2tocbni5FEwE/ohCQUQZj3vH74i9C9pfN56SysHBecx5IM5LBSFBjvRahlMZdsoujLZQxeBJmWzycwsfoMF4aYEpjCSUg+dGlJcyTPfqfGy+3E6LJW8pryBQMv4HHAu3fhhaL3bWrLViohzQZe99vODlD4DbLbKDSlSvyibXNf3pDiqQpiRI1JosY2tNHGZ0spnrVe8gMKw7UUbTBmxB+dQmb0fSXZcmD6SKN3AQW5Qnmyufz6AiQ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Feb 2026 06:45:16.3377 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 11f9a2db-b775-4d24-e214-08de686ff337 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: SJ1PEPF000026C5.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA5PPF37951B1C9 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 Tue Feb 10 21:59:46 2026 Received: from CY7PR03CU001.outbound.protection.outlook.com (mail-westcentralusazon11010035.outbound.protection.outlook.com [40.93.198.35]) (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 6074B3A1DB; Tue, 10 Feb 2026 06:45:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.198.35 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770705923; cv=fail; b=uD3lpSxfHnsyFDOAZbiLDapUY3tY3tXV7FfoZGQpKkaS4LXdsYHhaByEEUKjPDxOOznHuF7q+JpFWQKv8aQ4P+gewp76+yFjRK4QfSRxOxLh8wNG2W6suh/Cq8cONGQ+iaECHBfp4Jisp495FiPqUc5I6Q/usYyv6YS0G7V469E= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770705923; c=relaxed/simple; bh=zGczhesOvr1/AIzez2p1VtnQ6LI3XxAemAUp1T2J+4M=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Ygh1iOjT1dYbTMAVaG917WK2ycDHW/vOB7/N36cGhW8qwxuDOKjJuNAX9N/7NF86QeYq6AfAUm+8URxPOYifj75mCYddN7kT++ULtywfbtEDZfAbSH0X8Z3pydQzLVH+ordLVZ7dIzyFWfZCo333Vls/4wW5HT7OVuX8BMzLUFY= 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=iaXTZ0/U; arc=fail smtp.client-ip=40.93.198.35 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="iaXTZ0/U" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ftJK1pYKWZe8ns/uFHkJ2D8YvF7s5uullB2fGU/gnxzaWQ8d1Ij2fK7zzoW6tIzoUudOsObUVvLH9z4fXVxicGQOMulwzqDRSSlGRifN0+Mu1Cg1DpaP7pZEbuvip0AGNhdJ54W2IQ/Tl/mjOQC/gz7ssk37S/rrEU/TUMpMd1wegt7plXvwgoIiwcUUoHNHMzFMUR0CkKg9BFO42NXf9VSp6TZq9yYKMhsw3xYsHtjWqEj62bjd6JJgoUQ5Phtq5YnhWOFebt3uwfPYBpjh6jcGeRZY+YrTgfLrYquZW+yFIAXU0WUlFFsCYBkeW8j1dZA4ui+suC1Lih4rX3NxMQ== 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=tihJpvss4JZbLBB4UAFhmJVoqBUxVGKuR/rLc6TkC2upx+CSdvTGpdLEnpkPMbF2WxqGPHyEWjSRBqu5W4Eqz2V0EHEBbywZ5C17pcAy4V0pse5Wjz+MvdSYvg6bKj4OTV69yNdiBMJtl0fA1OrnWupgdnduWoUmku6XcI5VPZ2Li0cWqguvOsU2fUEREmGXZzr3KXPUbwssuCosoqVoSrW4XcMVbTDKZllP1mKNd9+/WqJCnAzkCv8LGoh5W+J1yPurTkyRj41R4ZDKJRF7wkFVCudWk7ksXywMl+tX6rn3a/UxnD86Sj+VTSNaAKVk1ONwHrKc27TsF2mGACSJVw== 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=iaXTZ0/UBT239cwENamwf87yTTk41AFVFYSmkpi/W+kc4VIZ3qVE5/CJ+PAFceJicklVIBmVQWDqbA/XBJP89iIHk7J4lDRHKxvodCzXtd+WM8FMAWtrogyVE8YBozIFaOoFsgPuEImnlZpgaVE20/ZcpmFtp/atUyN4fdOWxc0= Received: from SJ0PR03CA0007.namprd03.prod.outlook.com (2603:10b6:a03:33a::12) by LV8PR12MB9418.namprd12.prod.outlook.com (2603:10b6:408:202::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.19; Tue, 10 Feb 2026 06:45:17 +0000 Received: from SJ1PEPF000026C5.namprd04.prod.outlook.com (2603:10b6:a03:33a:cafe::e3) by SJ0PR03CA0007.outlook.office365.com (2603:10b6:a03:33a::12) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9587.19 via Frontend Transport; Tue, 10 Feb 2026 06:45:13 +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 SJ1PEPF000026C5.mail.protection.outlook.com (10.167.244.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.8 via Frontend Transport; Tue, 10 Feb 2026 06:45:17 +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; Tue, 10 Feb 2026 00:45:16 -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 v6 2/9] dax/hmem: Gate Soft Reserved deferral on DEV_DAX_CXL Date: Tue, 10 Feb 2026 06:44:54 +0000 Message-ID: <20260210064501.157591-3-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260210064501.157591-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260210064501.157591-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: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF000026C5:EE_|LV8PR12MB9418:EE_ X-MS-Office365-Filtering-Correlation-Id: 3f56c7f3-7275-4467-637a-08de686ff3c3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|376014|7416014|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?dXHBC84TI4wFL9A4ka8RBKPYcmdWRlCncI+vljAJO1ZMC3hqthFCiY5KPKDl?= =?us-ascii?Q?tdzrdetPPobXlhXq9el2HFSSb7BHICwGV7xOXmyvsg/oJeyGWZ7vVFIGr8j4?= =?us-ascii?Q?FW4w65pk0kFQcYSBn1EppFzdhQppZr2PSRQ3F3YiWBSLkqJQtIKgqDFInwm4?= =?us-ascii?Q?GNCZzukHu+mv4Ng+hQoaqSU2HBSXJoyY5yaOTmgf3GqDaJJgBLVpczkZbp+t?= =?us-ascii?Q?Oj8dNCx9oFsF9jOMowV9CRZ/xb8BOnUsULoU70vWr9YXeXDKWrWbdZWzWcXt?= =?us-ascii?Q?DjMxWrXdk84LJoXd1laGXsS/EEwC8jPHgmMieg4/9IWzVrGER0VBR3H3+2U2?= =?us-ascii?Q?69fjSWTyYxuBmmv4IAJU5LAO9ao9h2jxi4L9sykE+CqakId1kpBW9qEHKz6E?= =?us-ascii?Q?uMgsqRU9JTou9Pmys77KMMB24kMY2fNI4oqLj8yuzQXvdiTmFHQyHvpK7Zfx?= =?us-ascii?Q?1M7C7dqtzRy9e71JqTAeDiuEhIsDp9GKpr4ErfxHe4WHwG+0EUGtkknIEvS+?= =?us-ascii?Q?6nYZ9t6JDD/ijNhZwGkRrfKO1XV0DKi6fVyrypIQUlKhtnJGEkXWf4wDXP0m?= =?us-ascii?Q?hoUiwA9GbFuj1pLVn3ou1KdOFDn2jZg/9HpK2wFgtvDpH1DR+dz15LuUlHSd?= =?us-ascii?Q?p/xixB14wYALAuiacmK1+gmfQuq6NuOoK4io0qZFsd+BUc6bRPxuZOAv8oJl?= =?us-ascii?Q?udXgVtqDOOD9dioEKmfEJwyJFMgaH679F2IkQS7YqssdP8mNF2Ovv7pE/Rch?= =?us-ascii?Q?8VXQWOvpe4sqPUrbEJgiXszyyz+Yz1D2w9YO2Swq2XHGfjacm9U/yvBgw6Al?= =?us-ascii?Q?dY2v8lsfk57xyCma921/4NZpTrXm9rqIbtrMCD7CDG1aLPYbLIbn0wKe08Sk?= =?us-ascii?Q?zPfPd7FFgEjtKpQkiM/wq/IXUINdJr3USJeoKBgXndZqhRb4AS02k7Gwml30?= =?us-ascii?Q?WcaKHTnVUTanyZHvcrzkdVK2nw5IdzkCM9b63AKiE31If0QtkoItOhPN5xz3?= =?us-ascii?Q?6BjxOED+nVAlQjCbd/EwiKkEF1o41tkIo3o9iFBdKh3hg7pC5FqeJ0zlRJoE?= =?us-ascii?Q?qNcXw0nuG4DTvHMmNxVYKb8E8DkJTww2udVi0vQSpgjciRZAdo3BJVfvQgmZ?= =?us-ascii?Q?3pxslHyOhhAARedr0EdO78o8VHtEDTAh37NvAuOHTlbGbINgiPr7KsgTZmab?= =?us-ascii?Q?c5i42JQ7czA0HxWdRS4kdqxFfS2Dqs+5DiOW58FCh8kwwdbXufeeHgUHw5/5?= =?us-ascii?Q?tP0ZGIhwjG6+PDikVp5EHUZib4eujA7EFSrI+wOMZp9XpcK2Erl6w83y5gvn?= =?us-ascii?Q?W5lOMBUURc1t3rBWeShGONukGBNEKAvhmSx/e/2F9jY48QAbOjabe2FBojxZ?= =?us-ascii?Q?8MlCbK93RoGXOSJ0GCYS2x8LgKkrb2JxolnA7BELjFEJSbnT+wwa9wewo1wl?= =?us-ascii?Q?6pWLL9lwu0NyLb/hB8GoWpYf45MrNwvf2cfGRTFNR6Y9J10siCj+Hr/2AO12?= =?us-ascii?Q?sb7H3OReUf7YmpsqqqyHYV4xmFFMg+6WBwHvQfjeB2jh9fVXoFpXo+g2KE/A?= =?us-ascii?Q?X3ab7ebsTxYTYQOxQuRl4V8BEwvmUz9Aw4lecsShpb7NTYnYBZp9zq1YGtdG?= =?us-ascii?Q?4zxcVfOms/oTk3MuZkSBAhVNfQZkGEJ6bRY0e9WiMxQ7/9cSwgiwF0deL06Y?= =?us-ascii?Q?WjORRA=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)(82310400026)(1800799024)(376014)(7416014)(36860700013);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: UVAxr9NWnhN991R6z6Fn8Rxs7ncAdctltVrmQ1+UIyYnb/ladc20DQNOG6VffKjB91XD7wPm4RAkYkw0D2+O5UBk/mkodDri943VAM4yjriyoHUip7qzWemMR2Dv4bhI7zB/fKCidFvV+s9LcHxNLsZgc5r1AzHPlA41p48caCcAm9IpGRT2dqsQ5pQEwieqfp+WS32UlmTzl97bP1HySA0TD+EF/3qZeKuS+CWbaVl6CEDWpM2VV6B9nqSIqQWtd/cWRo/7GMtgISwQlzwN4CJVtPPGlHPG4A48kUQbe+7sZ0Tl+do/E8F6cS68GIPHppJrQHCXAuUp8iojMxjCvMxK0kfguYc7ASHsFJQ+MP0Gryp4zJDTtc/J4Rr32NTg/cJAiG+9ruDTzfPel6DnCN7sPxpEP2JhRwMTwYjYOxAxiC17EvKizAkpvrYmkbS3 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Feb 2026 06:45:17.2524 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3f56c7f3-7275-4467-637a-08de686ff3c3 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: SJ1PEPF000026C5.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9418 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 Tue Feb 10 21:59:46 2026 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11011043.outbound.protection.outlook.com [52.101.52.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3CE9632ED2F; Tue, 10 Feb 2026 06:45:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.52.43 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770705925; cv=fail; b=loAKENBkMHfmB2wVCXkJrLLwe6MldUaZahsWDyC1mMAVM5wpMhgwqCgPQgkUkzOrIJk/jIF9g68ojQDOBYGzEIyhirFWPrwmgOvgpgIj3rHjryLk5T1RJh6Fr3YGGJQCYl8zlE6B0iofTUT6ElgRCX8csMFUUTG25FNky58VO04= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770705925; c=relaxed/simple; bh=8g5Gx999PXIPj9OmtrqxdsnpOpEIQKvxtpJaTp83EeY=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=rrBXB1Ho5+ZWmTvy6V7aOjweGJi1SydoheefNLbIJlgy4oq8xZjrgFvsZ/x6RmBn3IftkvNZbAVUuNMvPCNWxB3o8inefMMI0f/DXD8/h5Cz3cpwZiaIbGVbO5w/csgJGomZeaOc3YBITDJtRXX6T4DUBwIfU8bkAu/1BCyOZQQ= 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=RBHzIT/s; arc=fail smtp.client-ip=52.101.52.43 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="RBHzIT/s" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GvAL5PW3WO66+LU0yg5oF/fPzV9LH/rjdeBNt1eIPn1mY+JmWQvBCc/pIp/E/0kzEXbWX4k2j9Z1DH3jt8tcvPXL7yO54n9847sOxLViyB0TQ1ZU+p+HiuIrng9bSAFRfCVzur085n3Nx1BddDovWG4k47mmeeZz8xRkVXXoaxcZqULcowP2bC0UMKrwoVZgfi/NwnMMfC+raxMfgKNuGnADhyxufZ11wu4FlJTyUQeQapzuzrA+oRUfW0CCQfyJTVN+dn2hXBiZqHmVnefhcTfzTFOGFmuC6vMjq70Zz+Kao3vQwrPcYPSIXwZkjSXiUUfLq0ZgM5ehqLYnShmhng== 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=aAEd6VmrtKi4O5rc1S+RYxyvFriIm79YBxdxqvQP81M=; b=lWUE4vb0pXnsVP7YfqiZfCmtQ3im0ykMBJsyzScQiOWz9/Z28zIWPz9gYHNcQmLRW+3UXTIGIrg3rSofBaUdKwqlW90lrP4reHBApN6NPtJGmiFuoVgHziGxqvVEqqVfGBYf0gTwLvDIjWh58u22sWqvgb/NYRTtKanV+A5l7Gr5IjfNCA8DcdnJJKF6o1u+0ea7ai4UCX7ABDeae/R2Oa100q+6Ozmb8SAfr1yv5Xye9apyQc3MOW1Z2QuxGfipaYLhRfVcrApdH5aCKGITBj5GjxIlotBTdQkfY1GGranW1ldXGBF5I2o/21ykh6+uBK7vMKv7dKVD81OrXxV+Pw== 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=aAEd6VmrtKi4O5rc1S+RYxyvFriIm79YBxdxqvQP81M=; b=RBHzIT/s+6CCmIsB0KbP/jVyzMQF4wLezEe5k2o3ut49nnsutN8cbrGFtjbAIwY3nfw0H5/jgsUsPmFppP6dsbFoXMCZf/C2L2I6bJhc4/C1YHRx9eQJ3mzbeINjbmKwpi0MxJD0AlQ9HfMS48q4q7HOKxpw8ygNm2fUDt7xBh0= Received: from SJ0PR03CA0009.namprd03.prod.outlook.com (2603:10b6:a03:33a::14) by SN7PR12MB7201.namprd12.prod.outlook.com (2603:10b6:806:2a8::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.19; Tue, 10 Feb 2026 06:45:18 +0000 Received: from SJ1PEPF000026C5.namprd04.prod.outlook.com (2603:10b6:a03:33a:cafe::85) by SJ0PR03CA0009.outlook.office365.com (2603:10b6:a03:33a::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9587.18 via Frontend Transport; Tue, 10 Feb 2026 06:45:18 +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 SJ1PEPF000026C5.mail.protection.outlook.com (10.167.244.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.8 via Frontend Transport; Tue, 10 Feb 2026 06:45:18 +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; Tue, 10 Feb 2026 00:45:17 -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 v6 3/9] cxl/region: Skip decoder reset on detach for autodiscovered regions Date: Tue, 10 Feb 2026 06:44:55 +0000 Message-ID: <20260210064501.157591-4-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260210064501.157591-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260210064501.157591-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: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF000026C5:EE_|SN7PR12MB7201:EE_ X-MS-Office365-Filtering-Correlation-Id: f1be60fa-bdb3-4e6d-4a5d-08de686ff46b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|7416014|376014|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?STXUz3PokPvwAmvkyWQQQ1HpRsJkZgm3u/r2+UNpUHqgEqG5AL76ZF7pWdMd?= =?us-ascii?Q?M4zHNJUo6YfQBCCMmdmVLCCjNlgQHJ7pQScRDLc5oRq8NoXndXqCgozL/B7M?= =?us-ascii?Q?C9ziZc3UDZmUXg4PHo063IdguJS5aPYOp6Pxdv2AOHaknNxomVlgVxDmxMLa?= =?us-ascii?Q?9qgZ+Zjd7vwbiz+0EQCH8fxJ7wC0FA06THTN1aNgP9MS9/qB0KrTPsl/H+pR?= =?us-ascii?Q?WfdPzi/sPtWutARZye9Is5p+0rgkPkIm9qys89+789q4F0nUs3YE9qfNIxGm?= =?us-ascii?Q?gMWdwG9HotgenkiPh/o2cnE26fqlfYbq1Cn5uh9nEUupjGVr2QYNiD/e87W8?= =?us-ascii?Q?53ys2mnKa5RvD2wapwRnSjbE+PEpbf7/XKEW5B+ABeiY/npuCXx7JwinVfnF?= =?us-ascii?Q?1l8eysyBEp2QMA49l/U24d7lcIpITiTJYC4M2uXuj6yLdGCcaepDXeoicZN+?= =?us-ascii?Q?HPlY4nmhjS4r7oMDnB3jFSdpiLuSdUTV1KXW6nRQ76aFVLuJii14G+UzAwuE?= =?us-ascii?Q?Hp1OvNGcS4+G22kkicRxUAWoMWOYB4MsFIrvZqnvx/AZYKqXCgT7xP0N+UKx?= =?us-ascii?Q?FQkMhYn5evgFStPEr7qCib67dDxiseWtR4QGOhVR1nIbBOVo03oEUFXiwwGD?= =?us-ascii?Q?fFukYB6aSIbCxIzX0gF99Id7xx5KOHmAByfwI93h1J0wFzzgru2S+eaqEF/i?= =?us-ascii?Q?COwlztaQShCBVbucHllMVZzzPON9+at78UKMIUE+Lp7sXY8hTpnMi1G8EL43?= =?us-ascii?Q?E/8EUz70Dzwa0xPSmhhIvH8fUkzZBTAjWM23jUHS5y9mEdHuMLOm9Xy3aa2B?= =?us-ascii?Q?XeFTWP0woRgHD/aUWDYHh1SOHMcwwYJu5ybxTJxb0OjB9yW3c+WxPTWG2mpS?= =?us-ascii?Q?LTCQB/5wjasE7kxqC4eG/URWXsJmX4jQAj8i6tJ2btRV/qqSJq16pBaVfK4H?= =?us-ascii?Q?6+FghZfJbBRVC8aDe2zMBIXQDGXlxkunY/TkhpF80c5hIzG5mxHgQd1HxkMh?= =?us-ascii?Q?RwxprdihYGgjJXff6apDaPeJfWhLNh6MeklSN1hECgebDJo2saSvoSP18yF9?= =?us-ascii?Q?PrhuiGOxH+YqZEwlIy/SFEoDaylgXaEF9HsGQiyj/3nyl6pf2f6s3tx/RQqz?= =?us-ascii?Q?1wODBKnuMWG4sAVi1Q1+FF1RsH6YRz3+CoyPQeftxo/jpzvD3C/OE0ZqFCQV?= =?us-ascii?Q?VQ7M4vcQHDpKVptTioD03GEl4BmeU0Hx2OV62vI6qkCysl6emqIbpE1Eyw3z?= =?us-ascii?Q?oATgqkHnrsIaiyQxfe5iF20tHJkrxs3fBZEls1Wl/aBsSMbWJUpbz5ezeRKX?= =?us-ascii?Q?CV0FD7O6LDoNAFYp6opCeykwGFwERbpCqXlKa7CUwCChTrkcyWxoPKlmy0Pk?= =?us-ascii?Q?lnLyDERB67VP/26+PKqMbfbOQOAjvGiXh7sf+r1wXHh4w9EG9oYayA3a9hHa?= =?us-ascii?Q?ocBhsWWTQU7hWHshAYC3D+aBFn1qv3SEtqu6MBkbOj4RYrkHfiknb7WFoagN?= =?us-ascii?Q?3hEJPikMhMJJz1John33H96du1XhRIs6oTBSPfUA3+hglRMqpGZ80LWm8GQN?= =?us-ascii?Q?vuB5eBx7/qgzmU4+qDymMFKFmuLwrPRAOVIwOQ/ZDEMF3RP2It7y1F/4JdbG?= =?us-ascii?Q?lgDpCJ1tgSdX9m0giCH749rf1fVWNBvGEWSLi9Zj3BgNlvTncx4ToSmAf4Cw?= =?us-ascii?Q?qn0IbA=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)(7416014)(376014)(82310400026)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 07tAYcUN4h1Lllp+Ye4PF2TL8PqoIQSxL/Jg0KofmfGo/QMbSB0VkLVmZWmFiHp6+nKxvyL6LZ4PyiWfSMwHynBd5uhyS2mX1DJYFF+xEDG9UG53uNw8Dz0y5hihM5zE64T3w5JU1TngO6zD+WB/3dvd0ovQPWGZ8QUxlec60uBZZPoW30twpi4uhyF+usBsvVC3zn+AflEUxjBh+TKV3RSiriBk1EhFhzVOjmozsRgXzxDPZPmogvgDvsfAPoutAAONNBtu96MBrooUOdya2GlLHqx+QzkmEsZUfc3+fbA5eFNgO6s2Xupz4pT0lwbdoZjGiWhHJNQvI7jLcLSCWaZv96Gd3+x31i/lUguQiUMjoi+7tqJ83HcdODuPFhKH3quePuJkfOT0px5DZ5hUJj3TePBn+oQDZzNXvnWaB/BJR1lzWPkJjXeHuvIJ/Qxe X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Feb 2026 06:45:18.3269 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f1be60fa-bdb3-4e6d-4a5d-08de686ff46b 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: SJ1PEPF000026C5.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7201 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: Jonathan Cameron Reviewed-by: Dave Jiang Reviewed-by: Alejandro Lucero --- 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 Tue Feb 10 21:59:46 2026 Received: from BYAPR05CU005.outbound.protection.outlook.com (mail-westusazon11010010.outbound.protection.outlook.com [52.101.85.10]) (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 2298D2E0914; Tue, 10 Feb 2026 06:45:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.85.10 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770705924; cv=fail; b=Eg4gUZWKBsqjM0+FhzJp0++kR9XKp44ktBSGn+Ta3RmaZfwWiNSrg696BUiXr234y/+pXGKjGNFHKA/loRQomU18uG9+gr3VXmnuXWVS2j3qCRjxqRCCpSCZpFUHFX1X6+RFNukcRC/Vpy1Zs/sTXWM6tOYEemHpnr/SpjaADEk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770705924; c=relaxed/simple; bh=fSBagLuNrIcZvQHDHfAS0MmpzkTYqc8RqwO2Pq+AYSI=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=fy7xmj7k2G2rS8Zy9twRHb2WX4xGD434qRUfhXjGls9nM5QRu6rEokeZutKBczqz1vb+PtootsXB+SoN8s04R4CluNArWdpCSQrNaikMYY/S8HG3+PxvXoLpDPPlYUEr+w6BpXMnFoGr3X5fpmAi57rMhm+KUSptsqd+QJ8ANpk= 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=EzVM3ZFW; arc=fail smtp.client-ip=52.101.85.10 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="EzVM3ZFW" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=q7aGiyxI45f9GKDCekUMyNvIvZAtFlNLCHHeRc+isp1octy7FgyOvmxJnU9r5DvhR+0CYjmVgSHxrZtDovBRiAchZk+rHjYHWs+JMptAZMx9q8BCJ3FYLaEm7lOmTjaUwDhgjPEH8ROYcr0OajSh1tNWlW3k+hB3Eq30o6VvaV4LjYO0UjPA0YD1MYb9k/qwObXk2J27Vjeb7rihlS7xqbIkTWZsyC1d04HcM+vHHBz6fammYTmF0pcbF88oXOcWpGclTkxNhzFk+6PgQzeggxBBS/TH6P/wttLwQHeIFcQ0rYfanGnKbkSsh7LFt9wQWkD9D9dfQ8LqwNlyJcIMuQ== 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=U1lpbM+zjnyS0RiDy1wWSG3Ep5G86cy2JkZ7v1L3SFs=; b=sLW1VFuegTfBYAfRK3xjAElaETSkZcRqBYi4SU4YyStAj1anrikdyYUI4PcSf/e1phxHYY/rypJaEkXWpgZFjbVlE/Q7rGrD0WAA75FduyaUy+F7ZjLLP0adXnvnRc8ic/vfO5bJs9cJ4/ulZKW0Ksi3FOlTNss3J+6RxwulvbXgNQLEmdRbArwRniF/iUAntGGQ93UtbHShjg1CKYG3LMHPIXw8btjECm9C8v0S2dlaIhdm67tkNEToRa6jCQD7e8+IBbHJMGDOoay+W0Xfo49GJcFVBGYrduu84QqdFXMQ2D/7NWzcvk9jwowiQdMDgxV4mtyUJKfwH8NxSl9k0Q== 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=U1lpbM+zjnyS0RiDy1wWSG3Ep5G86cy2JkZ7v1L3SFs=; b=EzVM3ZFWTjDDewSuLckjNzsvlOAD9fKoRuLfnzCSJh+3aE0YXUov7Czm29EqnBQhMnz6klTB4KvJz/yk3ic3jBWx8uSYMEeaSQ3vQAovSJ51izxC+8XMXqu51cZJBJzdeHYDMDGn/EQZW+L65N9sdM3l90NiXEa+f2RS3xKzgCM= Received: from SJ0PR03CA0015.namprd03.prod.outlook.com (2603:10b6:a03:33a::20) by IA1PR12MB6041.namprd12.prod.outlook.com (2603:10b6:208:3d7::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.18; Tue, 10 Feb 2026 06:45:19 +0000 Received: from SJ1PEPF000026C5.namprd04.prod.outlook.com (2603:10b6:a03:33a:cafe::99) by SJ0PR03CA0015.outlook.office365.com (2603:10b6:a03:33a::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9587.19 via Frontend Transport; Tue, 10 Feb 2026 06:45:17 +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 SJ1PEPF000026C5.mail.protection.outlook.com (10.167.244.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.8 via Frontend Transport; Tue, 10 Feb 2026 06:45:19 +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; Tue, 10 Feb 2026 00:45:18 -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 v6 4/9] dax/cxl, hmem: Initialize hmem early and defer dax_cxl binding Date: Tue, 10 Feb 2026 06:44:56 +0000 Message-ID: <20260210064501.157591-5-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260210064501.157591-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260210064501.157591-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: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF000026C5:EE_|IA1PR12MB6041:EE_ X-MS-Office365-Filtering-Correlation-Id: c0d1208a-ae97-431d-782e-08de686ff4e3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|36860700013|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?xKUX3jJuwUZMFT7JDublPF0K8ZOqvgfWEUOxNqjEGTTdsZK9vHlRk3S81nTp?= =?us-ascii?Q?oPamzlSWIhKkH/hHMexXt5H9pxs4TN2R5/U1bPWpzd0/G+CE4jvL3oW8F59z?= =?us-ascii?Q?AG4Yi1bh2SC4a7vTVLvDn3F1kMjoKdlYJ6ovlkF+eqT1Qt0qqZ0iQHKlMRu6?= =?us-ascii?Q?ZMMRXkUDSBipkXkcC7SFpg6TEX8GXK8GlUCTqLP17MCFylu0ucESmRtYoaXD?= =?us-ascii?Q?F8JLhcP4HfvN6NOxW03CWwT+sizG+BrLWFUaKjYtD7CPDHc4/HatisYDc7rh?= =?us-ascii?Q?OVdEQcf+uH9aoGFZnP3YVcKvwjKtgInUM34MZkg4PRb3pJseOOI6x8mzGDAR?= =?us-ascii?Q?Pcj9oKlZVPdUpPzboytQQhPHaxIzaBJDH2U2Kkw2KsvoO6CvsB4Hd1A74IOH?= =?us-ascii?Q?2AmzWunEpS522t/rVETCeekd4hFhrUazhUe4iZsomlyJO16Ak99MliNYTQtF?= =?us-ascii?Q?0DIvSFAmyhSDfNpHJYrDgfGsMEK1HSdaQ69crys7P/H/Ur1hzjDx1RGc4Tmz?= =?us-ascii?Q?/1EGrt3ZF2WEl7vLvtSSRGUMc7ew7L2emg43Nr4RdVj2SVMURmm2fvUNbWsB?= =?us-ascii?Q?rLALjNWkeBddaQCOXNxNlc9cqGQ01qQWEVEMZAFFso3vABDl7c0M2QseIpAc?= =?us-ascii?Q?NIcwO4psxtBxxJeEpW6a7qInVmCidjFoSKOEvCfq5PGyydJsRj9JIkOatSKa?= =?us-ascii?Q?WQoVgtwncjTfwyisOW1LYxS99+GXhBhChCbqTWlDLKabu5UaouGAV6JCuIKo?= =?us-ascii?Q?qZiLv3hdZYf8fh4jKm6MSn7CIGpLgtW2qaQAv/pjXjxtTNxfhBLpXc5AJJl5?= =?us-ascii?Q?eYrc6vHgZ1hy17P5yEhTM7asptpHbk/+I2zFDpjZGqajOSjtu9w7co3l/mfR?= =?us-ascii?Q?8qqiMhpsWQjx90/m5T6pwNQcDVKt3Nw8Hml7EsHd9GS5TFcvw3pGtjt3lD6n?= =?us-ascii?Q?Yl5ml8VWK/Dmpu5GbFo42528qvRK8VqLibYFCKaOiyOVlPbNNz1A0qeHoLIR?= =?us-ascii?Q?p5ntSEmkjyYTP5rLvYUMZRL51skshtj5EcyWn3gOJjtc+3IKuu54PPdbHtsg?= =?us-ascii?Q?AJdv8kWdt/C4OZpI5UsznR13RJsc6VIHhzWVHKst/vLGLv1HCaujPyjiZOf/?= =?us-ascii?Q?VwP+5ZhFrV6gI/EqrEMkaZA6Fy4W3sz4dMikz1DmgjrtfIz194x66HYeHfWz?= =?us-ascii?Q?7BmFOit40Vlchh7iL6rHMGAtZykGp59dspS9eVrDtkiyCYj1LolEc0WBXUN2?= =?us-ascii?Q?3ZSSpij6gz55JnBz2Fq6MNdgZstBf+JLJgYxATwYk+2asjtBLHL9koIiTPjJ?= =?us-ascii?Q?gkT55HMUb0QQcxAHMYpHg7K/UTmmOsX8fEVxlLJJOL1wSMTRYXtQyb2CGKUz?= =?us-ascii?Q?pATht1mWtyBxm1/4tOZzNAczT8tbPbsSc7bG9TI63N/j+FWsWDG+1HteOKV4?= =?us-ascii?Q?fEZ5phdl+K8EMIYGGdXcuNkjYq7uLD02cjOzAgLL9U6AcQw7ohHlYbdfCWoG?= =?us-ascii?Q?+vZgGGEJYMaPnwjOoIZhRCQlZd0x/SO8sv6uABWynpovDyGL+Sl/NyP99QKU?= =?us-ascii?Q?oN3CqvHbIe4EYLhE21/J5uxKZ05SEPfajTCj305nrd/wtbxOYahuI2YVJAzO?= =?us-ascii?Q?dYhtXoWvlFouLBuwY9pEoMa++4oZ2vgVMC2mdlFHZpFtUGrnHFgDOxmMoqF5?= =?us-ascii?Q?ekYZmg=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)(7416014)(376014)(36860700013)(82310400026)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: /CWQhtAuQEZVrIV4goeC0akaOIixMT5WTpqGABGE4ZHXxEa/kmU4t9H9qjl3ga9oT7YTBzIwmhjg/XE736aOHQbEEYXhnE1snwQiNoEjSohqHQEFg1gqqE/Kvwg5jGbzidtOI2agL7TohkmU4mKF7gjFimrQhH6hbZzHuink+PG04QNkMtKcqkTzN9zU7JMZ0GveZX9vETNtnyJeBXbVZhYyKPqImQKMv9NeL4AG6m2zF0I+O5PDxoE0kPgoPKWfMIlosyOCCnN4oNpfFadEqJ2rgQBI5p22ZaTDoCWgfhNZp7pSsyHityyHKSzhDC9wv9Z+5qq8KqkLYoaw2KNnP2GXb8kt/V3Ya5thoYhmkENkNnJKqZLuVirfW3JQz1Xnya7rZ5Lf+IgUv7N5zaMljyHMWdkZcid706cNH+pruan8X12aCf1YWx5GNMckRhMQ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Feb 2026 06:45:19.1141 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c0d1208a-ae97-431d-782e-08de686ff4e3 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: SJ1PEPF000026C5.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6041 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Dan Williams Move hmem/ earlier in the dax Makefile so that hmem_init() runs before dax_cxl. In addition, defer registration of the dax_cxl driver to a workqueue instead of using module_cxl_driver(). This ensures that dax_hmem has an opportunity to initialize and register its deferred callback and make ownership decisions before dax_cxl begins probing and claiming Soft Reserved ranges. Mark the dax_cxl driver as PROBE_PREFER_ASYNCHRONOUS so its probe runs out of line from other synchronous probing avoiding ordering dependencies while coordinating ownership decisions with dax_hmem. Signed-off-by: Dan Williams Signed-off-by: Smita Koralahalli --- drivers/dax/Makefile | 3 +-- drivers/dax/cxl.c | 27 ++++++++++++++++++++++++++- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/drivers/dax/Makefile b/drivers/dax/Makefile index 5ed5c39857c8..70e996bf1526 100644 --- a/drivers/dax/Makefile +++ b/drivers/dax/Makefile @@ -1,4 +1,5 @@ # SPDX-License-Identifier: GPL-2.0 +obj-y +=3D hmem/ obj-$(CONFIG_DAX) +=3D dax.o obj-$(CONFIG_DEV_DAX) +=3D device_dax.o obj-$(CONFIG_DEV_DAX_KMEM) +=3D kmem.o @@ -10,5 +11,3 @@ dax-y +=3D bus.o device_dax-y :=3D device.o dax_pmem-y :=3D pmem.o dax_cxl-y :=3D cxl.o - -obj-y +=3D hmem/ diff --git a/drivers/dax/cxl.c b/drivers/dax/cxl.c index 13cd94d32ff7..a2136adfa186 100644 --- a/drivers/dax/cxl.c +++ b/drivers/dax/cxl.c @@ -38,10 +38,35 @@ static struct cxl_driver cxl_dax_region_driver =3D { .id =3D CXL_DEVICE_DAX_REGION, .drv =3D { .suppress_bind_attrs =3D true, + .probe_type =3D PROBE_PREFER_ASYNCHRONOUS, }, }; =20 -module_cxl_driver(cxl_dax_region_driver); +static void cxl_dax_region_driver_register(struct work_struct *work) +{ + cxl_driver_register(&cxl_dax_region_driver); +} + +static DECLARE_WORK(cxl_dax_region_driver_work, cxl_dax_region_driver_regi= ster); + +static int __init cxl_dax_region_init(void) +{ + /* + * Need to resolve a race with dax_hmem wanting to drive regions + * instead of CXL + */ + queue_work(system_long_wq, &cxl_dax_region_driver_work); + return 0; +} +module_init(cxl_dax_region_init); + +static void __exit cxl_dax_region_exit(void) +{ + flush_work(&cxl_dax_region_driver_work); + cxl_driver_unregister(&cxl_dax_region_driver); +} +module_exit(cxl_dax_region_exit); + MODULE_ALIAS_CXL(CXL_DEVICE_DAX_REGION); MODULE_DESCRIPTION("CXL DAX: direct access to CXL regions"); MODULE_LICENSE("GPL"); --=20 2.17.1 From nobody Tue Feb 10 21:59:46 2026 Received: from PH8PR06CU001.outbound.protection.outlook.com (mail-westus3azon11012000.outbound.protection.outlook.com [40.107.209.0]) (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 1DB6B330666; Tue, 10 Feb 2026 06:45:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.209.0 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770705931; cv=fail; b=awrjxHqo36tDwVHVG2qIORTRMnmPoNY066OUCzaujSivsTQx1/hICCiesuG0/Pc3dRz+/opPYU0OrbmbByq429t78JY0BZioAuEbpu9I3L40Y3mgoNmbkhbsRu4Bit1MANkufJABMeac+5LApYJeltZ/Nd1pOahXBQoJhkZKdK4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770705931; c=relaxed/simple; bh=QnwMkmmEXHNX8DR67HM7LkjGbfajuRdVCarEQ/IahAA=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=WSrlh+b/SWZyB/LA8f1/hpUcYg7PD6rjeVKSKdMQfVTmZkkEKmXQQUCBydVGPnwWw/ag4ncOuhCsA6SuAunOxAf+PddFoHSxnNDKy0JE7EN4Ckinjr/9m6MdMyK0zByv6QiQdksTdARJGThNJSM5PFlxo4qpcZ45M00al18GiD8= 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=FOsUh5K4; arc=fail smtp.client-ip=40.107.209.0 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="FOsUh5K4" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lDg7FDNmXTqksMYYwHnn52Uyiho23xr3TIeJgpVIJoLG9jDT7WclXFcd5w7wn6hVNeW/mpfZI/XqtnR5SAU0ahpx67l77KD/XZKwsaJp8Gymt0uNM412oWZysFQw/25LAfPAl+/BEI+SKQYmjlPZXLxEIG/GD617ITpOIVhfkd6EMObLrjaBhjWzXgnUOHZmHQEVxYZ6rTMplPEkqyrVX+f+Hllddr+g6qmFthSyETYTKzwZfgfG+M1QkitpEb7TM6ThOoR2eMjwxRo4wJVv4P4ww/rtdKEDYyN95M0WRI0Jdex12+3e3Q6iaFi/jsvscs0ZnMz6NkTKOjI0e9daTA== 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=uTQhBryCe4qIgl/Dqcvh3j+QwprY3KNo/DMYG/kWB28=; b=QvAf8J8OY7uhjleG557ppE8PKWN0ZB9/jNJu7epctO6TrrIQn/ry2FHadK57cfkGsXMpIb3WG1JzfySfytLg2eEC9n92R7a9TNvmuxofGLXmzSGnXK486FSyacgooBy8ezjXD3vO/h7cSNsHEhQ7n5/t4N1YG93d1YmxtlbkzeITzd9BG/7S+6y3CHJU8hVWk+Jgemy/IBAB2NGD+amfxX7IKgyObFMqsdoJRLwzjRFbJ+Zhp7wialDl8gx5WXiwwnEXiVhq+pgodWHLOxHjsgZNRuO8jvY5vzfVDaXJuWW/t7wcQPwJXtuJhx5w+4GqDsJ/PXOBR2LtwYD36l9W0A== 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=uTQhBryCe4qIgl/Dqcvh3j+QwprY3KNo/DMYG/kWB28=; b=FOsUh5K47ZDGmaA1MdIxdqomyU5NX7d3Qs/tVDKnV4yoWGtVHO47SYujX6tHZHe2/XxP6qSdmoLh5eFxzgpRRlku2aHarxLS0DfnpUAizTQHhTjjCZ3qlgixNbyRH1qv1eCFwnfRB8QNawshGj6r+N/WVEgbKWPdI/NnmTLAbBM= Received: from SJ0PR03CA0030.namprd03.prod.outlook.com (2603:10b6:a03:33a::35) by LV2PR12MB5800.namprd12.prod.outlook.com (2603:10b6:408:178::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.19; Tue, 10 Feb 2026 06:45:21 +0000 Received: from SJ1PEPF000026C5.namprd04.prod.outlook.com (2603:10b6:a03:33a:cafe::d6) by SJ0PR03CA0030.outlook.office365.com (2603:10b6:a03:33a::35) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9587.18 via Frontend Transport; Tue, 10 Feb 2026 06:45:20 +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 SJ1PEPF000026C5.mail.protection.outlook.com (10.167.244.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.8 via Frontend Transport; Tue, 10 Feb 2026 06:45:20 +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; Tue, 10 Feb 2026 00:45:18 -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 v6 5/9] dax: Track all dax_region allocations under a global resource tree Date: Tue, 10 Feb 2026 06:44:57 +0000 Message-ID: <20260210064501.157591-6-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260210064501.157591-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260210064501.157591-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: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF000026C5:EE_|LV2PR12MB5800:EE_ X-MS-Office365-Filtering-Correlation-Id: c608dbf9-0d45-4b16-b38d-08de686ff596 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|7416014|376014|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?q8nBumf7gvm3Cla0mgKePLZHkCxi2YI3TAkqbyiOEEQr4BhgZPJfrQfxbOTC?= =?us-ascii?Q?KE36IrxWWyRaZkteSywW9aNEZqmfhCYeEC3AG+fH50t1B++BiXQzb+pqv6FA?= =?us-ascii?Q?edwfSApVcsTzEw0ILhAYgmx0mIAMm6ORuDvhChsZb8Zt1Yrr7fAzNY0elZJQ?= =?us-ascii?Q?D/f3qyCitqAziPS1w4VvFtc0wdW+lUO4SZlv144/qMrMaLQOxkN7rEfbKuAo?= =?us-ascii?Q?4wveTpUc5C3Obq5IBKl14rY7VDBGGi346FFPdw99Eb2TLUY/zWgnD7XiUuhW?= =?us-ascii?Q?Vpi91SVXQmBsqhdpi+a6eHlTFTT7iiyLLBQoIM56siFGxd6A+qNiM/mj1kxM?= =?us-ascii?Q?AJBVrMs2uGZdd8GvjJHNSaPU47e+ETA9qdnZHzcdQ2DQFRbzUkvlj5MacqKP?= =?us-ascii?Q?yNeyji67kQT3Ql1OCQ9d+IUtM8Dsyl4X925RPfFhKcy++0fj9RgqfOl9arau?= =?us-ascii?Q?ASzotBQT4vOHESwtNHqILPHm2E99pfbrNOdjnUeu5WRDngscCn/44u6y/tdC?= =?us-ascii?Q?d6MkdMAVvPWmlyOKw+on1mbXjz+40X7eSv1eAkDp3jmgdU1KtG+xeX+7+3IT?= =?us-ascii?Q?Ra2pObf3Z10DmG1qpTUl7xDBjZR4Soe1epxYrhWWSQvJc7UYZtySrTsggq1I?= =?us-ascii?Q?0DUOE4fj5KEUTtpfOcWVNsWCJhoyoM8ROpJx/lnQbaGXs++Ca/CsCsxjJZxg?= =?us-ascii?Q?4K7ZBfIU05F22ocXwsckYiQe/hqAWz2fRfgyrZixTjyT/459lVIraHoeHlag?= =?us-ascii?Q?RqHYgEbZeEWZX88N6behPRlM73PuBR5uJB9QWf8IYjx/JXb+yPZ76BxtU0T2?= =?us-ascii?Q?9UuDJMV+AJwHc29Jhmpkb2ZrszrSHWwI7As40+L10VxiXINallbVazVyViPA?= =?us-ascii?Q?1RbCQMi2ENjuopl9WW7Q/VMzJH8g7Ee+FQZhYFvwXFsBt1gZ8wfLJOLURGkC?= =?us-ascii?Q?vO8Od6ifhQ7ZfAenid6fXJrpl+eUAEvSurvLVcZFIfOoIK4FJ5cPoRwjnIf3?= =?us-ascii?Q?nbCV0P4kfbAnR9XQjkpHnXzvJXsh+8bw6AOGCdG1iJJB1YkpOIEm7Q4Sd11F?= =?us-ascii?Q?dZpguFPRIwUWZw6IkS8MV5QWfPxtWvTa1GE9n3Y6ep8H1zRJee+8sVIrGJRY?= =?us-ascii?Q?zcEW3ZhGFoy76cAvsqGfNAEXZqPxGxsqECJye07KpwWauFiIu0NeUx9P3m5G?= =?us-ascii?Q?zcTzyh/WSrMcZqhYQljXhpthS4OMtjmIrETWr+QQjmDGlPcro7dJMmEaVsM/?= =?us-ascii?Q?mM8o5L7VSflUj5/wcHU+5moF7nxoee2Yn/ov1ZR35iMhIyqNcpjVSEyzc5xt?= =?us-ascii?Q?UIY8WrTYbkv4CAoLwj/ar1sCdtgKb8YnNEt/x1G4wgT2Cgx2yCiUp3kRfta8?= =?us-ascii?Q?9wDdQ+fZLWNmOITgvfkGiV414ypuyUdZf7OIQ0MdvnWVNpktVVDo53gVhwAU?= =?us-ascii?Q?dCY4GC60t0JHDDdGC93jS/uMI1Au/N+67rQkDNqSQeAL4T4s89Uc/dbjVz6R?= =?us-ascii?Q?lfvze+iv/C6CixvEyFIqek2ZDF5Zg1aGI368ha7HHi8YI3DTZpeI0CE03hsN?= =?us-ascii?Q?pS+o+cA/Bxx7FZVQ79jPzE2Onrn7fKQYq8gnHQXTpYdC+9W5peROqejb+24p?= =?us-ascii?Q?vz/WYQMk2M8UDaokIbR6QNEnGrpJL2swWLNcrOCOerS8X7oI4CpZVA6j8+bd?= =?us-ascii?Q?BdVLjA=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)(7416014)(376014)(82310400026);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 4QzJUuYWjMB2oHo6u2IUCTvsPA+WusDg8BRWZxE7IaRiEbw4fSbxxYLPJI0mwFFayItfxMXDvDcc4YgK8+ZrIibOimVvhDEK5Y7uYAGe8p855Xg2S1yKq3dRH8r5ypZH+9GyQenzAGlnWxXWYMd0G9SfEK9X2cUVm2AIoS1LXoAs+CfE/9AqMTpYE8ARndrb3A+ILWU+oNJwI2MKyS9pOeIqggG+V8BIOm3CKCv3DRU2MQc92aPfNP+NvPGKRzMOlswLHZ/OLpSz4adKOtYdNMKaWjGrONL9iFV3B3csogddp+vIFY4289skAvVIrShnuAsvd59jy538rAWvDtTjo+EMarYMOE7DZjwnD1oBq8JV/iJZt2Kr7ExDXA9A40kQ8aZweSt6AzCzm3hAXuJBAEv3sDPMrac8vAOToTjAu8t/syZ0xkIb1oK26geH5HB0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Feb 2026 06:45:20.2884 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c608dbf9-0d45-4b16-b38d-08de686ff596 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: SJ1PEPF000026C5.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5800 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Introduce a global "DAX Regions" resource root and register each dax_region->res under it via request_resource(). Release the resource on dax_region teardown. By enforcing a single global namespace for dax_region allocations, this ensures only one of dax_hmem or dax_cxl can successfully register a dax_region for a given range. Co-developed-by: Dan Williams Signed-off-by: Dan Williams Signed-off-by: Smita Koralahalli --- drivers/dax/bus.c | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/drivers/dax/bus.c b/drivers/dax/bus.c index fde29e0ad68b..5f387feb95f0 100644 --- a/drivers/dax/bus.c +++ b/drivers/dax/bus.c @@ -10,6 +10,7 @@ #include "dax-private.h" #include "bus.h" =20 +static struct resource dax_regions =3D DEFINE_RES_MEM_NAMED(0, -1, "DAX Re= gions"); static DEFINE_MUTEX(dax_bus_lock); =20 /* @@ -625,6 +626,8 @@ static void dax_region_unregister(void *region) { struct dax_region *dax_region =3D region; =20 + scoped_guard(rwsem_write, &dax_region_rwsem) + release_resource(&dax_region->res); sysfs_remove_groups(&dax_region->dev->kobj, dax_region_attribute_groups); dax_region_put(dax_region); @@ -635,6 +638,7 @@ struct dax_region *alloc_dax_region(struct device *pare= nt, int region_id, unsigned long flags) { struct dax_region *dax_region; + int rc; =20 /* * The DAX core assumes that it can store its private data in @@ -667,14 +671,27 @@ struct dax_region *alloc_dax_region(struct device *pa= rent, int region_id, .flags =3D IORESOURCE_MEM | flags, }; =20 - if (sysfs_create_groups(&parent->kobj, dax_region_attribute_groups)) { - kfree(dax_region); - return NULL; + scoped_guard(rwsem_write, &dax_region_rwsem) + rc =3D request_resource(&dax_regions, &dax_region->res); + if (rc) { + dev_dbg(parent, "dax_region resource conflict for %pR\n", + &dax_region->res); + goto err_res; } =20 + if (sysfs_create_groups(&parent->kobj, dax_region_attribute_groups)) + goto err_sysfs; + if (devm_add_action_or_reset(parent, dax_region_unregister, dax_region)) return NULL; return dax_region; + +err_sysfs: + scoped_guard(rwsem_write, &dax_region_rwsem) + release_resource(&dax_region->res); +err_res: + kfree(dax_region); + return NULL; } EXPORT_SYMBOL_GPL(alloc_dax_region); =20 --=20 2.17.1 From nobody Tue Feb 10 21:59:46 2026 Received: from SA9PR02CU001.outbound.protection.outlook.com (mail-southcentralusazon11013027.outbound.protection.outlook.com [40.93.196.27]) (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 5DFEA32D0D0; Tue, 10 Feb 2026 06:45:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.196.27 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770705928; cv=fail; b=MDvG38sfC9kcPHXWPit27HlNosvVqN4+VX4AMyztvhHCUw8W6h1ZABSiyaHlYCK39amfHXv9bLfv6kHX2VeSU3dZ7/ew6XttGrypizAXydjXN8b9cjIjWBfr28G16KSaqpvBtIWLSIhS1z1MUfI14+w8zKfBS1vDpz+pqFL77uk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770705928; c=relaxed/simple; bh=fRZ7QVcTAMS4l6+0HwkIKv+Ei2+a7ve4i/WLEvjr9ls=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=VI86FtJzLJGHi/JK2/0qw/WXX+QcWg99mOmHTK7nfZrKcZJ3/YiFYPMoQLVVV6u0DBu18+7krwqs8waTZ5mSsoiB/IGIRTDB9dFPb1g9tEA3mMoo7DutpDLIQCnjep1kWAdNMlkBpiOVOkg/h7t6dUY2wnIpyXBVnoj2Ws7b82Q= 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=An0Cv+ED; arc=fail smtp.client-ip=40.93.196.27 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="An0Cv+ED" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HbhtbYlbR149mB6xP3JZmoxp1ZhRV4Ro54hEszHjxJmtuJKdMWnuPlVIQ4UzWij/Vezqum36CTQkKP8eUXCQIUHHghfGp9BI9UpIN0nZ//Myf7w3N4MQu3AK0xTkR8C+YgeST0q3z4qqGmcO7XW32ccHS8/S4JDB5Viksg02Q5lBQYb7kZ1jfEOXsh2A8pv+1WaNdw2JO3hkXoPl7vDcVZEMUE2qsn+8FJODEwYdO4eO5n6/K+qNgFdymWoHtUU1IAcWr27Q7y1hDyOQthasiMG3F4Sr+it0cOYnvrb3SxKuQwYZyCkECCXQgg/KrbMyahlSpQ7hZPVHAvMXXFRATw== 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=581XufDmJdGtOhhMUTMJwlITyZ77bieibkZjhmIk97s=; b=hysDT7DJGpt6xbw7sLemeDvTwQTX9MzKTGBk9md+jJqKHNeytP4hudLx0+0h5z3m+2ZwJeVMq/QGcF+DoKQsJa1+g/VjjAZav+YniJM3wSLskq8SfBISn5nnIZpvBd9uB85Nbbytp+Z4A8Heu6abezKSqYhli8hgfsKzsPjCaecrv0wxtKiXT56wUF9cTBIPf1QKU+kKyQwmMnjnQbI3t35wo8rhWDylUuc6XGrPnfdGGym7ZjrlZDi/ftFM7ggBwz9sJ/WbNO6GEnzqSw/cFtqw/vQrsDdRkM7NR7GZCRhotl/GKQbXEvWkHNG720GSFUWrHE3hlfr80V843k5jsw== 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=581XufDmJdGtOhhMUTMJwlITyZ77bieibkZjhmIk97s=; b=An0Cv+ED2sgc6Ws2ZeKuDCCgwUpqs6N7rY++QxV86Rjif/cUt8O6ThcneoypXvzPKpUwAYF4Nsc0ZLmDcaRZEmZFf1ezw4ku0HHGdEjQx1kV4DbJM1LN+I8K63jrpnEp0MZimvrtx8qUCYnvYwCRo3VL5zjHxkRnI8NGdn9Fof0= Received: from SJ0PR03CA0005.namprd03.prod.outlook.com (2603:10b6:a03:33a::10) by IA1PR12MB7520.namprd12.prod.outlook.com (2603:10b6:208:42f::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.17; Tue, 10 Feb 2026 06:45:22 +0000 Received: from SJ1PEPF000026C5.namprd04.prod.outlook.com (2603:10b6:a03:33a:cafe::bb) by SJ0PR03CA0005.outlook.office365.com (2603:10b6:a03:33a::10) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9587.19 via Frontend Transport; Tue, 10 Feb 2026 06:45:21 +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 SJ1PEPF000026C5.mail.protection.outlook.com (10.167.244.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.8 via Frontend Transport; Tue, 10 Feb 2026 06:45:21 +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; Tue, 10 Feb 2026 00:45:19 -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 v6 6/9] cxl/region: Add helper to check Soft Reserved containment by CXL regions Date: Tue, 10 Feb 2026 06:44:58 +0000 Message-ID: <20260210064501.157591-7-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260210064501.157591-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260210064501.157591-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: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF000026C5:EE_|IA1PR12MB7520:EE_ X-MS-Office365-Filtering-Correlation-Id: 4d86ba1b-0e1b-4e81-4202-08de686ff63c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|82310400026|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?KofC2aJvw+4CD8kB6ibAlSUB7zNVfLm4+B4TH2revb5N/YgFcePfmBcy30WT?= =?us-ascii?Q?UznlH2+nmTEmZMTmgv8iamOUwaWfSTxkR80hCp3NibEFO+U1vriBdK0UgQJR?= =?us-ascii?Q?WG4kfDdW6T5xpLSZDlAOqIR0euPz01Ip4D2EIZz+l5qb33t0ixJWROXTTBhM?= =?us-ascii?Q?/TcSSbmsV73Nf6pLYdHrVZkSN0h6eXYE6cypTuTGNK529eyBeS0vPrPeKaju?= =?us-ascii?Q?AeAZOpC52wEXi/M+BSj4ZTBcryiIttkLv1n2KKMiXOc+oD4penDiq/TR2ZO2?= =?us-ascii?Q?B+qlBeDuei5xpje+b9O+nS+PrezJwdsKIWqtIm522oOlhC/ik4C2HtslzFts?= =?us-ascii?Q?oIyxxm981a1tk9Fx6n15QFFd6Ri2CF3pEy3VJHa++US+eQ/r2sDFDN6LK98N?= =?us-ascii?Q?LiYZr4VNi4eLxkmzo9BX0MQKG9GgtWAjpdzcuD71TMYS6d2VyNhC/y+4WUj7?= =?us-ascii?Q?Xk9BAtonNffdgGzXofA0FQ+xMq3Ok8bQ2EAfuXJsZZO2SSR1Srz34OJS1zNx?= =?us-ascii?Q?JcMiUtEW7YQAxT5QcIjE0PzRKGYLE7FMR2enSmXL3isnRbu16WN9gY8SmniK?= =?us-ascii?Q?WZFkY1/MNcNZW5xAGBTQqV04+zBoaS+OiTqgCOjUuVedy8NNOaNKwwAbf0hF?= =?us-ascii?Q?ip5jS9Ut8g/Vohql8mvwsj3HE6QLvoodA6631OGpPw3hRiz0pe6bm5c0qQc4?= =?us-ascii?Q?f11O1tDtiw4I/KtJA2g8LouFIXcKz7VUBeGkC+dp3vO/yyOeZARWlHO8yoLV?= =?us-ascii?Q?Djs49byFFscPORyaLvj2PcJlsXp0g3oTBgWfs1soGxHT+NgRdKxkLnEgiiqE?= =?us-ascii?Q?F0GwVjdGND8trV632647kxKLyGhHPFF1Bf3ndVA7jWFzz+q9X8q/KXmDly5H?= =?us-ascii?Q?pyy+6Q3e4h3vMhXt2zfoC/GNuNO385yyZ8lx5lK4MIbzq846vSs9uP+rpARw?= =?us-ascii?Q?a1pbIkau3ysYxiE235QTJ7R0+Fp7umjLby7hN5/x8pMnz0UlFp/dZc2A/wQS?= =?us-ascii?Q?Wm28CKUeXrWQcFBRzvA3W6e9yMkMuYTmA+qfdsg2VbaHZApeS0vMawmDcOOt?= =?us-ascii?Q?QtRUbAKA69hVchSTQeC628vrx5ZqSlJk2NxJ/oWiMepnQ/0D0AOB6A7gEVk5?= =?us-ascii?Q?CBpMLeH4Ub2janBW2HrRRJZbAlK2Ny9t1QSDVPXpfjwRgsZghxsb1/y7okjJ?= =?us-ascii?Q?0Mt5IgD0qfc/qjVUzuOv4KId3wxXnOrd2bwYRdI19oowuHF0DSqRtML95Bq+?= =?us-ascii?Q?GlLthjkVeGgf5XeOFzljeEbdXdhe31V2vArA3A8t0e77ilQpyTz2JpB5djnt?= =?us-ascii?Q?V9sLrZPYIGxMi0qiz0OoO7dq8cz9OWLSzvjVBbvoc4PMoyAY8MRIGN+jfp9c?= =?us-ascii?Q?Wg9kFaewzAaJkXXqiG3Xjgvq4KXuC5xjnTgXV09KjvhtUPYVIownV12sL5LR?= =?us-ascii?Q?39Q54hMlHPiAUIL/HDG4av5kIQCzZzjBhuBPUxfEo8UR7BkRTYeoyiJwjg1Z?= =?us-ascii?Q?M0hi/gweniaMivOefRcdBUog4GE0Z3OtncO/g2AGntXMwNI2RuK5R6BLuen2?= =?us-ascii?Q?zvTIMrm3ra0cGGGrD5VyrtdpcAka+7PpRlU9pnPEKIKzC6bEpJBTE0O9InBP?= =?us-ascii?Q?FyYzcT4cc59XxQUmJrtaXmS7PJGmWno5mqT6sla2SoAasWUkj6+zOdkOt+ep?= =?us-ascii?Q?2+l2rA=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)(7416014)(376014)(82310400026)(36860700013);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5oHdVau52b2Z63lHbe+g3hR4A3BMCO7prx6qxkErOzeL3WVUc0XlnFl70PpE5ZWsnW+IXb51rziBcxPO40WJb0NeL1lYciKTv9cF9gwqJDpASvgOYRgD4Bz63fTxp91aKoWFqEfI7yLQvJngzXfpIPZW6pjn6yRgYiUUASBO8rGikdFe6Z93Asc4DlqEdD4orZrdIWfb0POzpweUZ6I/8n3zLX/Q5JcFOs99wEtyFBPHGMOSzJhM16UN0U/oA9M5IshaCN+R+KUaxUyk67cI2Gr+YnsuWDfNXnZgHrc0lm55Zc7sBIgNBtCbUIOeST/PgH6C0lIK5r8gN44QQGU7MBuZ1bAyjrIfhYTv96k5SLJmdFTl2jMdjoW1hDBSiHDQQLHcfU0BqWvbwkw6wP6gC4N6R1tCqbDvcqoh+zKBDHREy9k6ObVY6HKLFrrCZMfc X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Feb 2026 06:45:21.3738 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4d86ba1b-0e1b-4e81-4202-08de686ff63c 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: SJ1PEPF000026C5.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7520 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. Signed-off-by: Smita Koralahalli Reviewed-by: Jonathan Cameron Reviewed-by: Dave Jiang --- drivers/cxl/core/region.c | 30 ++++++++++++++++++++++++++++++ include/cxl/cxl.h | 15 +++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 include/cxl/cxl.h diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index 45ee598daf95..96ed550bfd2e 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include "core.h" @@ -3875,6 +3876,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 region_contains_soft_reserve(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(struct resource *res) +{ + guard(rwsem_read)(&cxl_rwsem.region); + return bus_for_each_dev(&cxl_bus_type, NULL, res, + region_contains_soft_reserve) !=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/include/cxl/cxl.h b/include/cxl/cxl.h new file mode 100644 index 000000000000..db1f588e106c --- /dev/null +++ b/include/cxl/cxl.h @@ -0,0 +1,15 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* Copyright (c) 2026 Advanced Micro Devices, Inc. */ +#ifndef _CXL_H_ +#define _CXL_H_ + +#ifdef CONFIG_CXL_REGION +bool cxl_region_contains_soft_reserve(struct resource *res); +#else +static inline bool cxl_region_contains_soft_reserve(struct resource *res) +{ + return false; +} +#endif + +#endif /* _CXL_H_ */ --=20 2.17.1 From nobody Tue Feb 10 21:59:46 2026 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11011019.outbound.protection.outlook.com [52.101.52.19]) (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 BAA1F330663; Tue, 10 Feb 2026 06:45:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.52.19 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770705940; cv=fail; b=k9hS0QkbYpe3Anm17Da5NaqgqvMxqYNjWG9xRetQ6xcts0GXApEePg4E3MrAhs5ZNZuIYWfcclqgMJcTw9koiYdOnaAezJGsOg6vDt5pmpeqUtlz7hCppZf8NvIYpJPahscppFDRpVdHQUS142lN9uDpr22XSFgFMZnJhTv6r/U= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770705940; c=relaxed/simple; bh=7YOrqw7I1cylY95mSS0834bCRaFAO5kLaZkyojeo3LU=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=achYbJBbfmEr2JU2sCUIeOXIVHjsGz60Z6wes9PltWEcPvFnhdwbI6ICveeCyMvr6NhOs4JVFuhX4BBCP1N3hDbME3/cqs4VMK6PKk6WAUkIfTgWIysrCFb3SdD5X/uP25lPCVUXWYukN7TTs97wGIgFkYao3HjWfGnjniKRCcQ= 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=FJFEADn0; arc=fail smtp.client-ip=52.101.52.19 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="FJFEADn0" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LlDyNVIxoWdz+yQZlra5Xw6RtANw5glD/9Gxldm/ofqLE9hfYFWn8ZLUlUg8aad3u76nGCOHtykBeuJDap5YUZ/EbI1J3r3sf4OxZoE0z0W1p6sq7f4FnZDkEuGYb11cFy0njgoHmsfJ7SgOJOk8d5hD8lnVp1IXOcAG7bvIGsBteb0fdRPbwVLeplFvIQn65BCeW7XicAZn21/8kQQHEK+05BDCi+iyORpw8iLzzaFGJqUZi41yGWm00PQseIPepX4qYQ4Nautoi1tUuQduSQpUSC6FGQkvf4F+KXCB1TLOvbbMQRITWFtmLQtP+4+/F0M1lh9MN/QKsL/ZkJ5piA== 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=yY2dbDNPGER4lsFX4jtUJJvRXS/jya/EQoG2E4hljJw=; b=gdM5xL3wtmJY0pgMN36sX72tRKZHYQwXzMalX1USXaBDgA9yhD3y/xuY/zors/k0e8/ROycT1Kj2+PJEOxyT9HEiiJV3bRKbtYkTfp6Bky/zRiiCZXgGqKAzHtA+CY2gyVjjQqe7h0hH77DXJcs9JCmifFYwOhKPf+l7CfTrZw9coTmXFxGfSAYq4abhowhYrX2X/+um0RYagSk5E2L6hTucWdiZAexpMus80WWu+yeShVArbKm0aFn/ZjTvNxPH2NnRsMs3cJ7Iuswr5bwYKlsoUJw+yHVajaF7gLoy25hLmWCoGlI729l8xCMOVxX70+XWdfqchFZAPMA8bYXw8Q== 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=yY2dbDNPGER4lsFX4jtUJJvRXS/jya/EQoG2E4hljJw=; b=FJFEADn0BAk2kZuJ5VVvQ+Ru2pZDzU5tW1DmRW7aeGbBENegyTFlV0308DHikxf/1UF/S7Oy80InlyLNSyUQ35XS+eZ+pR+wShsxfSb06Gpho0fdCmUArgJ6mSmyuEpH46bmslNaekQiHqGqWjgDdgoEVmRKwFsgIlkZGiNOG8A= Received: from BYAPR06CA0036.namprd06.prod.outlook.com (2603:10b6:a03:d4::49) by DM4PR12MB7648.namprd12.prod.outlook.com (2603:10b6:8:104::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.19; Tue, 10 Feb 2026 06:45:24 +0000 Received: from SJ1PEPF000026C3.namprd04.prod.outlook.com (2603:10b6:a03:d4:cafe::1b) by BYAPR06CA0036.outlook.office365.com (2603:10b6:a03:d4::49) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9587.19 via Frontend Transport; Tue, 10 Feb 2026 06:45:24 +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 SJ1PEPF000026C3.mail.protection.outlook.com (10.167.244.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.8 via Frontend Transport; Tue, 10 Feb 2026 06:45:24 +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; Tue, 10 Feb 2026 00:45:20 -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 v6 7/9] dax: Add deferred-work helpers for dax_hmem and dax_cxl coordination Date: Tue, 10 Feb 2026 06:44:59 +0000 Message-ID: <20260210064501.157591-8-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260210064501.157591-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260210064501.157591-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: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF000026C3:EE_|DM4PR12MB7648:EE_ X-MS-Office365-Filtering-Correlation-Id: 6f7c7693-0071-4212-59f6-08de686ff829 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|1800799024|7416014|82310400026|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?XnoMVdYGxJOKrHfEN6gvFyeSpUVYhU+x8Us/2D93iHkuTT0NED0ME/HiAc19?= =?us-ascii?Q?5YP2rfRW/DTLuGe10fh11YmGKv9K6NIhWiMZWLgxQ47JMQguT9Yp32BjgWO6?= =?us-ascii?Q?G4cD1/UI6qpIQmA3sf+RukxRPaWxqN3ctjuiknmTpAZDjurWLLpWUP4SLvCa?= =?us-ascii?Q?/XKbkkjyDyuGQq8a3kKe8T4+1T/19xs1BqQBFIo8rsGryp2/QoJTGly0vrWq?= =?us-ascii?Q?S2bFeHgR1dSWiLFGcLmJMKkWs/WNIpOymvvcUU0sQDS9X9O1bQIRbv/a+Ns7?= =?us-ascii?Q?9fLQQzVguM6XaplB4t6OzqTsc4KpJQbxDh53vN6m0IaswEzBFKNVzHhQXyP2?= =?us-ascii?Q?yBQaWJydl8L1atzY4EBTF5auDq7medsq39/M3mQbzJnnkzd6weHZJQCMBUiC?= =?us-ascii?Q?QIBbDq40WQb4H72SlSDJ49KdPPDASQkFoCYVgVLtVk4J9svjhbU7MrUKcljz?= =?us-ascii?Q?cs2ULfQQ2445ysfymm2jzkPAl9kqC2eJQ/XXQp3Isdf7f1OXX6s3HZvecvMw?= =?us-ascii?Q?8puu/v1skXTDxCVrRuj/N2azVxsGeornsrLrvULl9b/pxHu4Uxf9LesDZunb?= =?us-ascii?Q?cnvi5chQZGRxuoxVMIyV8g2xVXriQUS//a1VuKx0xJmSLn4X7O+HwdaN3iyv?= =?us-ascii?Q?/Htw/YNuJsXQhSwhEmIyNbH2sjkZsQ8RT+/EnMGQYNHWum8jh4JPBlXs6cVl?= =?us-ascii?Q?iXTO2xlYw32jbdo4bKMc07MO7+EX/M7FM0Ky1ndaUV1tS8rKG0psW08/IXQL?= =?us-ascii?Q?XPR4vTXZnYyQNliJrY0Xa0gRhe1KPdQOKAFFzF8q9OEhVlJERc/4tWZyDttE?= =?us-ascii?Q?M5EMW30EMrJw9db5EDwTZXCFwR+YHGGeALEUUpDknLnmnhzJEqMQxMDUsZom?= =?us-ascii?Q?4rz07DXWZoUjXprKkOSq4aoDKvAl2gUY9v0Ed3xJ1IccMNHdR5hnlUZGLKWE?= =?us-ascii?Q?bXaiZYLniV4X8RIQXYRqr+YXC+Zl4thYb/6pSrSaibPhrz3+vRRzJ2IH30DJ?= =?us-ascii?Q?CzwUo8Ay3TolFQgl/90fq3LL83R5eD9TCD1VFRgMo9ZFOT9H8sz9xh/Fe++7?= =?us-ascii?Q?N+axgCi0w3og7vtA1zJu3pZZPNBWLQw+214tWgYhSwsCSGx9Kp+BD05pVhGJ?= =?us-ascii?Q?2uUVy9OKd+aFuu5jT32/3KffNOgFkkNrH57AM0/vU0KX3jsCzWOStHip/dpt?= =?us-ascii?Q?TCNuVbM2ZgtDaBt7tnX8/22MPZBa/6iCIvrQ/gl0Q0Ucz/zpwRRbDbRAn2xY?= =?us-ascii?Q?n/l/MHao2VkueVqntJHU7cCbdm1f6Cu/c7ibqkDEKMyAFtGpKNn5yuW3XZSD?= =?us-ascii?Q?NRAusoT7mQlYPoFhpwobop+1GknOMCw01ZuZK4N6nE6sAScxQA/P4/WRJ2gO?= =?us-ascii?Q?OfwdPKnbFv7Zn28dev+vtEP5UoDSlSSs06ydlkxx3BhfydkyUTZxZrGWkXfx?= =?us-ascii?Q?AI1GOjsZC/DUBUT5JG2fNX3WuTiLA+dVnwtpssJpaFrNLUrKPkW4Q8RuyPtk?= =?us-ascii?Q?eU6JF7Y0V9RESJEmotoNZ9ELGiGige5FZHfy6xFdLWl+BV7Z7W8nMIemqWM9?= =?us-ascii?Q?na5iufVJF+OiJ8aGu8ICOlwl0IcYYMR+B9dE9umXFWeLssezyzMBB/oKJauh?= =?us-ascii?Q?bvTdex7+c4buvHhN48g8x8jCQvmuvTZFqUQ8jiSqKFYXkWK6mUCwGIxE+upU?= =?us-ascii?Q?unPVHg=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)(82310400026)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: y4bggumPU2Nmx/0ADo/4t5L3LkEQcp4CXwCGdLt9JQn1E/0kAfSmqCIuR87G1ZZY7ogRiyrYFCLa/euleVF0bXg6s8DW/JDA9yLQ1ZOa54jU9eKlwrfuRPYw2xmly5DpMUF7X6B8PZcFLxr46eIt8d/fCpr9kz2om9VVqWDQegRPVVX2JDR8Zhh453FaCUzQJPHSzW2htziiSXqYUS4Mig1Ex9DvlNYGTqm8LtEM64zGZkF60f+MikgBTDa+qRF+zNGuXfFIHN6tugmnIG39Sx8KYfgvAyOr6/spooZFK1Anlqb9Fw+YuquCam/GqFGXfigBNEHLWnKio+0RlCieOusm6RxPBO6wwisIs9AAmFn3nGKe2RIo60fM6bFGomiEhdWXTslcfU2dJ+sBP90unK7ej8GUOk1XjIzLYRik5s312B2CvlYMrgKA16CZEnjY X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Feb 2026 06:45:24.6218 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6f7c7693-0071-4212-59f6-08de686ff829 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: SJ1PEPF000026C3.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7648 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add helpers to register, queue and flush the deferred work. These helpers allow dax_hmem to execute ownership resolution outside the probe context before dax_cxl binds. Signed-off-by: Smita Koralahalli --- drivers/dax/bus.c | 58 +++++++++++++++++++++++++++++++++++++++++++++++ drivers/dax/bus.h | 7 ++++++ 2 files changed, 65 insertions(+) diff --git a/drivers/dax/bus.c b/drivers/dax/bus.c index 5f387feb95f0..92b88952ede1 100644 --- a/drivers/dax/bus.c +++ b/drivers/dax/bus.c @@ -25,6 +25,64 @@ DECLARE_RWSEM(dax_region_rwsem); */ DECLARE_RWSEM(dax_dev_rwsem); =20 +static DEFINE_MUTEX(dax_hmem_lock); +static dax_hmem_deferred_fn hmem_deferred_fn; +static void *dax_hmem_data; + +static void hmem_deferred_work(struct work_struct *work) +{ + dax_hmem_deferred_fn fn; + void *data; + + scoped_guard(mutex, &dax_hmem_lock) { + fn =3D hmem_deferred_fn; + data =3D dax_hmem_data; + } + + if (fn) + fn(data); +} + +static DECLARE_WORK(dax_hmem_work, hmem_deferred_work); + +int dax_hmem_register_work(dax_hmem_deferred_fn fn, void *data) +{ + guard(mutex)(&dax_hmem_lock); + + if (hmem_deferred_fn) + return -EINVAL; + + hmem_deferred_fn =3D fn; + dax_hmem_data =3D data; + return 0; +} +EXPORT_SYMBOL_GPL(dax_hmem_register_work); + +int dax_hmem_unregister_work(dax_hmem_deferred_fn fn, void *data) +{ + guard(mutex)(&dax_hmem_lock); + + if (hmem_deferred_fn !=3D fn || dax_hmem_data !=3D data) + return -EINVAL; + + hmem_deferred_fn =3D NULL; + dax_hmem_data =3D NULL; + return 0; +} +EXPORT_SYMBOL_GPL(dax_hmem_unregister_work); + +void dax_hmem_queue_work(void) +{ + queue_work(system_long_wq, &dax_hmem_work); +} +EXPORT_SYMBOL_GPL(dax_hmem_queue_work); + +void dax_hmem_flush_work(void) +{ + flush_work(&dax_hmem_work); +} +EXPORT_SYMBOL_GPL(dax_hmem_flush_work); + #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..b58a88e8089c 100644 --- a/drivers/dax/bus.h +++ b/drivers/dax/bus.h @@ -41,6 +41,13 @@ struct dax_device_driver { void (*remove)(struct dev_dax *dev); }; =20 +typedef void (*dax_hmem_deferred_fn)(void *data); + +int dax_hmem_register_work(dax_hmem_deferred_fn fn, void *data); +int dax_hmem_unregister_work(dax_hmem_deferred_fn fn, void *data); +void dax_hmem_queue_work(void); +void dax_hmem_flush_work(void); + 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 Tue Feb 10 21:59:46 2026 Received: from DM5PR21CU001.outbound.protection.outlook.com (mail-centralusazon11011050.outbound.protection.outlook.com [52.101.62.50]) (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 4A69232B9BE; Tue, 10 Feb 2026 06:45:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.62.50 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770705942; cv=fail; b=V/Lunc2qC3lWv8iUuq3JelDtbCiXBvL+HU6wIphFH2e9awt5LM600+GBxzuBuG9vbVolwBLrDdtH2Nb9V4xTDflHn6VjeD8pTuBmUJHjrdJ3dUbfYbjoXVJbMFO/tDvCpApA+dtB1+BpGN0R/kcnCxuXO6h/nmlhfsPgVtOSlQg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770705942; c=relaxed/simple; bh=7tn6YtUWsWedhVWe1eIn2wQWWWJ4CG00wCOCCSd0W/4=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=BD4sLGbTVBq0hH53gQ8npmg9sOlCgaK11xJNlFxr8daHf3qlkhMYEUQSZFS4/r5vPDWG8J+lfQRv7ZE91YUwGWFQtuKLTDONEPcEgLL1MNc53/0KWn7fqtzZWHcZfdX4J9jFnOhU6yMBZtHVLntX27ooN0/r4KY+kLiZETn6Rc8= 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=b6ZcyoPY; arc=fail smtp.client-ip=52.101.62.50 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="b6ZcyoPY" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IuDRR1w7KuSrLvvhrll4gTVdfqRPHQOdXTjVn4Ohj+imednnFuOdMNrG1bCpSmeI+NsmKxjqh5kODwrGy+sr+a+6UXzRxa/CYrf5dR9iBmJWs4RgliFtp+w7eqjt8ObiXiI7TDVDZfjjzkbZpMBTuNs97lWguM2OaRj7iVoOrwieAUbWBOzTfuLSdJJnIW+2wiTE7OcRCRfUZWHPDb4fKyh5X9Vhk+CwgA/uX/zHlQMqwFcfAwe97MSxsavNsUmhISxFBBCXNf50MYbDRGE6E7C7Wf9DK+nbaaJwOLGdwXGXKgBBeA2duKvLj7Xi1CodQSJSa8C+EROBdkvYXw6nPQ== 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=M+Dl2SvGIWj7ta18s7cC0Ifd7tWD3cQg4ExhFp8Ogv0=; b=fCOdCugpqzMs8oPD9COR3ZrhA5S+PMirOflcphyIkmYDPBg4ucRGy6aDEEW5ffScQTQDyy27XFFqDGdJdQRlm1l1oTZKj82J31XOldsoiYMQzEQ8MXA68fBk7l0UL/PmnS0khMlD4aTj2TxHYZF8fCnuCZsBGvSesgAZr/afH9t0GsB/Upq8BxSSeTqWimDPLa1TeRQJUSs48ZCcH2uS4lGhq7L2wBBkTSkPD9ImM/A3BLWxFnrVmIVGwvtLlkdJPdjf3qOpHGaILd8jRl7PYAx3bx8OnKUHecjrCW8Mo7Wow4Bju3eo7qFCqEOV5JmE6xWLv3dJd63DmLtbhEqweQ== 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=M+Dl2SvGIWj7ta18s7cC0Ifd7tWD3cQg4ExhFp8Ogv0=; b=b6ZcyoPYvKLV8zkdzkrOnOhv2w50rAwlVKL48o3AlttWEw1nYy/f4matVxbi/wMYft/dronlCTPWLX2wjP0BAjhzQL1w9SR4edhyVPhYUJh9ceHSc4HG1qv5uGM+V07Ay6BpcpiWbXIiyLthuS3GQ2s+JL3dlIAxAbcUafILUCA= Received: from BYAPR06CA0019.namprd06.prod.outlook.com (2603:10b6:a03:d4::32) by BL3PR12MB6595.namprd12.prod.outlook.com (2603:10b6:208:38e::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.18; Tue, 10 Feb 2026 06:45:26 +0000 Received: from SJ1PEPF000026C3.namprd04.prod.outlook.com (2603:10b6:a03:d4:cafe::dd) by BYAPR06CA0019.outlook.office365.com (2603:10b6:a03:d4::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9587.19 via Frontend Transport; Tue, 10 Feb 2026 06:45:23 +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 SJ1PEPF000026C3.mail.protection.outlook.com (10.167.244.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.8 via Frontend Transport; Tue, 10 Feb 2026 06:45:25 +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; Tue, 10 Feb 2026 00:45:21 -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 v6 8/9] dax/hmem, cxl: Defer and resolve ownership of Soft Reserved memory ranges Date: Tue, 10 Feb 2026 06:45:00 +0000 Message-ID: <20260210064501.157591-9-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260210064501.157591-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260210064501.157591-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: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF000026C3:EE_|BL3PR12MB6595:EE_ X-MS-Office365-Filtering-Correlation-Id: d5c3ffb1-fa08-4d07-aa6a-08de686ff8a5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|36860700013|82310400026|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?apYXWQmomNTploW5iE4MnCywOwjsphr50V08k/YOdd1y0CXTv+HuLI+j8bHs?= =?us-ascii?Q?+6LM43GzbTjlLJJ7FIi1zqc98gZwJCsk4/2uWIeR+mS8KLY7c41kXnAfruoV?= =?us-ascii?Q?IYgYO+GFnlDmfQGte5OSxQVxduNTBXH08y+f+ZF3hrXabf+jpClJCmAcbZWg?= =?us-ascii?Q?Ygu/mImjE6/5ktzicIHcBjgAIJcmV5yF6f0QiFPTN1UlbpTUWY4tyz3gHENe?= =?us-ascii?Q?Q42XGqwNewRxQTub/Tp7MDxj/geeR+mFZK0JiEQAa66MY0eepl8PcAg8DPKG?= =?us-ascii?Q?vhjXTvXhvSnSNWoA8BfqmuwIr6uqqOOcw0t6UW1yoarN4BmsAQ2/xZc3eVon?= =?us-ascii?Q?H7Em2I+cz1ZITOVJWLiuxAob6PTPzkS+uGJKOob3zkqGezh1yUc/ByhvNUaR?= =?us-ascii?Q?QX6F0j65yW4kDsn973gQWkP+S5L0tuBtfzjh5n4tkHRJfjsK3hqoOCbRvNvY?= =?us-ascii?Q?1AsVgdiBOMK/X6hUAOWuaGywS2FCS29CYUsq3j9LryFJ3XcK+bKrg6WVQ94x?= =?us-ascii?Q?jRAWcKL+jKbbh7bJLwh8bDMZeqomOeQrcT2KVTblNnrItgXpD7o/5QwudRT3?= =?us-ascii?Q?mKb/GyG6ETxEFtooFGqywUVWutKi8MBCx6L8qiHWWuSFCks+yFp6rWzzTlKh?= =?us-ascii?Q?Z178W2CsJ8hWtjCpbN2K1JJKlRO71/2bIwr1trwOUjwm6Cv4H8RGCh0SS4qd?= =?us-ascii?Q?yCGXxijgMwOI4PGvq6++r+QVyv/bGSngrCCb7KvQuSg6kbPtUClEoKYZfEOP?= =?us-ascii?Q?a1pIJkSYGupDLsndOV/4mRafgNSqHpGrYlhAuUTghjT/Hh5zWW0hHOIIJUed?= =?us-ascii?Q?Hx6a2IRMG1YthrAusri4HMjHYlJd2In7L7Xzzx5RJVXg3MDdpymvnGA9VCIJ?= =?us-ascii?Q?YaveBqaiT/e93iW+1r0ckVeCMdxnhnwBL+a60a+yzXjHrKKB8iRkybqyAcjm?= =?us-ascii?Q?MjZo3+/4XelGxmP8pGbT9fat6IsMo8dq+MB8t/g6/AH5j8R9bPm3HAn8RSNM?= =?us-ascii?Q?ioJOntax4XJ0e15R9JpyyftLndacBpTurZeAHu+x5VgHomFTSNK6KgPZoMLH?= =?us-ascii?Q?DGVd3c9DtcdDZ+SRl1eRh00ZPNjxbJ87ClLrZywIqAaL2a959hwwRM0hN/pp?= =?us-ascii?Q?8+oKWRxKxn4YcBgszOHhbryCjO/ZrFaWLItGkmgazWN1Lwu9CGhk++nrSxDA?= =?us-ascii?Q?OmcE5+CoEoYcwNnTO6+O8pCUd3kJBUjcOP2jsgapxLDCXC4fkq+ftAROyndg?= =?us-ascii?Q?BJg5uMmKvBVfWF2+AYF8uA3NLs8R6xliP4sce9k4cwprqpmUWK+8vdiQx6tH?= =?us-ascii?Q?ujTcg+Z/UCCYTEsBV/L/7fyqUXihRI7dYVTRArPQk+5Gytaa/e0cW60otHPl?= =?us-ascii?Q?OxxdvzCx3MMVcADrPKlClE1tJeLtdYcvpjFJaQRwags5quHt+mlpDA5s1S+a?= =?us-ascii?Q?0CpJ54lA6P11RrAkLZQA78q5e9oDNUxgGJSGgKk3JUi4zuEuYsmMJmwbYgDk?= =?us-ascii?Q?gWwOzlh90jlnvHtuSsKaY6wwo94C4+Us4MyvWVEUeVHdEIIXVNsFHQqvHQPw?= =?us-ascii?Q?J4siQ2SQAEaC3aM/PBj5+CdvvRcGe77gVT7N3abpD+Cvi5hgCNGkOFqoFO4D?= =?us-ascii?Q?aacwKA8o+0cR3Rb+Hwm7IS8LHT4lepofWqHlBzhzeKvFFIqQ24mNCWbnquyV?= =?us-ascii?Q?7pGO1w=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)(7416014)(1800799024)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: hIyFuh8vmtOf0H74Gia0f5to6+u1jXmYDh9Tt8TSUzriTu+XdMNOx3ErFeHRzvRcA3oaK5o9r0ddD/Ljwke6RxVUhW9QAxZfOe3gZ5yOgoKkaV+g4QxAj863DAN9be8V1Ee1MRVZ/MbHpTgBMTt1l5W+uwMSGXnfWzUn7ZgonIPL6yXOlObfulzPotKS4HlKzgVPvUsZFXZuTjtY3gc6yaDG+SGXQwYJuf4bAuPUT0MWcqpbDqhSuldLAMlvB6+0hTtctDTmX/zTdk71ImT+R7vcSmLmCYOOo227+m31WNGsrl8IhpvBVOmco+FACgmHz9Yfd6Kp6RQMBk8kzYRSd4vWQGA0ztM/r+TxWnAJJErXP497QResSSQ6YzLU4VpgGyKPDrQ/GL0+c3DmNLIsgIqVPilXLd/JHMHeNEhbbqVpdUSc95Nwg3BSv0SrPUvN X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Feb 2026 06:45:25.4373 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d5c3ffb1-fa08-4d07-aa6a-08de686ff8a5 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: SJ1PEPF000026C3.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6595 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. When such a range is encountered during dax_hmem probe, schedule deferred work and wait 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, REGISTER the Soft Reserved ranges with dax_hmem. Use dax_cxl_mode to coordinate ownership decisions for Soft Reserved ranges. Once, ownership resolution is complete, flush the deferred work from dax_cxl before allowing dax_cxl to bind. 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/dax/bus.c | 3 ++ drivers/dax/bus.h | 19 ++++++++++ drivers/dax/cxl.c | 1 + drivers/dax/hmem/hmem.c | 78 +++++++++++++++++++++++++++++++++++++++-- 4 files changed, 99 insertions(+), 2 deletions(-) diff --git a/drivers/dax/bus.c b/drivers/dax/bus.c index 92b88952ede1..81985bcc70f9 100644 --- a/drivers/dax/bus.c +++ b/drivers/dax/bus.c @@ -25,6 +25,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_NS_GPL(dax_cxl_mode, "CXL"); + static DEFINE_MUTEX(dax_hmem_lock); static dax_hmem_deferred_fn hmem_deferred_fn; static void *dax_hmem_data; diff --git a/drivers/dax/bus.h b/drivers/dax/bus.h index b58a88e8089c..82616ff52fd1 100644 --- a/drivers/dax/bus.h +++ b/drivers/dax/bus.h @@ -41,6 +41,25 @@ struct dax_device_driver { void (*remove)(struct dev_dax *dev); }; =20 +/* + * enum dax_cxl_mode - State machine to determine ownership for CXL + * tagged Soft Reserved memory ranges. + * @DAX_CXL_MODE_DEFER: Ownership resolution pending. Set while waiting + * for CXL enumeration and region assembly to complete. + * @DAX_CXL_MODE_REGISTER: CXL regions do not fully cover Soft Reserved + * ranges. Fall back to registering those ranges via dax_hmem. + * @DAX_CXL_MODE_DROP: All Soft Reserved ranges intersecting CXL windows + * are fully contained within committed CXL regions. Drop HMEM handling + * and allow dax_cxl to bind. + */ +enum dax_cxl_mode { + DAX_CXL_MODE_DEFER, + DAX_CXL_MODE_REGISTER, + DAX_CXL_MODE_DROP, +}; + +extern enum dax_cxl_mode dax_cxl_mode; + typedef void (*dax_hmem_deferred_fn)(void *data); =20 int dax_hmem_register_work(dax_hmem_deferred_fn fn, void *data); diff --git a/drivers/dax/cxl.c b/drivers/dax/cxl.c index a2136adfa186..3ab39b77843d 100644 --- a/drivers/dax/cxl.c +++ b/drivers/dax/cxl.c @@ -44,6 +44,7 @@ static struct cxl_driver cxl_dax_region_driver =3D { =20 static void cxl_dax_region_driver_register(struct work_struct *work) { + dax_hmem_flush_work(); cxl_driver_register(&cxl_dax_region_driver); } =20 diff --git a/drivers/dax/hmem/hmem.c b/drivers/dax/hmem/hmem.c index 1e3424358490..85854e25254b 100644 --- a/drivers/dax/hmem/hmem.c +++ b/drivers/dax/hmem/hmem.c @@ -3,6 +3,7 @@ #include #include #include +#include #include "../bus.h" =20 static bool region_idle; @@ -69,8 +70,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); + dax_hmem_queue_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 +134,70 @@ static int hmem_register_device(struct device *host, i= nt target_nid, return rc; } =20 +static int hmem_register_cxl_device(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) + return hmem_register_device(host, target_nid, res); + + return 0; +} + +static int soft_reserve_has_cxl_match(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((struct resource *)res)) + return 1; + } + + return 0; +} + +static void process_defer_work(void *data) +{ + struct platform_device *pdev =3D data; + 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, soft_reserve_has_cxl_match); + + if (!rc) { + dax_cxl_mode =3D DAX_CXL_MODE_DROP; + dev_dbg(&pdev->dev, "All Soft Reserved ranges claimed by CXL\n"); + } else { + dax_cxl_mode =3D DAX_CXL_MODE_REGISTER; + dev_warn(&pdev->dev, + "Soft Reserved not fully contained in CXL; using HMEM\n"); + } + + walk_hmem_resources(&pdev->dev, hmem_register_cxl_device); +} + +static void kill_defer_work(void *data) +{ + struct platform_device *pdev =3D data; + + dax_hmem_flush_work(); + dax_hmem_unregister_work(process_defer_work, pdev); +} + static int dax_hmem_platform_probe(struct platform_device *pdev) { + int rc; + + rc =3D dax_hmem_register_work(process_defer_work, pdev); + if (rc) + return rc; + + rc =3D devm_add_action_or_reset(&pdev->dev, kill_defer_work, pdev); + if (rc) + return rc; + return walk_hmem_resources(&pdev->dev, hmem_register_device); } =20 @@ -174,3 +247,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 Tue Feb 10 21:59:46 2026 Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azon11010014.outbound.protection.outlook.com [52.101.56.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 AC7EC330659; Tue, 10 Feb 2026 06:45:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.56.14 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770705939; cv=fail; b=HE8dSvuBjKmI/p/EmFU+4FEVaEpdqKmMQ1GWJY4nLtXTzbFlUdEKtsinCshzGrnih3e/Hd7+EnJF3k59C0XHRQky0nKLoYtKMLMGp2KTEF9WXq4AOu0VaN3GU9Xo8LyW4y+giQ1RMgixskAYoFW+3o6EI1hmWzKROh6r6pzfg0k= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770705939; c=relaxed/simple; bh=SJ1jSJCnlgfeuPYnwV5eZsxa6Y2f78GlQvpg8+hspSw=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=a+voQujsTU8bAK70FFFbGnJIp3fMpRzL6ZjZwP5L8KYqXMddrrAaqdgP14WLgurKBbkll8vj8+8PEUkoK/+8iWh3D8RI4Q0trpi4RYMwPEJUWXCgFoF5zU0t6BUkxJFz2337ExMxztmrvX339CWVEHQusWAjf65Pnhd0hcLEYkU= 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=Zr2k4KaZ; arc=fail smtp.client-ip=52.101.56.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="Zr2k4KaZ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rzCwRU4iyqFBi8QZTw7Nmt3alKM9vGRjpenrHRVIp5xLpJWbZXmQhqU+yzShjrvyNRr6nLE7TcXbr0/uhFDX+jshVEC58V2lilAxphvfA/utzMpbzmsubu+6/BlD1iKT3bDUEyukOLv98kzqn2eev9i/vJEjf7ox7FPHw+PAX23tnrPmVqU3We0p7i3dFf9TfCsgdwaqZbvEJyD/IXGFhk4B3u9wqJHfRGkrNEUHpKriZVp7747bLRYKOefIFKYK+REzClUcLPEEQd/HN3usVyNtx8g1qnlDFSIoQgx3cU+lENjPYY36/BJFFHeemu/ih+ekpKASvUpOQYfW9BeXxQ== 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=VVzxHXcbR89bTpoQN49HpyrhE+9QKCmWqOlXqrpDosU=; b=U+Qv3ixOorqNSh7BSHOK6gqzT/MdpBXD+2j86qWH0k4+VcXUrMuImK3OCx/+G++f67oP8h4XLbi8F0ryblVEDOU1mdQB0mrPqu2nJ2F/ee+Mvmt+KcUMcITZb6Or45EpzWIrhOwy7i6S5ie98Y70psRS6HVlvoVtVhwZWkUxWVEn66meUhLOZYLiTu2AFpLOaZFUxNSB0O0DRhpByVfrhY5uO6hc2adgWQ7cMi3eu7AktcfV+duLBrOZbBiS4ZYlagS6pgCkdGZit13cgcWmKDz7fgu8MIE3ohw61kkDHkzayv5A2D3oEXsuRXBKIAAoKbi8ahvUfy2jTZQg1TBQeA== 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=VVzxHXcbR89bTpoQN49HpyrhE+9QKCmWqOlXqrpDosU=; b=Zr2k4KaZ8lIU2L6dEAdEGtgDrTy84IXkwaWDf/O9wcFOTUsQA3umwyyyBm7Eb7IUn1bRcqd5CFRn6QddvIJDOTn6imK+FZ23zre20Jo4QAWlQcL9bfAdSb4sop/22bEQtrRbDEJvlYfix20yhJxokSpuvpsl9ZMKUbpOYbdEr2g= Received: from BYAPR06CA0003.namprd06.prod.outlook.com (2603:10b6:a03:d4::16) by DM6PR12MB4217.namprd12.prod.outlook.com (2603:10b6:5:219::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.19; Tue, 10 Feb 2026 06:45:26 +0000 Received: from SJ1PEPF000026C3.namprd04.prod.outlook.com (2603:10b6:a03:d4:cafe::2b) by BYAPR06CA0003.outlook.office365.com (2603:10b6:a03:d4::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9587.19 via Frontend Transport; Tue, 10 Feb 2026 06:45:27 +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 SJ1PEPF000026C3.mail.protection.outlook.com (10.167.244.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.8 via Frontend Transport; Tue, 10 Feb 2026 06:45:26 +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; Tue, 10 Feb 2026 00:45:22 -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 v6 9/9] dax/hmem: Reintroduce Soft Reserved ranges back into the iomem tree Date: Tue, 10 Feb 2026 06:45:01 +0000 Message-ID: <20260210064501.157591-10-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260210064501.157591-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260210064501.157591-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: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF000026C3:EE_|DM6PR12MB4217:EE_ X-MS-Office365-Filtering-Correlation-Id: 7bbb49bc-3781-4676-2bac-08de686ff953 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|82310400026|1800799024|36860700013|13003099007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?NmcD/ItVf04GiP5LNfDpfy9S8NQ4QBLhbsQEbdUPw5Xmu6db7PmTZrUn6oWq?= =?us-ascii?Q?GgvvaqRx3aL1CImPIdYvsSlGLxNzEibELv55EpkGxtLqfMqzxoclfYU3YWsE?= =?us-ascii?Q?1g8KecZ2dIplGwLV6OCZntFDqtqft5xH8Utd4YQufoz1OdLM6/r004cuSM02?= =?us-ascii?Q?FHRpA5kVhC+CY0HibdqN9Hymj/wy5y+IzcxJovbJ0s0gCGWu3Trl1JYsi2j5?= =?us-ascii?Q?+tZeGYohmw4F1O18ZeXSGHbNZhY/kceSbmm+nQKrXpE0v5biYCO9Ps285dX4?= =?us-ascii?Q?rAMJSc82knpsNpUU/KUYRLnSzfaHYMrRMjkDqORNJmHjgM+w/g5SnkbfV9Jp?= =?us-ascii?Q?qeyMWU8fOas0viAlasHYpdBnwHcn2NcnOZ/lXx486gqZEWhOP3NlZKOmSB/I?= =?us-ascii?Q?BnDdYihDQCdGvPAnBS0nCJqw/+++4UDkFhq+g8a0g4gw1kX0u+1uFEWGj9Y7?= =?us-ascii?Q?WNMQQ3CRfKQbIBjTxF87Sgk+FJFe0FxWFJ6ZFCU2ZAhqA0JAp/PcHbg//f7K?= =?us-ascii?Q?rIMJvi058xkWLqjTRgUgmdWO6YmCxWYj3axeV9Y5q5CJ035abyIgRDVPwwh7?= =?us-ascii?Q?BsmhSw+Iht1yfSXd89kyi4PE+YkviYHWK3y/0iqDv0d4rZmkbfIrhvcYGv29?= =?us-ascii?Q?LAMnjvJzehxAJQRfMiE7teVpSU1xMpGjuoxp9LVmWaFlJHOd/yS7rVxu6XLj?= =?us-ascii?Q?UyxNuCA1cSuDFDDbUgzKZgCFz3/63cz3hDEBNkpeFHNTo8aeD7EW2xqO7XxC?= =?us-ascii?Q?Ytkugh+KIu0nDsjdh42NYLoypJCDxVHUL+uCZZm9KUlrYEJk74CxT1kOnley?= =?us-ascii?Q?K9borgjpFlp13YxB7RxW1prYY4OsMu6MuJeAqWUXdEl1B0G36VLCInA12Zqx?= =?us-ascii?Q?gzUpvEO0It1bK+4g/yvJdPUvN67+9dDdEPoCr89vwnFBTx9pefkN3AXVeQN2?= =?us-ascii?Q?+/4apsnk2IXOZDF5JX7IbfX4yCgn7sK5SoH8qODcgE1OL0jg/ByBzgTebA/P?= =?us-ascii?Q?fDXReuJfRMCszXkexpTh6XvELXIbfBiDm0mgEzR/21fYikzuOyPwj+/BfvB5?= =?us-ascii?Q?SfOQi4UBpn6uhq1HfGnwD7ebHgPLUMJxHuepZvov1Ee3OfhgGQCTtJU7Bcwc?= =?us-ascii?Q?1/Wy4qNgyztXxsRs8nZQph7zEOMDKQys/Zxomw6pyByknJ3QZJuPLDkaQdtD?= =?us-ascii?Q?tC811Ltr6m+scEgxonjZB3z5Aj/yWgt5sMMsuv/eQJ4V93RpEyXhnO5yd+D0?= =?us-ascii?Q?y0pPAaNplRupgxbTgW0U5CaH/meQ5GM2RdwP7dhAWKeDC/STqYXaZLIVpU4+?= =?us-ascii?Q?p2JQ2ZEAcUz3E6iKdwxvzKjauaPf3wK7QbTyo5FKEOmcgQ/GvUXlRbcWhajg?= =?us-ascii?Q?+qdHnANCzfd1Qc6Nb5SJv5gJIgGNVylvGMyBrV3uQWiQx85jK0DwjPSRqUG3?= =?us-ascii?Q?YD+dd+c/fAdcG9JqHjMZNEs2FSQMgLczcmhv0gL6xVrBlEfhH0i0YA/eYqc1?= =?us-ascii?Q?p0EeMOd76wc0uZpEWbAapw1LfCSgruUTeQGZlPlLI2s+gk78hPEMHjVtXrsi?= =?us-ascii?Q?TNKOxPPAcOShjX+nlTi1N7OdczGeKaQLgAOia0Z4G3o6bktlJBBIjNFvdCiV?= =?us-ascii?Q?KoIODzH8suw0cwPMwj0jRKmTBbB7Eas1l7YdBJYd6yYaPyxIfwvTAnmXYriy?= =?us-ascii?Q?JfW6hw=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)(7416014)(376014)(82310400026)(1800799024)(36860700013)(13003099007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: SMOtxojWwKycEeVOEOhdbFwMTvb7Yvr4F4NiFxOYn0yJRxt+dsYDdpcV+jtJ2RGs/LnFNp2C2j2BsE5MqGksCC/a+2jcKAnd6dNuuDRKITdz0Cuw16lQzME0tBpWK0kn7Jz6RJ1QJP85ij8q+xsDtxshHuxXB9JewC/tV7uWNmE/4+wq8QGdwsHXBxZdvVagY0VyECfeeGCoWdbzkk9l4e/mCs6dxvNeV0s80CWg/5mRMOyBV90fzgs+J2xdNK9hUZ7NV0OhB/63L9vVKZGGpJMtvQ7npQRGE/jUeiej6t/MOB4zL7dL40EftacAaonDQPgu8ANmUqf5VmyAdYAvUfkLwoBcONlCVRUwYwFp3yuKoDxhlsPdOlc4wn/vmnEiuy5G2DpapEIMOEvrclfe+vSdwZMSfeUzyfOb7nJLcM0gL0OsBrlUYOTcTzyRtNy0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Feb 2026 06:45:26.5483 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7bbb49bc-3781-4676-2bac-08de686ff953 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: SJ1PEPF000026C3.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4217 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 85854e25254b..c07bf5fe833d 100644 --- a/drivers/dax/hmem/hmem.c +++ b/drivers/dax/hmem/hmem.c @@ -59,6 +59,34 @@ static void release_hmem(void *pdev) platform_device_unregister(pdev); } =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) +{ + int rc; + + struct resource *soft __free(kfree) =3D + kmalloc(sizeof(*res), GFP_KERNEL); + 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) { @@ -88,7 +116,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