From patchwork Fri Feb 7 15:37:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Richter X-Patchwork-Id: 13965310 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2077.outbound.protection.outlook.com [40.107.244.77]) (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 D6F9D1EB1BC; Fri, 7 Feb 2025 15:38:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.244.77 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942708; cv=fail; b=bvQWnhn1YnJXxLK9ReEj3HFLigt1eFZXD+0hm13Dbwd/I37ELyaKugLQ6PEjCQHRzalb0nGt34z+y2TKD482LxOfZqabV14oI67iJl8viA/yNI9MIACPS88jj40LbMZaeBEH51uPfHwQE9m40/VDUMrTMZ9tNW/euLQ/Hu+OJsY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942708; c=relaxed/simple; bh=bwBlUWWMnrtkAPrv7yKe4Dk0UuDBMyJxk2pS8tSad8k=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=rJ/bv9j9oZqUvCCkHO1X8idxdSe13xwsv6iy5qeO6kR5uKJyVRSISCX+A6W6cu0zllNyLW9kcAmOcku4HAJerHFaQCxhyS6aIsEU3pMMio8xHU9MWS+q//Ymzf5flPj2XgPIuQ2yDTQBWULCa7GmTSqQbuTvj8qt5KrdS3P6eb0= 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=CCvRwZYe; arc=fail smtp.client-ip=40.107.244.77 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="CCvRwZYe" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=m/fjvBWWfeV8XykQyHjSxdQv5JPAy9p3cWkzXQTETP1Mnl7Unb0SgKDkoF3Gu+Wf8+yoXpWPe5ArIizb5EFIt7YOqxA2iDBNXb6TzdlX5lAJyxBM/CBmVPi5mfTpQwHnJjxpaFjwQB++DKP8L7LvZpK8xj4ZCHZR5WZROtzxTP+zMKXILgX+IJX6yfeg2yUaK+zQlwAgNLAuGj8xkHPz9W/lme9A718slNt/5rJC8mNLsfLz3sR73+D61EMghPckSMYjIQJI+kRpEzRZDkqkw7K/8K9XJqnjwzdVFMPyfrDWnFoceZWA8Tb6maXG5LT+F2aWgTlbJjJ/qKkzmvEwvg== 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=71KkKeMlT4BF5LAfOyJ7yieDTWSd003EzEmqvttsqpE=; b=C0TpEUXOsPv0mQGeiYjHwQqakCWfuUTA93tYiihumcQA7N0HgGja/n3POjG4sCalSDzVzxhzJOr9LgHOdHLtuX/gy5ZIFhDIVhakizbX4+L3sE5sJyNiFdshRSvCOc7mpioAU992qGTJqAvxz96Fywh5IkJdQ309i3lMFDrNeVn9GIKWjLvub78vNz8PoLWU8jIf/PUOWNe9po9nplp0LIOj9f96rXdSnfE5ZoRSfERZn2sbOsd8w8ffteJ1NkGv3jloa1ihM/4lCH8FYzI1sJWUAemqpYHVkvmKn2EgpZ3+Qqihc69c0HOArfq4UIlpPjdWa52nZRs4vsNBULrasg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com 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=71KkKeMlT4BF5LAfOyJ7yieDTWSd003EzEmqvttsqpE=; b=CCvRwZYeS++v2NBw9ZM7I1MBupikhhDDCnXtVeLMNmPXDywmp3sKBfF8Vp6RA24gBI2Hy993Kz4kDqkNCxUIRvbCxnwp7u5uIeB+nuA/t3AUKHznFcJKkJIUDE+wRSGSoUX3Ub5mZq3Q7ewTkd/twXA5MUEWZoZujjOsGgNMXOo= Received: from MW4PR04CA0303.namprd04.prod.outlook.com (2603:10b6:303:82::8) by SJ0PR12MB7067.namprd12.prod.outlook.com (2603:10b6:a03:4ae::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Fri, 7 Feb 2025 15:38:22 +0000 Received: from MWH0EPF000971E3.namprd02.prod.outlook.com (2603:10b6:303:82:cafe::71) by MW4PR04CA0303.outlook.office365.com (2603:10b6:303:82::8) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.24 via Frontend Transport; Fri, 7 Feb 2025 15:38: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=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000971E3.mail.protection.outlook.com (10.167.243.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 15:38:20 +0000 Received: from rric.localdomain (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Feb 2025 09:38:16 -0600 From: Robert Richter To: Alison Schofield , Vishal Verma , Ira Weiny , Dan Williams , Jonathan Cameron , Dave Jiang , Davidlohr Bueso CC: , , Gregory Price , "Fabio M. De Francesco" , Terry Bowman , Robert Richter Subject: [PATCH v2 01/18] cxl: Remove else after return Date: Fri, 7 Feb 2025 16:37:36 +0100 Message-ID: <20250207153753.418849-2-rrichter@amd.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250207153753.418849-1-rrichter@amd.com> References: <20250207153753.418849-1-rrichter@amd.com> Precedence: bulk X-Mailing-List: linux-cxl@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E3:EE_|SJ0PR12MB7067:EE_ X-MS-Office365-Filtering-Correlation-Id: 26f4f369-0d01-44be-f4e1-08dd478d7335 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|82310400026|1800799024|376014|7416014; X-Microsoft-Antispam-Message-Info: Fu4PXAlHO1LWpeL9teVzcUuYaO5CAq3Sbt8KkWRJHJgyJBd3yU4nn6UUJYrysygAJt5twGEF9YJVjcB/A64oSfuR6WLYd3wXoVxTFiSJTC7BfgTaMAXpcyL8nahD0VewOLYTBnhAQjuhLwe4y48e9Xb9XhR1uae4LhWhxYzR8e4iZn+GpKwa2nxXit9lDB9Oqrd6JP5uO5xrZfwv4wX/8EAnmW9ygWo6M0kLdsJZT4Gkx3GaC1op3sMBOUpRuGf5+lAaw4DIIsqvNqeo941U9LYYOxYN1cyxU04exbRqgMCcvXhSjVenTRJ3MYDEO1njXdYmqPds5MvB73R57uzP6oT0iIPmfwFuCyS1YpoUmVKHT2tJRWoP5CmGe4iNNO3A+PEu4/l6I1S+qXOQeK7cpRWWpui4CyppJ+cO+cpXCZ0n7Zo5lB/EDkk0C7FM2DmFYY8tdiglRAG8dWrt4n36ppexQPpY4tPKe4N55cJE41jScQ+7wiiPbEhc0I9gWZeWzFP4pmOfweIetkfkGAq0CtkGFFkxskLhm7/2k2YBsu2XUxCFgkaIH2mIgUk3qP9R1oTeL+ggyjVtfx/dnosU+cgqFu87iReRyZLfiOZANK6haOU0IUi9tjWJcfMAQr6TL56UT7b2L/CWPx2eg7rC85Y75a7Vg8DDOJex5uONY1hCiwVfRbaCPTnjxvTXYstRQPq4m+uVlKfzCt2M2zl74t3OysckqxbKSZVvGcFBMTT4xBmv92oe43y/DeInCHRvd8pfQ1jM0ItPBmxDR63GzhUAe/UJugCYTFiNGtCctKSB4eshxqDFnaQeYtHnYKI1UK2ApjNRZ6imdrk0WUzCv7TmVxKZ97uXZVYfIOp6sXhnPvs+MLVeC4qb+3isqrfw/exmCT1rjGdBWa/qM32iENWVGHJxBX44rtc1WE1/DSbNOVhXJi7bl18y0LXbXkrLVM1JYQN325b0t0g0/9birBAHjfchQQL5BVdCHsBYf1bgeByQOnLen9JccC+i3bg+yZ2utNP1N5hEtO/ngd1ZEKpL+CQ/IQTqvbUNkrVt/gkA5l+AW1Fylc7ANAQpXjx2MXlRSI0W1KA6NLQyZaznw0hQzx154GKWUHAMA2Ukqv29M3S60RSGdBHELrGEO+TdTY2IRZiup7aCPkIHhGWtheE/9foybcS8gQbxH4PByWtBE7vqoeqUATw5Gb+geOhfZVDtj2fHtQIs0OkWewXLemV7BvWARWz6smOCmGrkkyWvuohHlO1Vn/f3Mi4BvVWic/U0ett3qX4Im9i9x1+KB1Bo1JtKFnLX3PuKcgdzvQZM3a5gHxtWIJdaJjzRJ5sd8SKzcUO1RW1Rv8HrOTIi2jEKaUOf0oehvrMR9Im4bvtWoJ29lIh95nxA2DcFoWNwvXIyscPWzFREHBIk/iu0IBkthaBWbECYxRaySF5wDw7CGr3ocD1QsW1xmr2io6brV4kJ++PhX+CPWLAC+GOpUw0gB+4Hdty8nGf/jsmUw4A= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 15:38:20.3792 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 26f4f369-0d01-44be-f4e1-08dd478d7335 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=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000971E3.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB7067 Remove unnecessary 'else' after return. Improves readability of code. It is easier to place comments. Check and fix all occurrences under drivers/cxl/. Signed-off-by: Robert Richter Reviewed-by: Gregory Price Reviewed-by: Dave Jiang Reviewed-by: Jonathan Cameron Reviewed-by: Davidlohr Bueso --- drivers/cxl/core/cdat.c | 2 +- drivers/cxl/core/pci.c | 3 ++- drivers/cxl/core/region.c | 4 +++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/cxl/core/cdat.c b/drivers/cxl/core/cdat.c index bfba7f5019cf..0a09add46d5c 100644 --- a/drivers/cxl/core/cdat.c +++ b/drivers/cxl/core/cdat.c @@ -28,7 +28,7 @@ static u32 cdat_normalize(u16 entry, u64 base, u8 type) */ if (entry == 0xffff || !entry) return 0; - else if (base > (UINT_MAX / (entry))) + if (base > (UINT_MAX / (entry))) return 0; /* diff --git a/drivers/cxl/core/pci.c b/drivers/cxl/core/pci.c index a5c65f79db18..2ec8c97ab160 100644 --- a/drivers/cxl/core/pci.c +++ b/drivers/cxl/core/pci.c @@ -415,7 +415,8 @@ int cxl_hdm_decode_init(struct cxl_dev_state *cxlds, struct cxl_hdm *cxlhdm, */ if (global_ctrl & CXL_HDM_DECODER_ENABLE || (!hdm && info->mem_enabled)) return devm_cxl_enable_mem(&port->dev, cxlds); - else if (!hdm) + + if (!hdm) return -ENODEV; root = to_cxl_port(port->dev.parent); diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index 84ce625b8591..5d252dfae138 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -1926,7 +1926,9 @@ static int cxl_region_attach(struct cxl_region *cxlr, if (p->state > CXL_CONFIG_INTERLEAVE_ACTIVE) { dev_dbg(&cxlr->dev, "region already active\n"); return -EBUSY; - } else if (p->state < CXL_CONFIG_INTERLEAVE_ACTIVE) { + } + + if (p->state < CXL_CONFIG_INTERLEAVE_ACTIVE) { dev_dbg(&cxlr->dev, "interleave config missing\n"); return -ENXIO; } From patchwork Fri Feb 7 15:37:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Richter X-Patchwork-Id: 13965311 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2070.outbound.protection.outlook.com [40.107.93.70]) (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 D12B623F274; Fri, 7 Feb 2025 15:38:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.70 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942709; cv=fail; b=ncvpqZRNL2JY4RKQnZ4Ifj/x9hned4DquNM7tCMzE4hmtcSQ5RVC9GKg0Wh70YPaYBALSIxh1HnsGvgZNkGHKs1eyCLPF5nyLrH+eWhIrPLPZgX7ZlCcayEFvNnxxxAZccXIsFv6ekWQcxkILRM5TE76Y6aNr/qk1fi6byCVtFg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942709; c=relaxed/simple; bh=HctftZt4phy7RUzNlo1oU4o6ZQu3T/CIKChVYDFPCmA=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=tyZQ2u3JtMLPJUM4Ic1m2xgm8TnphShynNrTeaykqWr2Bo5Vy2TFoWKQWlCRE2dLA/dEhm6PI5NUMN0DWJOwaN1+JVWCxE+8n9ybo9I+A5r/mJbTSmQz31zCjPXJpRrkNacf0z8ii2u67FKEgjlYbLZ72D19ydelxgMsvb2GcDs= 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=2n5lU/Ct; arc=fail smtp.client-ip=40.107.93.70 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="2n5lU/Ct" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lO7UQWx1+DbVGj4WiesXDdpJqnKZ/pyi0kY+SsmkyjODee+ofntMKCCOs7xe7avI+Pnm2zNDIYxQOV8imebW6hykRQ+DnLzMSGh0ZYh+CCy9xo7BLEtr5KyVh298rlyvHHh47EE1hM4/RkQbpb0voIRC5gNidxuxKFo3zi6alRB5/wzjAGH9S6U1nl/KxGYbtS+5Sw0dv3ZxyOIn5k9w4kWYNVy1cANGFxDr8IqH/rCTCXQbpVuzmuQnQ4yt1Bxo2uAfrCweU9ABDIFl1kK43CK1VgQx4aSeRoNAcIkzJ0FwWSvVo0HaG1SjSTTPpIdKQCv7tzTJe2DhiQTDoTFf5Q== 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=L4x3CtQeGmNhfdTPpXJrjEjEEfXMXIeR5dDfwrkRAyU=; b=opO6ePSsX7OG67Ss/edG4zj+IM4ZtX1nY3ufylp5/VRxuHwhj42HbAkSmaBKN2MLfudkae3b4zTAPpdcHwfj/Qtl/LJ8PjFMxj7bgJAbw6blZolOUUJ3QdmcgPUtNnldLbujXBvZaOufn+hXVKYwZneRy6hgS3I0S1Uj3I0byovfdKKTyTlGJUPwEf3QSpyg/TXX4CwdLL+8LWkX34fP+govT9nLTBMtY+6GQrKaqD4De41SbsD6TUMQegGm0QJHaeWs6Itqr1e44/wYOzzpzfxY3K6tSOwRaxKiaT9ldebhJ1aj6fFtWEbsCMQlAaRwiSnuRaZtO1GrYv+3ayS+cw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com 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=L4x3CtQeGmNhfdTPpXJrjEjEEfXMXIeR5dDfwrkRAyU=; b=2n5lU/CtFJ8BgZ2vjI+sMLl89a4Q9nJi2G3RNNSTLGOjTaiAeTETZOV+u93zTtc0xHInPR+CfWtazby2hovhqlMH9W9QJpr6URIWFLO8ouvAx48JribScdZL/WpL9euZVPGbaNCXLbCPq00sCZnrVC1GJ2p3LiOvQQAbeHszQ60= Received: from MW4PR04CA0322.namprd04.prod.outlook.com (2603:10b6:303:82::27) by DS7PR12MB5911.namprd12.prod.outlook.com (2603:10b6:8:7c::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.10; Fri, 7 Feb 2025 15:38:23 +0000 Received: from MWH0EPF000971E3.namprd02.prod.outlook.com (2603:10b6:303:82:cafe::1d) by MW4PR04CA0322.outlook.office365.com (2603:10b6:303:82::27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.30 via Frontend Transport; Fri, 7 Feb 2025 15:38: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=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000971E3.mail.protection.outlook.com (10.167.243.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 15:38:23 +0000 Received: from rric.localdomain (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Feb 2025 09:38:20 -0600 From: Robert Richter To: Alison Schofield , Vishal Verma , Ira Weiny , Dan Williams , Jonathan Cameron , Dave Jiang , Davidlohr Bueso CC: , , Gregory Price , "Fabio M. De Francesco" , Terry Bowman , Robert Richter Subject: [PATCH v2 02/18] cxl/pci: Moving code in cxl_hdm_decode_init() Date: Fri, 7 Feb 2025 16:37:37 +0100 Message-ID: <20250207153753.418849-3-rrichter@amd.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250207153753.418849-1-rrichter@amd.com> References: <20250207153753.418849-1-rrichter@amd.com> Precedence: bulk X-Mailing-List: linux-cxl@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E3:EE_|DS7PR12MB5911:EE_ X-MS-Office365-Filtering-Correlation-Id: b07bc2cf-550c-48f7-916d-08dd478d74f8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|36860700013|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: tMoOVDYKsB2GOg5fSgJ6G0z/6LrHm0C7yY+gJrGbKBIgxLnkn3dmp0VdEW4MwIbsWzS2jnvTaY5SPCB0Hls2AYZEW0EnMAVI/CscLMkJfzu1xKmYZZTgoLvRhm0P6bWtwPEtyaL/XeerNxZtcFXqWgshd2VbAh+r3+Ijhu3OdYZ8PtzHhqSri/mlkjqY8CdM+UbKWQ30tu1yPjPTS4anxOgyThDkSrayJSdLtouj19IShoKNyd6brv/7u6QGiL15nTZf9s8cZq7iWEbgiIWOSBKgRUc4PbfrS0QAldqKHF5c55vLLBtHPrQSdnrGjM4Trsd4WbkNdFP+KIjjev2sMZnOTcEOHBTicOcXnE9PAJRGOZX8qtwhUbndlg5KKs4tst+OkqSVlV/8ktvNKmYkshFxBJ7NS3Hbl982UXYj7n5/m08Fgsn02kaAPd5s23sXBYBzyHXB0gn2Y+BYxd4aRJlqTm8pZ3WElDEJFW94Z+3ZeV8r2VM0w02FhVgzPnKbiWfLtkzeen/b4daBtRGESd9JJlIcPyT/IzM33VUF41eG5X88XNEfM0VHn3FaQg7JRSj/Ylp8usSpwpAWeMlqcVwq6hxJt79Jnd9cH/xOnX7jtKusH1M6GwIPmlFhYAVoboIUCRCVLavC2QzfdIO6Id8NqvM+IJ6NCC2D2M2IV44OHcMAO45bH/p4EZCocMW5pwBak0oIHCVOXbkt6qcGgUqwXt4qA+ZSj3EEvRBaOW4tl7Gixm5n2MTWWxvAPQXLDWVGeaOJNEjJIH5SqmLS+fsJEUYsrxIrXXJjIUGhq7uFTUZRn0wLMD3sYnDGy3DqMxVriSDureFqvfC5GW/EkGPIEDrNAkX+DLsVjva/exIjxaguCgmk71kzj5DM864vozWqvL1Z3fglJ462yaH4pEjUUOQxfLnFT1FA7l3qGaJOm/PvMqNglV512282UfqLkp/CCZZPeef6AU6LsPVLqET3D5R8jOz2nNIxJuynycxp0tP7Kp/+i0LqH5PIxn718e64CkADH3jtNdzOIKXT1f+0ZWm59yewdbxM3Si3trRnlOA021W/yq+4aDKI39iNDxrh+kXmeyyLm3HNHfWMuMB5RK74mdBURYYojLEkETj6KQXyF3dUoXz4NPRbkrQRQ1bi2Jgx4BAk1LPRuN8ZhHnXlt9ZPoM1z5Ig5Ujy3wEZsObbBkCFZNiMN4XLZm7lZI2KfnApK+dUC4aAjxSxVeYOs8hjFHs2AoNbRgLBMGMJPBz8g6iw/pjYxGpk6jk70mmHQDK8oqOBznld0wJQJIcJucJDZmRGvbuT/eLJAD1nNKXV+YjUtEC16GNtmZxadTbca94Lbn/Op+302z3ZhVPFkdeAuIJXBhB2SMtopDvCXmSLDazybE5gQEu9lICI0Uihz7NPdOobAN4rQPBiubWptazjr0Cjrk5jwLoyQXv2IjOty4Z77Jd8PjJz8+dEKeqYFUTcDrhbd3ZQpUlkvCshscX5/GH7Q4M49hY6NLo= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(36860700013)(82310400026)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 15:38:23.3323 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b07bc2cf-550c-48f7-916d-08dd478d74f8 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=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000971E3.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5911 Commit 3f9e07531778 ("cxl/pci: simplify the check of mem_enabled in cxl_hdm_decode_init()") changed the code flow in this function. The root port is determined before a check to leave the function. Since the root port is not used by the check it can be moved to run the check first. This improves code readability and avoids unnesessary code execution. Signed-off-by: Robert Richter Reviewed-by: Gregory Price Reviewed-by: Davidlohr Bueso --- drivers/cxl/core/pci.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/cxl/core/pci.c b/drivers/cxl/core/pci.c index 2ec8c97ab160..f8e22bc278c3 100644 --- a/drivers/cxl/core/pci.c +++ b/drivers/cxl/core/pci.c @@ -419,14 +419,6 @@ int cxl_hdm_decode_init(struct cxl_dev_state *cxlds, struct cxl_hdm *cxlhdm, if (!hdm) return -ENODEV; - root = to_cxl_port(port->dev.parent); - while (!is_cxl_root(root) && is_cxl_port(root->dev.parent)) - root = to_cxl_port(root->dev.parent); - if (!is_cxl_root(root)) { - dev_err(dev, "Failed to acquire root port for HDM enable\n"); - return -ENODEV; - } - if (!info->mem_enabled) { rc = devm_cxl_enable_hdm(&port->dev, cxlhdm); if (rc) @@ -435,6 +427,14 @@ int cxl_hdm_decode_init(struct cxl_dev_state *cxlds, struct cxl_hdm *cxlhdm, return devm_cxl_enable_mem(&port->dev, cxlds); } + root = to_cxl_port(port->dev.parent); + while (!is_cxl_root(root) && is_cxl_port(root->dev.parent)) + root = to_cxl_port(root->dev.parent); + if (!is_cxl_root(root)) { + dev_err(dev, "Failed to acquire root port for HDM enable\n"); + return -ENODEV; + } + for (i = 0, allowed = 0; i < info->ranges; i++) { struct device *cxld_dev; From patchwork Fri Feb 7 15:37:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Richter X-Patchwork-Id: 13965312 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2064.outbound.protection.outlook.com [40.107.236.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4127523FC5C; Fri, 7 Feb 2025 15:38:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.236.64 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942711; cv=fail; b=KdYk21AY+6GELZ7qteMK7w8cjFyNQZlHWjMaT5SQMFPoErpA6x76H/N76dnr7NWdt2nyiJQJT5EaTE3Wsqa5bpWdZGt3LgR+1gg1CaZb3456SJeis7p+zRDvWT5oMMdxppCyjYaIai4xDu9HC69OSXQKNwhvZOxa77Zj+RaBvZw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942711; c=relaxed/simple; bh=Hgo2mJan26bzpQKhmqL9yTFcJQmaQeLw19Fr0mTQu5I=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=IvCxoaNukCpTBsAlWGcSKIqRrP3+uUAWe9T/7831qZVp0phKqBmtoEdS1BxH6cGDB/fK8ZSHdPRRDSM2MrTKm9BQZqKWBMZdD3j9IVPNj1YcUweKdejgbTp+BqkjSgO8nrZq9LmpvziZ2I2rl1gR86S+MA3NYwODlLo/DNS/GSo= 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=qNsmpYbg; arc=fail smtp.client-ip=40.107.236.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="qNsmpYbg" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vy7oI+bEn2XNDKK3Ui+b+70NoVMONAXetA2BEf5DjyU4RuND2wFIyIjj8taHNeIy7XCk+dNHcjY8R7CeSQmVIfphtOEMRtD94LYSSYmizQDL2ZLI2aMDz4pfVXfcmgPfmYMcY8352g7dHfWIS7Xdv6AZ3/w0b0qrSkkHSGSnSJi4sPTiDRN4I+ueyp2PPGOlYUdjTPQ5e7D3aQuzTPGcFbI/SZ2K3QG3RGYA7fSncH7mgcjeWAErWn37TXxSZvS9wbjRcEzfwHG8ihQ7m6PvyCBekF49nF1/C452UdwULtBUZ6Kkhu3oA0UMwmd07z/KHid7RBfncLPjkfFSZGrzEQ== 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=jQRYcZ2CQSotKxtRSZwQlkHx6ZLG1H2OcqNqr0Bgwc4=; b=yJh5NzFleGEtFq6UUr+nsUaPeyybtfe/6J7CDXvCTVcnfS8BgpVhaUP5Ed7i+lsGkhIzuM/BdE1GO/yZjCmETSXnsXBD8909PqOKsYlmBaQosbK4Sns+1KbkswUv07NMWZ0nRA+zbzuIqGNAJmVLFI878cQGV3DJREkZ1r09RI9O5vFp0k6plesYP9vQVv0Q2Jadsfkplt6f5vQIyJD6Vn4UqJe0UjOcc9cvdDzPbgo2ocptjD5rTyz4M8cf1NyieUD7TozOfuc7ussYUHT8T8oA/8IptP4w34VBHv7/4RvZ9tU2JOJWoTkAr+PhOaS4uYbVEUL9ez1xGzwyV1MrEA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com 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=jQRYcZ2CQSotKxtRSZwQlkHx6ZLG1H2OcqNqr0Bgwc4=; b=qNsmpYbgHls71Lmh3Vo++/SNeKv1ecXRyKmbGgbDsKIiJovobEHan0v8L8DpQCPqJR5SFyBAjLES/vjxvTsRx1akwqbjBd4EnCVk/dtLtbFUdYuCBY/sEZFXkBQn6ZangrKnVNwLhCYH99xUz5rHqKU5J+P8JGtRA21avL3ExuE= Received: from MW4PR02CA0010.namprd02.prod.outlook.com (2603:10b6:303:16d::8) by DM4PR12MB7549.namprd12.prod.outlook.com (2603:10b6:8:10f::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.14; Fri, 7 Feb 2025 15:38:27 +0000 Received: from MWH0EPF000971E9.namprd02.prod.outlook.com (2603:10b6:303:16d:cafe::14) by MW4PR02CA0010.outlook.office365.com (2603:10b6:303:16d::8) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.29 via Frontend Transport; Fri, 7 Feb 2025 15:38: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=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000971E9.mail.protection.outlook.com (10.167.243.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 15:38:27 +0000 Received: from rric.localdomain (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Feb 2025 09:38:23 -0600 From: Robert Richter To: Alison Schofield , Vishal Verma , Ira Weiny , Dan Williams , Jonathan Cameron , Dave Jiang , Davidlohr Bueso CC: , , Gregory Price , "Fabio M. De Francesco" , Terry Bowman , Robert Richter Subject: [PATCH v2 03/18] cxl/pci: cxl_hdm_decode_init: Move comment Date: Fri, 7 Feb 2025 16:37:38 +0100 Message-ID: <20250207153753.418849-4-rrichter@amd.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250207153753.418849-1-rrichter@amd.com> References: <20250207153753.418849-1-rrichter@amd.com> Precedence: bulk X-Mailing-List: linux-cxl@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E9:EE_|DM4PR12MB7549:EE_ X-MS-Office365-Filtering-Correlation-Id: aae177df-84e6-48b2-577c-08dd478d7760 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|7416014|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: p5VT/j+FthnCOwPzbAVD38p/qN2xX9pigRNm8DPrK+WX+EHDUoejm5HKwXt8fPRaE97R9ga5LdcW9ZrDZkrrVR7uJQrFyvGXB+Yp02FBIOFzzY/sbmEBWmhIdANJWuv/Ec1Yf6EIgsVUiwE1pBCuwj/z9cu9JHqOuSbFbVOBCUcnWmAHhj3z2JQpT+Xct5bnVxMP++UF9goUEzP9lK6snd5x8YHE2abdmuFDsGsQeOvIp4eiaFz+JyDk8h+Wmg9S12MnAKfijo/4qKexX7DBxC1AWEycw7QLDHxP1prNDGoy7DpjmddfZkvI0LMYj4YmAhvax4G/yzrAeBXlJ6v4/GX0FlpYyMTOgGtGhHiToWXk8VbSerMpMqC675EJTR3SYMoH536ME/Mo9ttwsUk+DVYFQ6joCbGfMnHDgmfRqd+Lt7rv+mwYDYREgLSkLtJ2eo1GnCR0LYYQMyO3ZlnNn15D3egJWMp8A0IoAKJpzuESNgBu9Pfi3h/oKJzeAhGUnUJKNQJC/Zh5fxRWeJkxULdNjh7rnFL+tDBz1XPYw7E6knciGPxh+F/yWlQh/eArMnnvq6MT4++fHNPlXG0YwCaxUhTC6TdzKPLcfeGt5GYH+Spi33eCU092TKdPD5ecSJaOELFR4QoWpGKPEEEaKj6bX25SJ0quacHk6rloHRYcuTOd3S74EpwBhLIGZiDPkDBAs3bgUvyyvBU9SrcsqMdoW9bkPYunaLF3g5cwE5MLevN6ug2nXaRneI4DYj5uIxDrvTpgPCjFC/wc+fxxmAvLSBNhis+Uf4e6vG+yDOX57IMw4KAeo/n5DADABrUdCJxEz595UkZiDm9Jm0WM35qR8RLx/xRvbxJl8IjfhrMe0LaSY3qV3FeXzIrbciX3jrK10cFO/apjcghZd8UXGTuN5uf+GhF/25BNLoye9O2J7VJb0n5caBXJQM8isX7lm6gzoTSokW+KnCJIhqzH+aN3+FreOXh7kr4MU5IbyUTtRQKxSw3GPzFDalsgmzDW/PNHQhGNErSzVrlHKllTewa1fn3KZQawDpm7TEWPMq6MHILeUtQk5Et/NT5diq08UZ2Xz031uTWZxzAeHkdKRWDgjvoDe0RdUj74MN6roocUf+1YXfZtVuhBoSmzsKC9AbWFLERcu7uI2EtKLVoUm07FyGbpLA0acjoKVackClmfbcppCTTz3yCUcVwbl6ciDz0BbioNM8qRLn99pvYQ4TODpCNirBmg91afudUnQCOFR2fSdLHCQY1wDanbHTblzjZIOy5ZIOWt4fUnj33FMOKDd4P7/VDo0T1ML+HnlffwdwTW5A/hsnV4BM3w/sR5iLgteKxhF1LMSfnqiPytfdEIHKOkqSeqGyfIR3d2HwjLyfdprZaVatltYvOB9nbOM2ETZG2btZZMFlKKhw5FL1qk3Tk3PISJazQl2RF7vFnPzwqm7wpieJS4rpzaYx3o8+pLzcQbY01qgIDN/wB3fnyRYbVB1esz6nHBoZXmCH8= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(7416014)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 15:38:27.3679 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: aae177df-84e6-48b2-577c-08dd478d7760 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=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000971E9.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7549 The comment applies to the check, move it there. Signed-off-by: Robert Richter Reviewed-by: Gregory Price --- drivers/cxl/core/pci.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/cxl/core/pci.c b/drivers/cxl/core/pci.c index f8e22bc278c3..c49efc419285 100644 --- a/drivers/cxl/core/pci.c +++ b/drivers/cxl/core/pci.c @@ -419,6 +419,15 @@ int cxl_hdm_decode_init(struct cxl_dev_state *cxlds, struct cxl_hdm *cxlhdm, if (!hdm) return -ENODEV; + /* + * Per CXL 2.0 Section 8.1.3.8.3 and 8.1.3.8.4 DVSEC CXL Range 1 Base + * [High,Low] when HDM operation is enabled the range register values + * are ignored by the device, but the spec also recommends matching the + * DVSEC Range 1,2 to HDM Decoder Range 0,1. So, non-zero info->ranges + * are expected even though Linux does not require or maintain that + * match. If at least one DVSEC range is enabled and allowed, skip HDM + * Decoder Capability Enable. + */ if (!info->mem_enabled) { rc = devm_cxl_enable_hdm(&port->dev, cxlhdm); if (rc) @@ -454,15 +463,6 @@ int cxl_hdm_decode_init(struct cxl_dev_state *cxlds, struct cxl_hdm *cxlhdm, return -ENXIO; } - /* - * Per CXL 2.0 Section 8.1.3.8.3 and 8.1.3.8.4 DVSEC CXL Range 1 Base - * [High,Low] when HDM operation is enabled the range register values - * are ignored by the device, but the spec also recommends matching the - * DVSEC Range 1,2 to HDM Decoder Range 0,1. So, non-zero info->ranges - * are expected even though Linux does not require or maintain that - * match. If at least one DVSEC range is enabled and allowed, skip HDM - * Decoder Capability Enable. - */ return 0; } EXPORT_SYMBOL_NS_GPL(cxl_hdm_decode_init, "CXL"); From patchwork Fri Feb 7 15:37:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Richter X-Patchwork-Id: 13965313 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2062.outbound.protection.outlook.com [40.107.94.62]) (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 D3F3B240602; Fri, 7 Feb 2025 15:38:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.94.62 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942716; cv=fail; b=Ai7RCZDit2tLPwsF8BykvISJ32CLXmjnOG5DCD5i8QBVTS9RPS3aFrk2iQaTn2O1/sPXGwWUSM7fC9p7N6sWwPjby02OVoC23EBT+mBOsePxePvsL0SCovSJYqJdX0lmfnCWUHMCr+AF4jwNQmyZjwfiDuCLDT/LWoNWOTQNgdY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942716; c=relaxed/simple; bh=dioNjkoT90Atp7QGYjLwOzJCaYAhS2NycMd1Zj/e6Lc=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=dUm4PjKl1gWt4G/fXhN+NI4jYtO27zetVzwqWpJ/xq6HX9ksOHx0eh8z5ULOrJKmKayIFk0U1iEyHf5sCnAZkdjVPfJKJAugmzcivwvtWUpMIUm6DIm9U48E+2HaeoRHbDEC0dwhu5skQU7ob14bxsIqjXC9YSaStj2hS6LeMTM= 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=mJpeavkV; arc=fail smtp.client-ip=40.107.94.62 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="mJpeavkV" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KG2AkAACAKqPwlDyrY4GyDrlPnN8rqnYrGYC23qae9mkPy60+pRvqZikvC6voMDJWVM5dZI2SQ6HS19TFXwzLVv3v/ukWogvwLTGr7/n6HXXZXJxmkqFuIFZiVsuvAPrRo4hRU0RUpwLcVZqGtZVon9HYujE2iWdecb5hh7c8q3UQr2ye69uiST4rar/Fvb+T2rDG98JmXn7UR6zHaxa+kWp4QdXuea4a0L3QI++risLkTQJkAWnEYpJeF/zWPRHEB1efjO9LdOOcGQ9ytetts7r8gzKuxv7Q51QpvNomqYEB+25B9QbHweoLNDxDo6v4V7kqF4zPdAmShTl4BpJQA== 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=M0Tk2h0WUjJRHWLlmiDGdxj8bfM0ksYPdcmBj1LGC1E=; b=gcqMB76C202Agz7m+vI2o6N2YzJHtC90pHippxr5RTXZ9NBIeQ0wm/GjFnhbcUXbXG2ccUufo3BKeI71k8XdFhXVrXq/nusp1fAMf0eJsJQoOGaercujF+YAZk/M6sTC5UuIUaTsgId4iEF7rUKW33caaY+2/STSOeS8MDIuPAO88lTzIs7f1Qe/yemUS5mKPG2gYC3IOGPMkpjrsW3Lfz5xBaNr41nGj4qPH0wkZ6VJRf5dXQilFAdQ49mqPYhluviJs9YmtFlnMjWk0M8kVcqwFwfzi9/706XhTK+MiNKlchz/BPtplVCoBIZpkVP5uvE3HYj+sumQ1593wD0C6A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com 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=M0Tk2h0WUjJRHWLlmiDGdxj8bfM0ksYPdcmBj1LGC1E=; b=mJpeavkVXK+IOrDEgzHqbFq/a+Rq6dRZdT7hmXq64fFNJz474W9iLvqZ/f/567dfFkGwvE460HkBHj0Cs4cAzyJeam/p3cDGGsGiaXv7vBC6ipdKngmmEg4f+ZNszt+EMneBg2wpDW9n8AN/4KNlk6SvHmixxWuoI4OLy/PjrmA= Received: from SJ0PR13CA0117.namprd13.prod.outlook.com (2603:10b6:a03:2c5::32) by SJ2PR12MB8062.namprd12.prod.outlook.com (2603:10b6:a03:4c8::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Fri, 7 Feb 2025 15:38:31 +0000 Received: from MWH0EPF000971E2.namprd02.prod.outlook.com (2603:10b6:a03:2c5:cafe::df) by SJ0PR13CA0117.outlook.office365.com (2603:10b6:a03:2c5::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8445.8 via Frontend Transport; Fri, 7 Feb 2025 15:38:31 +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=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000971E2.mail.protection.outlook.com (10.167.243.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 15:38:30 +0000 Received: from rric.localdomain (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Feb 2025 09:38:27 -0600 From: Robert Richter To: Alison Schofield , Vishal Verma , Ira Weiny , Dan Williams , Jonathan Cameron , Dave Jiang , Davidlohr Bueso CC: , , Gregory Price , "Fabio M. De Francesco" , Terry Bowman , Robert Richter Subject: [PATCH v2 04/18] cxl/pci: Add comments to cxl_hdm_decode_init() Date: Fri, 7 Feb 2025 16:37:39 +0100 Message-ID: <20250207153753.418849-5-rrichter@amd.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250207153753.418849-1-rrichter@amd.com> References: <20250207153753.418849-1-rrichter@amd.com> Precedence: bulk X-Mailing-List: linux-cxl@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E2:EE_|SJ2PR12MB8062:EE_ X-MS-Office365-Filtering-Correlation-Id: c305bdbb-3853-49fa-b02d-08dd478d7968 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|36860700013|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: 95HCFsLbgsr+3RFnqfxaiCYNlFBuoG+OZwBBASoNKy1NtIvB90lDxXK4FRNCSQe5dSKlh4g9EPi63UditGssdUGm7KHlJtnVc1LIdD0y2Fv6bQf1um/yVbbGn0eIXhFn+fhUK6yuvYwVHRYgvCfKgLQbeFGI2hi5zwf58ACEiUE5PVbjIShR5mP2XgYb5kT0ImKgRXQTyFrrcgxrsEz14DRckliw9vv2s8bmutXIcpKYZDGEaU76j/YCx55VcGBzuNETkrq7BrvTMgmdgKN9pw0wCPAezMKwKfPNpBzSW4HVgXDSaWRp8CSoXuccyis11nlIIRtwtMmIXhtJNddkpc+FE/D2RC5Fb+yxfLDcbEmbh9EQYJ1nFKIHRNHk44dsjo1YGfEvl2CRkkjIBUX2VW5UoKVyNQEl4xR0GsmLpFwX06r1lzjcku4PUDiCwTeULIMcLS51iVRC2/THsxcrOTbQyDXVS/bA4CbmlJXrGMrySyqXWb4DlvasBhK49c2eNgDuJpTPrd/Z09Nnd34Q0aqG8IRbLzlarN0nAyospxF4vFVq6WvZgK3iAY9qYU7g7qxwusjTMG9CQpA1N1fDGbUgf7GmX6vHhMJpVsNKAnHlEZRzAaTYu67C857AVcEKHBE8MCBBCmd6qiD7kw0uYPFxkRzumTVYjJ1/UIlP9fWx1ctqRIk5fFWwbgWSwsZSrBPECQqQsQ7Zvea4vIGhyBk+712AzBVpblPKP10W395pav4zxVm1XGhYo8R9gbTnHEcjQJHeS7e6ugmdYYHXxIot2NbwZ+/OObFwt5VCh5ajNyof5S3FgtW/RT4Ii9TMtrkhLVvnZZpLE3B42otFOwlG3XMkOYv/qR9dMKgrrlWF+4lK0sIld6haeff00jcZ6smu/s5bhIz9XWyguEQWCuqO4n2diiXE3HteCEP3Ie2C8tX7gXytgS88/CK3ZhJ9bWYMHjbERGrrhFWT1wmG5L+qXJrYFGwkSQNCiQUP83vOMlcRdxOVsJ6fh/NWordgZ7GXV84QjW+0QcKu2W3ffFIwGYK4cq0BSOzMCsJwj0xrIfc2zeA7samDQ+XRgRXia2Dp1OKf7goeDPHB1y6lxGvA3ynJsuNFYozs+HswmSeaR0ctzuyNzbJLB/Vpp+47exNxbsXRyxBEVo2LBj2fZ5gVzCxOwirq/2NhzeRN0wDjCnZ47l5xBDnGxjTRCL5cjLmevaVuxDCUSGS5WRD5TJan5N7KyelCwPhHER/w19YC2HDQk88jpaBmeFgS4zHchVtafIXZKDHqQq1mRZP63+kpJeeOuWjTlUyOzKVJDj2HJc3ajkvaLr0YpTN/CCBzrb/fmdJMIta2XhPljscKaJhNWLrC98q+gWAITogVKBZGNbLv7DLe0a/jJZHhQjiPhSR3NSLpnMKCEcBJmACyJmHxUwnfTdBSpf//h5Vq/n7s402GyK7wo1jP1T4R1NkrVn5T3WvldC6AWPfxBL/9frt1F+zdRIbvht0P4ECTLeE= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(36860700013)(82310400026)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 15:38:30.7780 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c305bdbb-3853-49fa-b02d-08dd478d7968 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=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000971E2.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8062 There are various configuration cases of HDM decoder registers causing different code paths. Add comments to cxl_hdm_decode_init() to better explain them. Signed-off-by: Robert Richter Reviewed-by: Gregory Price Reviewed-by: Jonathan Cameron --- drivers/cxl/core/pci.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/cxl/core/pci.c b/drivers/cxl/core/pci.c index c49efc419285..6333a01e4f19 100644 --- a/drivers/cxl/core/pci.c +++ b/drivers/cxl/core/pci.c @@ -416,9 +416,17 @@ int cxl_hdm_decode_init(struct cxl_dev_state *cxlds, struct cxl_hdm *cxlhdm, if (global_ctrl & CXL_HDM_DECODER_ENABLE || (!hdm && info->mem_enabled)) return devm_cxl_enable_mem(&port->dev, cxlds); + /* + * If the HDM Decoder Capability does not exist and DVSEC was + * not setup, the DVSEC based emulation cannot be used. + */ if (!hdm) return -ENODEV; + /* + * The HDM Decoder Capability exists but is globally disabled. + */ + /* * Per CXL 2.0 Section 8.1.3.8.3 and 8.1.3.8.4 DVSEC CXL Range 1 Base * [High,Low] when HDM operation is enabled the range register values @@ -426,7 +434,8 @@ int cxl_hdm_decode_init(struct cxl_dev_state *cxlds, struct cxl_hdm *cxlhdm, * DVSEC Range 1,2 to HDM Decoder Range 0,1. So, non-zero info->ranges * are expected even though Linux does not require or maintain that * match. If at least one DVSEC range is enabled and allowed, skip HDM - * Decoder Capability Enable. + * Decoder Capability Enable. Else, use the HDM Decoder Capability and + * enable it. */ if (!info->mem_enabled) { rc = devm_cxl_enable_hdm(&port->dev, cxlhdm); From patchwork Fri Feb 7 15:37:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Richter X-Patchwork-Id: 13965314 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2042.outbound.protection.outlook.com [40.107.92.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D22AA1EEA23; Fri, 7 Feb 2025 15:38:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.92.42 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942721; cv=fail; b=ne53+uUlQFvdUsBBejggJT48+rm87tXyozRGvjbz0U3ReLq5/6vje8FLwnPSt9PidABoFfggMAEIzUHiFQFo/EYGMD3yVGRpEzZHrFw7ZK+S66gWwXZjJi+25eTguyR9+FPYt1UWbLpv/FMM6UhHXjDsj8/usLWEr4MZCwZObZs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942721; c=relaxed/simple; bh=tuau+x9ot/3hwgTSZBu6qQJlGlVNdgQMIBuicgC46Gs=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=XUSHMfBSPe0NNW6Z3vTYu6IX6KILgFGU6vFM02jDtwN57x5OzdxU48D58DgRjnMlHNEPp3ljGQmcmxR06wGQp83XEMINSrEAF1YwsCM5loKdu9AbCfC9b1Njrtrgz3kV5Po/Mk+OxOmhBNdsWpw6aR3Mody6x+pDRUczWBYori4= 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=qdn5b3XC; arc=fail smtp.client-ip=40.107.92.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="qdn5b3XC" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AfA7AQ/pYkYJGYVgnS8YTEX1otNGclJIx4+7R8m8EHqX+jTG83mjljEafrgfZYuYu1mVuT1mmmypld9kRl8Hh0zWEMkD8/Xn+GZVTnpM8AwAsUbafueDvvPhS88yOYYRs+VDRRZQIijRPseHJPap6LEUAtMeapTSO2PHyUuPc0MId8GixV3wIwMk5LFhXHtmObY1x4Fo1Bpw+HLZ4TCl4e+N93dn3IJTLzb0TAKprOi2+8DO81MOhb9z5xnIlwLvcUDPjhvpC/UfVNTBhivq6LIOC1wIMABKsoVUVaZUzyvO8KFcbzMWlIPyEhHv/E9NJW8YnRtp1pTCD5HUYIMUSQ== 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=Q6uNmjQkdXuNYRpFAWJg42anHaB7ViVkriROcPbFkII=; b=nzbobAmylw7cSHBM8Scp+QOEjel6RkNMUTwontWTDsxboAHSDIc4xCqAg94pBQjue14T5J+iRlcuMQUCw2i6uL7pNuiMCkhRajOv+aVu8HUpNJWRBe8gu8h7C68nHIaQ8Rzj51oMB4smySs80/gmvT9ej2JBZWMRvK7TNnmM5FB/DEG3kBynW5MDHkRziYZnvTV6U+H0N8URRUGNg/kmMJxmMlz6XEldMWMVK+rm9lG6iKjqLFD8JOm8bCO+Mh7AIjdsbo+tQdmCUz9HlLxOcRu/M76GPrCY5fwznhCzOFRdzlbl/dg4MAsYpUfNkFz2YU4Iu0dH77KXlRzIosSt1Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com 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=Q6uNmjQkdXuNYRpFAWJg42anHaB7ViVkriROcPbFkII=; b=qdn5b3XCgFwYsbDWEcv1hlI1UBiiDvFDYbZ+dRxdbklLR9JETuWiuDhlYBTsNDontmrxpxNgea9EHgrn4++NfDcnKQFs4V36HpSAsXXHbIaq+7Ujkd+5M+UbPBXnSzyUUE37Emi4Fd6kgjUR5qDwrcoF9+Fhi7bg1zVbtdIyh1Y= Received: from MW4PR04CA0117.namprd04.prod.outlook.com (2603:10b6:303:83::32) by IA0PR12MB7532.namprd12.prod.outlook.com (2603:10b6:208:43e::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Fri, 7 Feb 2025 15:38:36 +0000 Received: from MWH0EPF000971E5.namprd02.prod.outlook.com (2603:10b6:303:83:cafe::e2) by MW4PR04CA0117.outlook.office365.com (2603:10b6:303:83::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.30 via Frontend Transport; Fri, 7 Feb 2025 15:38:34 +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=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000971E5.mail.protection.outlook.com (10.167.243.73) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 15:38:34 +0000 Received: from rric.localdomain (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Feb 2025 09:38:31 -0600 From: Robert Richter To: Alison Schofield , Vishal Verma , Ira Weiny , Dan Williams , Jonathan Cameron , Dave Jiang , Davidlohr Bueso CC: , , Gregory Price , "Fabio M. De Francesco" , Terry Bowman , Robert Richter Subject: [PATCH v2 05/18] cxl: Introduce parent_port_of() helper Date: Fri, 7 Feb 2025 16:37:40 +0100 Message-ID: <20250207153753.418849-6-rrichter@amd.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250207153753.418849-1-rrichter@amd.com> References: <20250207153753.418849-1-rrichter@amd.com> Precedence: bulk X-Mailing-List: linux-cxl@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E5:EE_|IA0PR12MB7532:EE_ X-MS-Office365-Filtering-Correlation-Id: 03fa6cf8-7fec-453a-4fdb-08dd478d7bba X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|36860700013|7416014|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: kK+K1iyCMJjzQyPld3Dyhapxk1VFuVlrwli58dQ/0VVH/tOZDkUVTJyEOkWwhR3dGmKcfxhQFtmw9Ai7mLrJdfbqk7sv/zMUajviKgGlzP1cSX8YAtXka+gjUYeXmqkuv23ieYbEOHoPMoCzV3C42rKsieYjYJW5IowOQm5r4SWtVy2z2YJzfkKEagYWbHdc3jFR69ktr4YkDoyv4xMDeaEJ39RhallOZPqo+IT35CqDZ+Q8KxSUaRBi0QryiOo+xDdB2oynbDO1KMcO7c3Sdpc9+fzNfCIazsUad6/4jaJuezWc/06WyW+9MdDtCZKDHurhK3ZdUrmx91ppF3SOwMfb7U9+6WsMwyxG67FeLoqFhgJ4lejyQUZzP4aCXOjrfb1dUr8wUI1orCZ3C+kxiGXF6RHtKcuoaMM0R+OemKLZJ/iJIAp9aZ5pJzhuAufAg9+KbJSW6hrMoZA2o2BOQJayNbZAJZsq8Pz4CvKL0SqJhICpISXt0fP1r8JleHOVsZD4ytobQ/NHPvmvfpysD0kEaIOEEQJSEFEhmkhOXohNONNnfXQZGpp5CpaWkd8MKlJOTyRb1u7iAhSHbFvE9iBujvEgkA9RJmjahloV2MpGwIkKxlnaHBTQ/SEKSBXo5DV/Mh3wsZ7rJOBccwgZrCuiFQlUrSz9Ta/aKbUf8ZFl9aalcwosoKYxjxblcnkJlmBNciBOJT5hOC65iz5RZdOVBaYhwl5z1v7Ol1ypJ6pQNHu6/d5giGWx3YF40q3xnLSaF0GJ7nnE8OJJ3CGiJNZQlW2rF6nDq9IHUIPhnmxFbB3RupwUrFOaSZ2JbX+Fs0fbTt1eHXebQgZutzEU6k+0qsTszW5qVg5LmBPkjYJMpi3qkN2rHHvZ4L8JsuxPAfgX/hpZ3WBfI+5BeQacfVVJ5IjVXvUoXwdQjPYVerWn6dEY1BPuZqX6CZ5dnjezLoG21NRCY4jsYsGzoKIdUhbzBBNzU3jXtitxy40BLDwz8PsdStodHdlvTKB7qYrwTpTt5NmjrGv1h1YDusk5OP0GYZI8sORrpxUDiVXAl43ooX36DyMg6RVxI7L83Lpgvf0RJzOG6n7As5vo01CCk2//WZpgCTP71qs+eHxo7lbAZKQQ1L5rFf5BrN6TxumlvQizz1apSgMCB+POi2YKNT5SpC7s0lKHirKU/N8uYia5/GltGxM2iKR5gQ4V2IV7H8rKbLLRMe+I7+wEK7kbsqT9XuDHZeH7FTiffgatVVw6qwI+5FV3DkwlaexlBiY3qlP31U+i4T5ziSFmh/t2SGFvG9xKqH0/v0AhCTIIMpvuNtZkfLR20XpeYjiLefMyuaifcXliHwLH+fyDCyZ93t0+/Z+ItaQt6UBKkac/+FP6w/gieuEF7Fw30IQHFPaQ3pYeD6l6UH0Ey8mI7MdmTGoKGLGGR86Qh1ZnJBMzLO85rn6M1DHf7JCtY+F+24xNN5AJNW+DoZeA4GF1lpEQBfNn7E6P8KiPKwREkumPkAA= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(7416014)(82310400026)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 15:38:34.6528 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 03fa6cf8-7fec-453a-4fdb-08dd478d7bba 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=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000971E5.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7532 Often a parent port must be determined. Introduce the parent_port_of() helper function for this. Signed-off-by: Robert Richter Reviewed-by: Gregory Price Reviewed-by: Jonathan Cameron --- drivers/cxl/core/port.c | 15 +++++++++------ drivers/cxl/core/region.c | 11 ++--------- drivers/cxl/cxl.h | 1 + 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/drivers/cxl/core/port.c b/drivers/cxl/core/port.c index f9501a16b390..d19930c009ce 100644 --- a/drivers/cxl/core/port.c +++ b/drivers/cxl/core/port.c @@ -606,17 +606,20 @@ struct cxl_port *to_cxl_port(const struct device *dev) } EXPORT_SYMBOL_NS_GPL(to_cxl_port, "CXL"); +struct cxl_port *parent_port_of(struct cxl_port *port) +{ + if (!port || !port->parent_dport) + return NULL; + return port->parent_dport->port; +} +EXPORT_SYMBOL_NS_GPL(parent_port_of, "CXL"); + static void unregister_port(void *_port) { struct cxl_port *port = _port; - struct cxl_port *parent; + struct cxl_port *parent = parent_port_of(port); struct device *lock_dev; - if (is_cxl_root(port)) - parent = NULL; - else - parent = to_cxl_port(port->dev.parent); - /* * CXL root port's and the first level of ports are unregistered * under the platform firmware device lock, all other ports are diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index 5d252dfae138..54afdb0fa61c 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -1734,13 +1734,6 @@ static int cmp_interleave_pos(const void *a, const void *b) return cxled_a->pos - cxled_b->pos; } -static struct cxl_port *next_port(struct cxl_port *port) -{ - if (!port->parent_dport) - return NULL; - return port->parent_dport->port; -} - static int match_switch_decoder_by_range(struct device *dev, const void *data) { @@ -1767,7 +1760,7 @@ static int find_pos_and_ways(struct cxl_port *port, struct range *range, struct device *dev; int rc = -ENXIO; - parent = next_port(port); + parent = parent_port_of(port); if (!parent) return rc; @@ -1847,7 +1840,7 @@ static int cxl_calc_interleave_pos(struct cxl_endpoint_decoder *cxled) */ /* Iterate from endpoint to root_port refining the position */ - for (iter = port; iter; iter = next_port(iter)) { + for (iter = port; iter; iter = parent_port_of(iter)) { if (is_cxl_root(iter)) break; diff --git a/drivers/cxl/cxl.h b/drivers/cxl/cxl.h index 6baec4ba9141..0d7aff8b97b3 100644 --- a/drivers/cxl/cxl.h +++ b/drivers/cxl/cxl.h @@ -721,6 +721,7 @@ static inline bool is_cxl_root(struct cxl_port *port) int cxl_num_decoders_committed(struct cxl_port *port); bool is_cxl_port(const struct device *dev); struct cxl_port *to_cxl_port(const struct device *dev); +struct cxl_port *parent_port_of(struct cxl_port *port); void cxl_port_commit_reap(struct cxl_decoder *cxld); struct pci_bus; int devm_cxl_register_pci_bus(struct device *host, struct device *uport_dev, From patchwork Fri Feb 7 15:37:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Richter X-Patchwork-Id: 13965315 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2081.outbound.protection.outlook.com [40.107.237.81]) (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 58E252451D1; Fri, 7 Feb 2025 15:38:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.237.81 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942724; cv=fail; b=YejyuWFFQ/YNuyptWNqfPKbrrb3toYTCgvDNphrgiX+1frhUou5AOsJcPylhqfaUvrFrGOCOaQLcTuWx+E1/lUHqinOprCZmlK5Uryc7BjD1kZhDrfeGqH4m+gAe3rvaV7DdiEuYtzcgTpbSRRMh5Pxotf9iZChI1qfIyn2Coj4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942724; c=relaxed/simple; bh=P+GOyHJrmZ20apYZCMRpPuQz2k1tboqLxRGHRTMTdMc=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=mZP4BV10yzbZW8ipuhRETjtr0naVCU4MlFEJ+93VthygmJ/Hsmh7ztJG70ob8I2Zla+ml/WgDsJFjGhucBbQZtjEMUg4wmy2b+7BqXHLs6/NpgvIb/0+gogAulgatU3rjhOjzZmgnBKHe/ZlYzUFIjVlA0hQm1y0rLdKVEUe1c0= 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=25iQRD0c; arc=fail smtp.client-ip=40.107.237.81 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="25iQRD0c" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XIb6ocuxeFdvQROquQAT4pfKyGViEf1WJTFnm3YjOA2U+ecUeil/DWGxaAmDLMqK4zPqVnvQMiWpkibx8IRtsBpVv6IyStVOdv2PIwXZk8rvSwY/Zlzimegl8BRvtABjsw3l/z51XqU2HXhKoMb+000u5DGX9TSfOtxfHhcziA6QDThVWO4tw8GJbQ1XmoP5w+11cVWgGMbRqd975vN9L1HWHi80kcM21n6ScPB4tE/L6rGmgFLlMh+jd8lm2idPeFi94nXlIWtiBvtNfwd+6GXEDdX+t3L7WpT+EuQ6y7QZb5E8TZIizGv7RV2yyLZCo+lwXvH5zlrg8jaZMpiqTA== 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=D5d5NSPOavwW0hA28P4ldcuJA6Ho6BmwrdgySGQcDyw=; b=CD53P4v2pys8pO8k83WXib1KYWy2TrK1GDuDVNs+hqY42qAqZASHcZzjdErQMJ1GvKIfBtzvRGkKpwt1nr/fN6Lstf62QdzzWIA2M8n/vKR56Cgvp3ydHPiA8g6fLrF7KIw11X7UXCPHkhXxjcd3vApuP5aqcuT5OohFmP6mVfEXYZtm3YqwxKPh/cTkcQNUmDVs7X/jLeF+eqRQ4D2QCwLwdRP0Zd2Mfki+/1SpNDu33dVk1veCIT/eGktWlKpmFvsYJiY161siX/FjL18E/SemtQ/2MCzzbKtv7uMBPcp++K18oUNgPlVleuPacxxj8kNIdKoTxUcl1sF17HuUlA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com 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=D5d5NSPOavwW0hA28P4ldcuJA6Ho6BmwrdgySGQcDyw=; b=25iQRD0cRB/sQss1iKUOePeToCdz+oRgZ5N5FNXLkw9CIzTYb4VkFaKP5qOi58sJ7kW24GnqhEt/NJB04FrlT7M+SL6l6ass6CBcxjmDVEoMdHuRPRWX+7ekQylXIzo7xnYo8Kh8HXX0phgN9ryTbmaw9K7OEmJnz19iIf6OvXM= Received: from SJ0PR13CA0106.namprd13.prod.outlook.com (2603:10b6:a03:2c5::21) by PH0PR12MB8098.namprd12.prod.outlook.com (2603:10b6:510:29a::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.15; Fri, 7 Feb 2025 15:38:38 +0000 Received: from MWH0EPF000971E2.namprd02.prod.outlook.com (2603:10b6:a03:2c5:cafe::4a) by SJ0PR13CA0106.outlook.office365.com (2603:10b6:a03:2c5::21) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8445.7 via Frontend Transport; Fri, 7 Feb 2025 15:38:38 +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=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000971E2.mail.protection.outlook.com (10.167.243.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 15:38:38 +0000 Received: from rric.localdomain (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Feb 2025 09:38:34 -0600 From: Robert Richter To: Alison Schofield , Vishal Verma , Ira Weiny , Dan Williams , Jonathan Cameron , Dave Jiang , Davidlohr Bueso CC: , , Gregory Price , "Fabio M. De Francesco" , Terry Bowman , Robert Richter Subject: [PATCH v2 06/18] cxl/region: Rename function to cxl_find_decoder_early() Date: Fri, 7 Feb 2025 16:37:41 +0100 Message-ID: <20250207153753.418849-7-rrichter@amd.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250207153753.418849-1-rrichter@amd.com> References: <20250207153753.418849-1-rrichter@amd.com> Precedence: bulk X-Mailing-List: linux-cxl@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E2:EE_|PH0PR12MB8098:EE_ X-MS-Office365-Filtering-Correlation-Id: 17750ecc-58d6-4d93-9353-08dd478d7dd7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|7416014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: uub1YC17GaWx5bnOkyhHYRd50usWhKFhgqIr2IE1dxAub6VFPyH7MaKDHQGzROtViEPN4Yj+YOTgqBsGgogkvl1Bhc3yWJeiV/0HGEEuFHql2S6fzhCz1WZoCDI5fNAtmV982h0mOxM0zywk3oV71NNx5p1JNzKrJ6VzQznqMeLy8guvaaXdbFZove5nkwA1f07bpU8jtozm44dahp2/PBYwdJSKR0w9Mb8g4wRH9h7EV7cAEerDDcEmdF478N44Sd4b2rNic+2FugaMOc6kIXEUvqlYG2qDw124A2jn33kCCtBcUrO5L7XkEzjvuxsl/x2eNVzwFR+oDVvHkSNaGs92AQ+Egw8gJa8v16/C/PEhIrczBQnKxu27s8hXVHbKMqpijdbTOQiA8SGQTZoRqO7/hhEFSbhApNlC3sJ8oobRKM5hl4E0CZlY9nZehypdgspsW73PEmz40kxzjwXgNwb2KFg/Xz6X67CImZgQitvyfWV2gMj1R6gqhYr/iNPIDhi+rnrytHNghActUjY9BgaLmdiDK9sjojNssM0VsMYFL9xS/EF0ap8koy8EqQQQ1hTHo1KYvRgUK9p5xh16PVAdVZLWZ8TFFA8zlFoToW7Us6/Rey2d0hf/hLZB6HXQFNYxXbstNMzxDBmA0u79+o9TS4qtjcOUIwXSYnMa9AKEzbthhz5pB+znUOvvJHhz9I4WuNK2ZSDLeOnK95lCn9naLEYhRvdDxcReo+Amxgh5cavDqI1CLCnQt5KZKscWmQQ9yOUKx7mQ2vXI9twSx0rgZ9ZGw7Wu9A52Hw9kuD8DftJNNadF/y7wJGBCfG3u2XyTMkf3uWBuJ69f2zmyvDCb9/nqB9YfoYiXRKGy3G6nudsMNMb4JAnHwHerGfKPndeVVU0oO/v7rp4vNsLLHSC9V1P8mvjRGq7DfMvvl5/jWEYP5lLMc2MWHanQnHAst3H+b8E2M5FRT8xQPWQr0tH4PyX8Y3uC1hlDmLFEFvJKSg8LDv2M/mqLY3c03Kz/ARFRmas1ABVF/EA+eU78Gcq/s5rmRqU9MSAXeJ6wurlZDjvbAXOhNfRQrx0rWQ6R/zZCIibaI138Tis5lhnxG2ula9zMFndD2v/mzmLD3Tn0auwWmuSWzWqyziXX+9hMP+5178Z/LDYYJamCzkQhlhPRzTNVpCYUIxS0Eca/zzOJkalj90n+/oG7CbQgQphhNhgQJea4S5TXgQ+S/WmTIZaE6eCZXvhw/76Sc5zHj/hx0BaVvZAwOsondQgOdKaSqZIaSuX6JgNlTCi/AmuuzJWch7Est+EcpjtBxSpk451XvncsgJHbb6mkxKUwPTzn5s7Vwxk3UQe6rGk5ZcnweOnMcPcPC0YgLWCYjI5AUvC14e/j+I3VZWKExt7xRJnhBkPHZAlWPifnEdVfPFetRFXQK+YGR0+8dBuysM0U0ixw94mVHulieSQgiRX/x7icMqZMmpgndrNfaEIf5TU304zcCF/hoLSqASpjqfIwgIQ= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(7416014)(36860700013)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 15:38:38.2156 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 17750ecc-58d6-4d93-9353-08dd478d7dd7 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=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000971E2.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB8098 Current function cxl_region_find_decoder() is used to find a port's decoder during region setup. The decoder is later used to attach the port to a region. Rename function to cxl_find_decoder_early() to emphasize its use only during region setup in the early setup stage. Once a port is attached to a region, the region reference can be used to lookup a region's port and decoder configuration (see struct cxl_region_ref). Signed-off-by: Robert Richter Reviewed-by: Gregory Price --- drivers/cxl/core/region.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index 54afdb0fa61c..13e3ba984a53 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -850,10 +850,17 @@ static int match_auto_decoder(struct device *dev, const void *data) return 0; } +/* + * Use cxl_find_decoder_early() only during region setup in the early + * setup stage. Once a port is attached to a region, the region + * reference can be used to lookup a region's port and decoder + * configuration (see struct cxl_region_ref). +*/ + static struct cxl_decoder * -cxl_region_find_decoder(struct cxl_port *port, - struct cxl_endpoint_decoder *cxled, - struct cxl_region *cxlr) +cxl_find_decoder_early(struct cxl_port *port, + struct cxl_endpoint_decoder *cxled, + struct cxl_region *cxlr) { struct device *dev; @@ -917,7 +924,7 @@ alloc_region_ref(struct cxl_port *port, struct cxl_region *cxlr, if (test_bit(CXL_REGION_F_AUTO, &cxlr->flags)) { struct cxl_decoder *cxld; - cxld = cxl_region_find_decoder(port, cxled, cxlr); + cxld = cxl_find_decoder_early(port, cxled, cxlr); if (auto_order_ok(port, iter->region, cxld)) continue; } @@ -1005,7 +1012,7 @@ static int cxl_rr_alloc_decoder(struct cxl_port *port, struct cxl_region *cxlr, { struct cxl_decoder *cxld; - cxld = cxl_region_find_decoder(port, cxled, cxlr); + cxld = cxl_find_decoder_early(port, cxled, cxlr); if (!cxld) { dev_dbg(&cxlr->dev, "%s: no decoder available\n", dev_name(&port->dev)); From patchwork Fri Feb 7 15:37:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Richter X-Patchwork-Id: 13965316 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2077.outbound.protection.outlook.com [40.107.243.77]) (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 1F8F323F29E; Fri, 7 Feb 2025 15:38:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.243.77 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942727; cv=fail; b=W2sjCCpL8v0FMIemDOsAh45kIY1ZL3X0NDN5dwgbX5qz7Ws+wcMePhwVaz1Xa+ehMJRcX7AwsfDWYX6x5rFKaKXw5NXQ1pRQFDqje+hx406YQPCdiIyB4sSjUoVXRYvhMjstIEofs/vskLyMXeiwpQb2mX2ugzWClWHZ1NqFUUo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942727; c=relaxed/simple; bh=DvpPqMdP/uzpP4ovh+NgZA7kh7jcy2+A7rGDs7JdLIc=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=iSPEFz56Xy25KlgIjjRXFlRPs9CjGR0VzUyhX00iqU9DrTEgLUOmyPnTOhGLBQ2Bst5xW/5H45X5st0UxVASUrk1pJ7zY2tYjwq7jdC4X/8c/bGOtwSPNBQ6x7cuChVy0fXx7yviGLdSiLYMicx1umPpmwZ97JNtqKGfE8m1xIk= 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=HWCPjNm+; arc=fail smtp.client-ip=40.107.243.77 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="HWCPjNm+" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oPnnxR5nVWWzkYyWbc4DjHatIuvVBP66MZcrWgljYP26HJsTeL5+Xw9UDTQOhGKhhzavhjT+1BrAGog3vSOS3QqiK10VhnyRjr3cvtDVEet6G/UPKATG1dFvwD0cXfsBfFbl4vZVGtCiTGPxNXqeKMAOTSSfxbtXngsuxJOG46ffLtBsXFI2ZV+HjQj7dK881nZf4zC2r3s4/J7TS58ZMeILwo5CUmgnFjJKVPvL5R2C1U1J2vS0rWLwWDqsuymcdX4BcxmQMNfeD5nHh+wYoyUwZvQq70JWiL4db7ubTOe5wcRDoLUeL6jTDLeNh+posFQS0+okd74VYFgXbdgJoQ== 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=VYLII2ySey8hCRtUf3QRFgc0322E/Ed1fRH0WKXNbpc=; b=OTb04mmev8+dnAzowl8onLns6zIAgbTPWFX0UYchRvNOwlUGQNTzubgF8XKKrt7aThClnXCkF5yMgIu/SSAsmMn26VrfqbBNihg39ZP03RcuIfZ6ny9W0UmjHVUQ9+u8YWVZ5EWXz+R5LFxZMjID0ZxZCg6+z07sW/9ig3+MwvRnKWyGLS0k9+3ptf0xS4pkCDY+YNWEAOebsrpF4FdOFw526ZmPkbKFrgmn6wwSFOyFGTyjpHsctWsqjDRTcXIerfnGJ9dwnUSIr04Ni6Xa8wymy1X9PSm6tT4ZPRYNmbJIUcRsob19/4midm5W6o3qvIx0rqhLjlrf6pHPUVvHeQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com 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=VYLII2ySey8hCRtUf3QRFgc0322E/Ed1fRH0WKXNbpc=; b=HWCPjNm+SWoMkD67hNtLnlmNIFoAchQnCd/ai21l0xLmccs/dNFRscfh/8Zdew83uDbFObp+77jdo+jVN7lvGVWCAabkxIPHrE02Mnb84t8Q7MffJk0ZeuE9Ofnalu+uhH2apUJJPsBPU8yRh69lC2rZTPbSZ/LRR7kY+Z2H2t4= Received: from MW4PR04CA0327.namprd04.prod.outlook.com (2603:10b6:303:82::32) by DM6PR12MB4140.namprd12.prod.outlook.com (2603:10b6:5:221::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.13; Fri, 7 Feb 2025 15:38:42 +0000 Received: from MWH0EPF000971E3.namprd02.prod.outlook.com (2603:10b6:303:82:cafe::1e) by MW4PR04CA0327.outlook.office365.com (2603:10b6:303:82::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.30 via Frontend Transport; Fri, 7 Feb 2025 15:38:41 +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=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000971E3.mail.protection.outlook.com (10.167.243.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 15:38:41 +0000 Received: from rric.localdomain (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Feb 2025 09:38:38 -0600 From: Robert Richter To: Alison Schofield , Vishal Verma , Ira Weiny , Dan Williams , Jonathan Cameron , Dave Jiang , Davidlohr Bueso CC: , , Gregory Price , "Fabio M. De Francesco" , Terry Bowman , Robert Richter Subject: [PATCH v2 07/18] cxl/region: Avoid duplicate call of cxl_find_decoder_early() Date: Fri, 7 Feb 2025 16:37:42 +0100 Message-ID: <20250207153753.418849-8-rrichter@amd.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250207153753.418849-1-rrichter@amd.com> References: <20250207153753.418849-1-rrichter@amd.com> Precedence: bulk X-Mailing-List: linux-cxl@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E3:EE_|DM6PR12MB4140:EE_ X-MS-Office365-Filtering-Correlation-Id: 1e6dea12-0e37-4e19-84d0-08dd478d7ff3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|82310400026|376014|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: jy62WihFBJUyNIJodwIYVq9c+cGktr7TvfSWkvahsTknpnaAEBIZc1neuPBsYHHobiYgY6Hc5m9bJMO0Dmms8kBcjcxSHelE7QI9ipP+7wgHQfEVLRUP/ihNVDJirnEMce7oHmY/vuZfwYC5uIKzt40vkrhb3gCXsRwn+XoznfKMnz0m0t+IMDcYJ4PPkbwSn1SucwSeueU3pI+lMiZ1DkhW5MN+GLDTnN5OH5smrDa67CbM6rAHpavV068cgKU6upYUJ+oSrCi14W/mPuPG8djHFHnmX7uNKSPUE88GCuES5EPTRUiNURPvRhQxQDO2B6zrx0+cz/ToWH8V/bsluZbaUUDJZId/dBZzDrHZM20E0EwzZopNyNYZabgfpB4nhBYDgJrxl7heXhP8B3NHpcmjk8GbxAuubeH7k3CBe6wW91M3FyDKJ+or32mSBiaJXBLuf5YfB9oBzDtx46VuQ7guxfLr9yk4sG6qWEILeAmnm0sptiBspEiYNmWZN4z41Uhap4LRG3EJUQ5G7kRPw/pOl8TEl22D8lqUC8XInwCzMHE+sLaAAohsUmHJ03dOCZZRSZ3iOk0pgZzxocphHq1Cy2whGOQwGQciZeZitOQdF/Pi2ZlK9O7XiYqIY6Cg+1WU56X39eVt1/b/xIDB7pw8Ee2sf9Smup45NumFz0reqOjX75O4Vq14EsY7J+SEROhI5O1ifKF1CHntRkpxiUFemT8VmnsoWcGSYlvEHf/bQLuGgR/jRLE1MVN59t0/QYeQQlIA0Il/NAUh8kcQmL0uuNerNrEqxsntgW9t5HniooNHpSzkK99FMmTDsrnJBw2vMmIo+Hn/x6xVJbtg2Cg2R3H6GVFsEFmD9XZEn6Shgnc40lnmCOVO7Se2T+lhFHwwE7kOE31A2nNRXsCyIraW4Hh0sAJXuC42RWgfuBWyaUGipIdNONxHrMorIMd157oerTvbu0AGglYqueIJzGQfKrT+YecqanYLGycm+GE2mIvVy/nQBylzFDDKj7wnSYPD0Ohq6dRZji3c+EzPQ5pcIIXiI6lFdlBEvHmsK+NY3dpHp8oocOmWChuxw2FIvrzI8oScjn+1YIv5G7ANM0xeDNKl9qwvu9HgSH3MJgs+QdHqU7I5uduHg1fYHRFpnyN0qHOp8OIx6asyneh5Q5ty3XTY0q8tz0e0lIeR1fLwkRW3YtX518VOzeFtapvufkmfEO7AH0B9fxpPA9xFzcVPl4ZqeEkKwMdIAWSPwaYmLvMQ8yu6LfTnhPAtIuP1Ba0AJzkfnKmcgOPCj7FsbgfN3wtqlGnGxPJeqTlS7KpPlQ2IAUVsTTSf+dRn7esDFmGBqIoBXKZHbwQm778CEXvX5kWFSdV3AzPqQdu2tEHkTz+9bQbVtBJ/U4dkw89TfkPuTmvqXhV1FAL+gcDkx6t3kTVAZwAVB5kHPS2N2zPO2r2OQ2UUerVKoguU5/lFetw5tTlmKtDNWGeLOCMAJiW3nY8TLvzvinPE6k3eiCI= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(7416014)(82310400026)(376014)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 15:38:41.7542 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1e6dea12-0e37-4e19-84d0-08dd478d7ff3 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=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000971E3.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4140 Function cxl_find_decoder_early() is called twice, in alloc_region_ref() and cxl_rr_alloc_decoder(). Move it out there and instead pass the decoder as function argument to both. Signed-off-by: Robert Richter Reviewed-by: Gregory Price --- drivers/cxl/core/region.c | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index 13e3ba984a53..b8201c2faa87 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -908,7 +908,8 @@ static bool auto_order_ok(struct cxl_port *port, struct cxl_region *cxlr_iter, static struct cxl_region_ref * alloc_region_ref(struct cxl_port *port, struct cxl_region *cxlr, - struct cxl_endpoint_decoder *cxled) + struct cxl_endpoint_decoder *cxled, + struct cxl_decoder *cxld) { struct cxl_region_params *p = &cxlr->params; struct cxl_region_ref *cxl_rr, *iter; @@ -922,9 +923,6 @@ alloc_region_ref(struct cxl_port *port, struct cxl_region *cxlr, continue; if (test_bit(CXL_REGION_F_AUTO, &cxlr->flags)) { - struct cxl_decoder *cxld; - - cxld = cxl_find_decoder_early(port, cxled, cxlr); if (auto_order_ok(port, iter->region, cxld)) continue; } @@ -1008,17 +1006,9 @@ static int cxl_rr_ep_add(struct cxl_region_ref *cxl_rr, static int cxl_rr_alloc_decoder(struct cxl_port *port, struct cxl_region *cxlr, struct cxl_endpoint_decoder *cxled, - struct cxl_region_ref *cxl_rr) + struct cxl_region_ref *cxl_rr, + struct cxl_decoder *cxld) { - struct cxl_decoder *cxld; - - cxld = cxl_find_decoder_early(port, cxled, cxlr); - if (!cxld) { - dev_dbg(&cxlr->dev, "%s: no decoder available\n", - dev_name(&port->dev)); - return -EBUSY; - } - if (cxld->region) { dev_dbg(&cxlr->dev, "%s: %s already attached to %s\n", dev_name(&port->dev), dev_name(&cxld->dev), @@ -1109,7 +1099,16 @@ static int cxl_port_attach_region(struct cxl_port *port, nr_targets_inc = true; } } else { - cxl_rr = alloc_region_ref(port, cxlr, cxled); + struct cxl_decoder *cxld; + + cxld = cxl_find_decoder_early(port, cxled, cxlr); + if (!cxld) { + dev_dbg(&cxlr->dev, "%s: no decoder available\n", + dev_name(&port->dev)); + return -EBUSY; + } + + cxl_rr = alloc_region_ref(port, cxlr, cxled, cxld); if (IS_ERR(cxl_rr)) { dev_dbg(&cxlr->dev, "%s: failed to allocate region reference\n", @@ -1118,7 +1117,7 @@ static int cxl_port_attach_region(struct cxl_port *port, } nr_targets_inc = true; - rc = cxl_rr_alloc_decoder(port, cxlr, cxled, cxl_rr); + rc = cxl_rr_alloc_decoder(port, cxlr, cxled, cxl_rr, cxld); if (rc) goto out_erase; } From patchwork Fri Feb 7 15:37:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Richter X-Patchwork-Id: 13965317 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2065.outbound.protection.outlook.com [40.107.223.65]) (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 CCAA91EB181; Fri, 7 Feb 2025 15:38:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.223.65 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942732; cv=fail; b=XsvVBv0EyTaBh4YOE2e7odoGywPMTDleAWMo2gyU4RioapRx/F2uN+XXcl0l0/kkcpKL3GlxX4C4M+JpSDMiwQYEKeQJtWV6p2SQvk62BUN9W7zm+vXPHSk4EBfVHbmJFiewbeY/YBIyfbf+MPzGk6RuxiUDNib8qIc3Vd+iYFU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942732; c=relaxed/simple; bh=yyXKr7QpKsofWgeKbuJBjxGDNgbtbC5J0ogIhqoONO8=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=V8v5Xuffq2BYIKgwEpSTiDa8YXhD5DoSzD87emk8EkOa/arG4QB9sAewE2ClHFGCf5Dq3fN33jXOTTTCBFKhoCmk75r/+F5epz8xtbgSlz33wegE/wI5+1RCrF4ZRmpDkdxzWYlyust2rz+jhA5Xs5ne8UC2J/p6zrBUHQOKec0= 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=qm6WrCQW; arc=fail smtp.client-ip=40.107.223.65 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="qm6WrCQW" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DMzFeMXt0WxyNExZX178irfMbdKk4emGNUQVV2MiLj12Nx7umGI6TI6Tq2UwceubIDzdmx62z8uuQC8o8ebYqprU17m2IOF70df/QafObOmc0ucGw36az7POm0CjS4KhOKvZZ5jcLgJ8xgQ6lOIZLj30Zfz8mjV519N1moBVAh7XikHxHjvUu6eb3Yjf7Y/9qBUAmZD+nJkvk3oVSDkIJpGjWa8RG8jo0Mo7veZGKWGv3mhrnkC25ZTOdVQRk5LMQ941rojUmeTU+2OY1Szy/EBkctctN8WiBEXNrtaczE2CTfdA9eizAfK8dKyybveIOyyAq4kJHC1wRfzGLAKxZw== 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=pTtWcdcAMKpesdorBJRSbfX1aoHKLHIe/f0+O3YqYb0=; b=sz/gRVjheI9OgAutq0dDzUwhrgXQYv0lJp8vZbLd49SKc7eUa+B2kg9dtBw5SrQTPGFBGPq8QFkG1VWsI/AwERlr8eVs3sH8nqCBd/EM+hWDOpZASea1wnFJ6BP4PxUTJi5xHuN0GREz3bpD6/eh+owRgNGCa3uEv19qzv8UeW6pHRmZZOFNHNQpw2WrTU/si+FmLcIWEeA4SL3jQTK5buoIHl9mGfIrBHKxgt83HqadX7CWq3W/dmg3zWbSVqtdovJJuU+SQyBLozrIPfjG793hGAqqsq5Bo7d932HGUfgHgrgNHdvHNEtjMlRUGwihi1AQiUxv8Cgi+U7n58LSIA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com 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=pTtWcdcAMKpesdorBJRSbfX1aoHKLHIe/f0+O3YqYb0=; b=qm6WrCQWVBF+hGRbDSfgbl2sDg9sGRospMRpnXrr1esgILYZ16I/FG7Bk+mFSLDW7+KQayI9BoidlarqQ5ZOGPYIX1IMHKwf0nI35CEeO4jHlv+7mQa6bawGgk3Fs9enlomeB0/AWhjCjHOqGxPM6qbSz3IprnExCm/06j8d9XU= Received: from BYAPR11CA0095.namprd11.prod.outlook.com (2603:10b6:a03:f4::36) by LV2PR12MB5872.namprd12.prod.outlook.com (2603:10b6:408:173::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Fri, 7 Feb 2025 15:38:47 +0000 Received: from MWH0EPF000971E6.namprd02.prod.outlook.com (2603:10b6:a03:f4:cafe::74) by BYAPR11CA0095.outlook.office365.com (2603:10b6:a03:f4::36) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8356.22 via Frontend Transport; Fri, 7 Feb 2025 15:38:45 +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=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000971E6.mail.protection.outlook.com (10.167.243.74) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 15:38:45 +0000 Received: from rric.localdomain (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Feb 2025 09:38:42 -0600 From: Robert Richter To: Alison Schofield , Vishal Verma , Ira Weiny , Dan Williams , Jonathan Cameron , Dave Jiang , Davidlohr Bueso CC: , , Gregory Price , "Fabio M. De Francesco" , Terry Bowman , Robert Richter Subject: [PATCH v2 08/18] cxl/region: Move find_cxl_root() to cxl_add_to_region() Date: Fri, 7 Feb 2025 16:37:43 +0100 Message-ID: <20250207153753.418849-9-rrichter@amd.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250207153753.418849-1-rrichter@amd.com> References: <20250207153753.418849-1-rrichter@amd.com> Precedence: bulk X-Mailing-List: linux-cxl@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E6:EE_|LV2PR12MB5872:EE_ X-MS-Office365-Filtering-Correlation-Id: f76d36f1-0f7d-4ed7-6d66-08dd478d823a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|82310400026|1800799024|376014|7416014; X-Microsoft-Antispam-Message-Info: Kj89OldsQevEg8O+EtTMmyhxd4xm92EROxw5C67lOoOsHg63wJY2fSSvH9YQg4ogBuEjSzLJXYO8L8QPrml7urDsUQvSkz2g7Mkop/gpr/ukyaio9QMNFU9SCHQWWFmirRPGwBXv2btbh/z/ZeCobxc7HPR+dODrEjnqe4cT/BNxiGjowXYJxaEl8iUpc9fKrckHlgeIObrIhdfKpMlNmk9HOZNEfuzcM0e/YUWcI6kEPa9DURnaCG5PApUNCgCFw25HkZ/lnY36MEtc2pxERYKoBKmseRIsy54KDQFdkuwjkZF8Y/0DaRISWigwYxKu936MXGQN6HJO4QZEM6MdStFCbKkzx1ajy1zNydINZjWsWkp+NbtdDk27rgawdJVCEna9U+VjoMBnvN3GIA6nnjM82TAZv2jujWErDZAT1wVMqRr53pD0n971DtFsFYYJNklXXg7izVB108Cta71XfuVT8FAnZaZoEUgar6lH93Z4VtCX5m8Fwz7z/iE+iMrlKIV3xvDOrm0qf/c7ucmA+590FwaiHHp8oonHjF1SSnw4gjOA8ux5ksbOaQZcfr7uhKZ5U/xmGmkhb6bt2Q24mE/29xuRxTkUo2CTLDKEoPKs8MKv29AsF7xsqNaXHrJJB8rmrwDTbhAXW+qd/I7yNnZmfHe9gr1jfroKZXMONlbfF+yaXrq50SOOJ8Muwie3kFFHYGD1miDw5c2hiyrLPqeMcK2cjpXG10h8y82EObDoIeiVoVQZwfFketPnGZQgh7OOkCCC6rA8S55muhZ473q1+gRYqIsCqz7yNWPerNAYhXUCY4jHbib+NnbCsYlr3OUDyttHp5jh1Sij7d5/UlnqkpDFoFTZzJaksEm9amsPKFXIbCPkyR516Wm46lVmlwQEWOfP1kmfuZP8UZomhoybIHZaRGLGcdt+cMaM0uRRUqfDcDuhQSaee7+pBMU5S9JXVZv7d5Eln1JJ7Iim1foGfxk1GUF6rvgzgI9Rb1nLwrZ6anw6sLc0rbOR/yzi9G56mUotoK657HXM/e2aO3XEEn1b8ew2OxkkknXTwlEC07osofLQKbvzxLTSwFuwd0K0jRUt+W520YQCKFW0ZuU5mDpdatU321knI8zvwL3BbqkiMBK2akMUPn/oR23bxablZ/iz8sq7Mvi6D48EPUBW8lCh6RJcWKAsCSbdZjMxZ034HHKaJmWuwGQuAt4qpiKrlcNzFWLIxGvzvNqyO5b8l+2l56rbskwHthSIxOa648KJPDQFDg7EoK4UhRuByI4ZrwHG0LUr1JR2K8XkO1rK9OTcqM5BILptkIkbda4gcAQ1U5sTAGPkYYEUwh18fHsoDxUzvdPg3elUlu7017j6TLwX9WDUVue/EFkgZG/ct0yvxy4gncekV0SLoZgHzA65gH+yCGBeX0pdKI1a3Z6JF49FHaH8FlHsFFMdEpNifP6eZIDxMkT4t4ewZIn+P6lIC2nS9+0Km5KCr6oaJZKWEgbeX7yWYqyHp9Bs6Y8= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 15:38:45.5587 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f76d36f1-0f7d-4ed7-6d66-08dd478d823a 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=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000971E6.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5872 When adding an endpoint to a region, the root port is determined first. Move this directly into cxl_add_to_region(). This is in preparation of the initialization of endpoints that iterates the port hierarchy from the endpoint up to the root port. As a side-effect the root argument is removed from the argument lists of cxl_add_to_region() and related functions. Now, the endpoint is the only parameter to add a region. This simplifies the function interface. Signed-off-by: Robert Richter Reviewed-by: Gregory Price Reviewed-by: Jonathan Cameron --- drivers/cxl/core/region.c | 6 ++++-- drivers/cxl/cxl.h | 6 ++---- drivers/cxl/port.c | 15 +++------------ 3 files changed, 9 insertions(+), 18 deletions(-) diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index b8201c2faa87..0e38bcb43be6 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -3312,9 +3312,11 @@ static struct cxl_region *construct_region(struct cxl_root_decoder *cxlrd, return ERR_PTR(rc); } -int cxl_add_to_region(struct cxl_port *root, struct cxl_endpoint_decoder *cxled) +int cxl_add_to_region(struct cxl_endpoint_decoder *cxled) { struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); + struct cxl_port *port = cxled_to_port(cxled); + struct cxl_root *cxl_root __free(put_cxl_root) = find_cxl_root(port); struct range *hpa = &cxled->cxld.hpa_range; struct cxl_decoder *cxld = &cxled->cxld; struct device *cxlrd_dev, *region_dev; @@ -3324,7 +3326,7 @@ int cxl_add_to_region(struct cxl_port *root, struct cxl_endpoint_decoder *cxled) bool attach = false; int rc; - cxlrd_dev = device_find_child(&root->dev, &cxld->hpa_range, + cxlrd_dev = device_find_child(&cxl_root->port.dev, &cxld->hpa_range, match_root_decoder_by_range); if (!cxlrd_dev) { dev_err(cxlmd->dev.parent, diff --git a/drivers/cxl/cxl.h b/drivers/cxl/cxl.h index 0d7aff8b97b3..85dfc8df0a80 100644 --- a/drivers/cxl/cxl.h +++ b/drivers/cxl/cxl.h @@ -854,8 +854,7 @@ struct cxl_nvdimm_bridge *cxl_find_nvdimm_bridge(struct cxl_port *port); #ifdef CONFIG_CXL_REGION bool is_cxl_pmem_region(struct device *dev); struct cxl_pmem_region *to_cxl_pmem_region(struct device *dev); -int cxl_add_to_region(struct cxl_port *root, - struct cxl_endpoint_decoder *cxled); +int cxl_add_to_region(struct cxl_endpoint_decoder *cxled); struct cxl_dax_region *to_cxl_dax_region(struct device *dev); #else static inline bool is_cxl_pmem_region(struct device *dev) @@ -866,8 +865,7 @@ static inline struct cxl_pmem_region *to_cxl_pmem_region(struct device *dev) { return NULL; } -static inline int cxl_add_to_region(struct cxl_port *root, - struct cxl_endpoint_decoder *cxled) +static inline int cxl_add_to_region(struct cxl_endpoint_decoder *cxled) { return 0; } diff --git a/drivers/cxl/port.c b/drivers/cxl/port.c index d2bfd1ff5492..74587a403e3d 100644 --- a/drivers/cxl/port.c +++ b/drivers/cxl/port.c @@ -30,7 +30,7 @@ static void schedule_detach(void *cxlmd) schedule_cxl_memdev_detach(cxlmd); } -static int discover_region(struct device *dev, void *root) +static int discover_region(struct device *dev, void *unused) { struct cxl_endpoint_decoder *cxled; int rc; @@ -49,7 +49,7 @@ static int discover_region(struct device *dev, void *root) * Region enumeration is opportunistic, if this add-event fails, * continue to the next endpoint decoder. */ - rc = cxl_add_to_region(root, cxled); + rc = cxl_add_to_region(cxled); if (rc) dev_dbg(dev, "failed to add to region: %#llx-%#llx\n", cxled->cxld.hpa_range.start, cxled->cxld.hpa_range.end); @@ -95,7 +95,6 @@ static int cxl_endpoint_port_probe(struct cxl_port *port) struct cxl_memdev *cxlmd = to_cxl_memdev(port->uport_dev); struct cxl_dev_state *cxlds = cxlmd->cxlds; struct cxl_hdm *cxlhdm; - struct cxl_port *root; int rc; rc = cxl_dvsec_rr_decode(cxlds, &info); @@ -126,19 +125,11 @@ static int cxl_endpoint_port_probe(struct cxl_port *port) if (rc) return rc; - /* - * This can't fail in practice as CXL root exit unregisters all - * descendant ports and that in turn synchronizes with cxl_port_probe() - */ - struct cxl_root *cxl_root __free(put_cxl_root) = find_cxl_root(port); - - root = &cxl_root->port; - /* * Now that all endpoint decoders are successfully enumerated, try to * assemble regions from committed decoders */ - device_for_each_child(&port->dev, root, discover_region); + device_for_each_child(&port->dev, NULL, discover_region); return 0; } From patchwork Fri Feb 7 15:37:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Richter X-Patchwork-Id: 13965318 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam04on2084.outbound.protection.outlook.com [40.107.102.84]) (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 1F2E923FC62; Fri, 7 Feb 2025 15:38:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.102.84 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942734; cv=fail; b=s9f3D2GUAb9j1puNvph26G/88wQbpjHQbF7ICemBVu6FXr4asJchZ9zW7o58Ky86ODKKJ9CUNqsbnFszrJScLFwQVCp/fBZT/WMVDsu9bk0ZlW7oyMnTey5Gs9Zxso3VLklN35U5kSBCm+SEXbyy3wjdUAKES4vwsOVVYr2injc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942734; c=relaxed/simple; bh=hiHgfhtRiN6EczvP1uc2hb2K049fvFaWnJB0mMOtN1M=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=HEr6l4kFJ97oENBhhTwou1YKIi9TkBQeeX9d83Rj9LSRaKjTtv/NPwIejluuB1SGAEmZqdxjwKSTXjSbW46E+QOk3b3FqwUdqTvcvabS8X0mLT0RsuOYoy+95TEF9TXPaZ5ygB5+to/S+NtT5/3nweGAhgy9efbyU/LEBJHZtsA= 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=2lCJY5D9; arc=fail smtp.client-ip=40.107.102.84 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="2lCJY5D9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XjRDcCI5UgOvQuCfaj6yf9DvskG0lwc//7b/wqB/fdl8UZz0iDvg997Ma7s11CIn7C2nA7g3+6fPfdNgpn4hkSVV7sJgDqr8j96j8n1qGsU1YUlxo6lmWm858yiY9xvGjfsA5gQ6buc3rrHST7OJOPiGafdB+PraTo/KlZPNTVIsQ/4FAXdZcQ1mCQmQU+dV0Xsal5nFgqe2a51Tfsqaa2l8gMoVLqrnRleovDvB4Bgpvvs7ihhpJmeW3UIzmaXXtDTYfFZOSWewv4KS/p3CTG8MDSzRHtVPwdwjEuFxgUPrrzquAPh++7cdpFSKf3kB9AuLC9KAxSql772dCLl65Q== 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=96oaL2/DdPHzMeZnQqUNr8mn/Qdhf6WuSlHr2OEY0t4=; b=OjKHRPL3Kg4FLRG91GZ20KRlXPxXkFuXwjmvvt6mQKRxzel/savm/bw3RBWy9lSmtSla/ALrqTdF9XIyJA6RwdTie6lJhW/v+MmkgbXTHg2TGOt0WVuSNbOehekL5whT9OpeidvAk695rSBcZtRmF4L1TjQjPY+dauGZiJ2fB72PVRTE1DqA7ovauG2qMT6jhZkpEMzuuEKwbgAToTikau5edJ84fO3x5dF4/t1jOrSsThxf8s1Z59FhrvEXWksjz4KUCwY3wHv2ek6mKgklk9cDA6iRZQ8xbFLM+ev36TWleIFivH4+vpIZz46hbFeCvh9XjpB9lqQvYA7h/j1GxA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com 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=96oaL2/DdPHzMeZnQqUNr8mn/Qdhf6WuSlHr2OEY0t4=; b=2lCJY5D91zYJHUjFa7cg8Vds3YQ1egUWYGJbYNBozNVcup4n69rj+CCEfA9GUqa19t7u0RuXficMUVvwLsKeILYqoqWb9OCvMwT+T7OpgfAbJns/H3iuSDKGmeYhZ0ZAWZpwbs1/m3Ct7HzUTsyd1vwxs7RPf3e74kC9YYxCUaQ= Received: from MW4PR02CA0011.namprd02.prod.outlook.com (2603:10b6:303:16d::28) by MN0PR12MB6004.namprd12.prod.outlook.com (2603:10b6:208:380::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Fri, 7 Feb 2025 15:38:50 +0000 Received: from MWH0EPF000971E9.namprd02.prod.outlook.com (2603:10b6:303:16d:cafe::c8) by MW4PR02CA0011.outlook.office365.com (2603:10b6:303:16d::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.29 via Frontend Transport; Fri, 7 Feb 2025 15:38:49 +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=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000971E9.mail.protection.outlook.com (10.167.243.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 15:38:49 +0000 Received: from rric.localdomain (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Feb 2025 09:38:45 -0600 From: Robert Richter To: Alison Schofield , Vishal Verma , Ira Weiny , Dan Williams , Jonathan Cameron , Dave Jiang , Davidlohr Bueso CC: , , Gregory Price , "Fabio M. De Francesco" , Terry Bowman , Robert Richter Subject: [PATCH v2 09/18] cxl/region: Factor out code to find the root decoder Date: Fri, 7 Feb 2025 16:37:44 +0100 Message-ID: <20250207153753.418849-10-rrichter@amd.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250207153753.418849-1-rrichter@amd.com> References: <20250207153753.418849-1-rrichter@amd.com> Precedence: bulk X-Mailing-List: linux-cxl@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E9:EE_|MN0PR12MB6004:EE_ X-MS-Office365-Filtering-Correlation-Id: a96faba1-2694-4bb7-5c10-08dd478d8471 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|36860700013|82310400026|376014; X-Microsoft-Antispam-Message-Info: CAvOFUwa2GbBOqIh8xkWTWzLsE7ZsQIEGnW/Sa0Z64C+wmq2L5WOX1p7dardnvumP8wmG/YCIZbYHQBboNiOlGsOloKnVK1O9lE5a6LOuPyOeIrrr5Tjs01C2mJS2COEZYx3i8gD1VvqFiotJmoThWVQmQSGIVYjxe9tZCReqJiQwWrgqXynrVh69Sv4Dy4Rkmq0Ct1QwPQ3tC48RiAUCFXCVT5io0fODxE7Av12WxeI3Yn4UaA1spuwHvHzWtnm0M+1xYtDCHbzQAQDHMLUe53R2ZLDNchphFbb5QIg22d/WOywbVkDoNOZjhKxsH7949ut/DENc/pg2ZGzGvZn7Dlmtsc6g8KJ4f5zl/cHE1TBnFFxcyup5ETFrlu155EaHSbd5xdQW8zTaSMBeHbT37p5jTHwbsvG42NscR4dig+2oF9ChzXkoXKzSoHr9w2vIhNe77s6yUKhCpRwdAONcsuWmdybONl/Xddqe2BOCYE88Dv1omHCrN8W1H3L2KEOSa8b0Nqa3E+/wtKmkrkmbM/p3euPxzeOwCCDKFsVyjFaH4xcO//G3iHv19Ki9XiZdAiY7XOADebl19rOYOPOXYBDEEs09+rAkbNKmKs2+DxGpcVAzotFWrIq1TZZBe1ky4jpft+isbIGATor1s4eRRdyuQRMN2EhOYAAKwVPPA3bcZr/TWmd1esMG4sRTCirBCcBLWEBxfA9J6MM5/+iTKou94UZjBZW0+EJNyHCwmcT2iHzBqiltViGmBROeZHk+merkvIuK1WaG96buGCYpZ0cvpse6MAGFcjs4U138ZveNirakFQ6PrJFGDM75rCf/WWRL8K5eutLI/b1QaHkYdPt2fuzj17Ix4w9ckfEKduuyYvWg9OSdeIOaNhOYCb4nokYetlPL225fBSszh5NdYhsMQrBgABNNSsgVjCGuV/e8Y/zG2YmHWFBmisZUldZ7nRBKwL4wnc1SIIjAR1iDADYsj4PR9e6rHbakmmcogE9hPS4cLfH0WCkdJuhBhL4nuvwTE7fAZ+pjnnwZbxmOXm+WnwLVZibRtR10RWvuQ+0sHtbNObUxDKO+2ORJQ0zzH5k2XmpiTL8/4+zb9ajBqtUfnv8HPUVDEuYzVBQbf3oe2/4MORtMJTw/Q1t3y+NRux6bsfUTdrVlX0M/mvWUNbEDFNysbYIvSYPWGnV0jSiXLAuYrEhkXDPuIQxICuUG6HqZ82OcehxYEgE1eyGW418Kf53Is2LS7c/X930HTeWv1C0RvQaNIq7cX9MB2pANp9Db4lC7QGyxm/0Ft209vQjURv+2MPrL4HL/eJzxxfe1QhwniIQNJq0+V4X84thTIte4Q6viDHgd3+y7FwC7IMnKKSxysf0ioaoJN6PO9VLr9e4pC2FGm3FF9L0D3G81O496/N0CKcAx8iGn966qECKpa9Jsc0j6ANZZ9NFwqu7XvjOWBW3wf0urthKdXtfrLCps9CoA+YxTkM0v2XACdiKhGJE1rq6a2TYEa8RaBM= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 15:38:49.2742 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a96faba1-2694-4bb7-5c10-08dd478d8471 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=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000971E9.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6004 In function cxl_add_to_region() there is code to determine the root decoder associated to an endpoint decoder. Factor out that code for later reuse. This has the benefit of reducing cxl_add_to_region()'s function complexity. The reference of cxlrd_dev can be freed earlier. Since the root decoder exists as long as the root port exists and the endpoint already holds a reference to the root port, this additional reference is not needed. Though it looks obvious to use __free() for the reference of cxlrd_dev here too, this is done in a later rework. So just move the code. Signed-off-by: Robert Richter Reviewed-by: Gregory Price Reviewed-by: Jonathan Cameron --- drivers/cxl/core/region.c | 55 ++++++++++++++++++++++++++------------- 1 file changed, 37 insertions(+), 18 deletions(-) diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index 0e38bcb43be6..c641c8922455 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -3203,6 +3203,38 @@ static int match_root_decoder_by_range(struct device *dev, return range_contains(r1, r2); } +static struct cxl_root_decoder * +cxl_find_root_decoder(struct cxl_endpoint_decoder *cxled) +{ + struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); + struct cxl_port *port = cxled_to_port(cxled); + struct cxl_root *cxl_root __free(put_cxl_root) = find_cxl_root(port); + struct cxl_decoder *cxld = &cxled->cxld; + struct range *hpa = &cxld->hpa_range; + struct device *cxlrd_dev; + + cxlrd_dev = device_find_child(&cxl_root->port.dev, hpa, + match_root_decoder_by_range); + if (!cxlrd_dev) { + dev_err(cxlmd->dev.parent, + "%s:%s no CXL window for range %#llx:%#llx\n", + dev_name(&cxlmd->dev), dev_name(&cxld->dev), + cxld->hpa_range.start, cxld->hpa_range.end); + return NULL; + } + + /* + * device_find_child() created a reference to the root + * decoder. Since the root decoder exists as long as the root + * port exists and the endpoint already holds a reference to + * the root port, this additional reference is not needed. + * Free it here. + */ + put_device(cxlrd_dev); + + return to_cxl_root_decoder(cxlrd_dev); +} + static int match_region_by_range(struct device *dev, const void *data) { struct cxl_region_params *p; @@ -3314,29 +3346,17 @@ static struct cxl_region *construct_region(struct cxl_root_decoder *cxlrd, int cxl_add_to_region(struct cxl_endpoint_decoder *cxled) { - struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); - struct cxl_port *port = cxled_to_port(cxled); - struct cxl_root *cxl_root __free(put_cxl_root) = find_cxl_root(port); struct range *hpa = &cxled->cxld.hpa_range; - struct cxl_decoder *cxld = &cxled->cxld; - struct device *cxlrd_dev, *region_dev; + struct device *region_dev; struct cxl_root_decoder *cxlrd; struct cxl_region_params *p; struct cxl_region *cxlr; bool attach = false; int rc; - cxlrd_dev = device_find_child(&cxl_root->port.dev, &cxld->hpa_range, - match_root_decoder_by_range); - if (!cxlrd_dev) { - dev_err(cxlmd->dev.parent, - "%s:%s no CXL window for range %#llx:%#llx\n", - dev_name(&cxlmd->dev), dev_name(&cxld->dev), - cxld->hpa_range.start, cxld->hpa_range.end); + cxlrd = cxl_find_root_decoder(cxled); + if (!cxlrd) return -ENXIO; - } - - cxlrd = to_cxl_root_decoder(cxlrd_dev); /* * Ensure that if multiple threads race to construct_region() for @hpa @@ -3354,7 +3374,7 @@ int cxl_add_to_region(struct cxl_endpoint_decoder *cxled) rc = PTR_ERR_OR_ZERO(cxlr); if (rc) - goto out; + return rc; attach_target(cxlr, cxled, -1, TASK_UNINTERRUPTIBLE); @@ -3375,8 +3395,7 @@ int cxl_add_to_region(struct cxl_endpoint_decoder *cxled) } put_device(region_dev); -out: - put_device(cxlrd_dev); + return rc; } EXPORT_SYMBOL_NS_GPL(cxl_add_to_region, "CXL"); From patchwork Fri Feb 7 15:37:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Richter X-Patchwork-Id: 13965319 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2048.outbound.protection.outlook.com [40.107.220.48]) (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 9B77F23FC62; Fri, 7 Feb 2025 15:39:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.220.48 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942742; cv=fail; b=DE1fNc3/KK4pV1HHwoMIbAe2o4R0NuQMJIFAdrGcBM07ibBAhSwboWCcBPFAldlUqgCir7oNYCCUBy9Pl36QClf8Zsab4vaXm/clej0vEbFKLmPgd+2+3INa9nxdPXEvB8TmkkVmW2a9q/GcqUxs9GbgrjOrAaU4aRa/wSYKTEA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942742; c=relaxed/simple; bh=9v/uHkt1qRYU6VvAtjJiumv2HXWTbRZr9Re1pqZAu48=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=WrOCJzrYS9feoq7q8ytcp2dOV/J0csk80zsDv9eu36UvIZvtzItWeZRHNIo3fY4DNKUVEHktMNfxR6KPaw2TawDdga9jf6VvrG0ztUxFFnLbYI4e/roU5H/9ct3qRGEitj3V1s0KfwklosFofw7ubmsc+6diTV4osiXYnS2AFl4= 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=IE0RQi7R; arc=fail smtp.client-ip=40.107.220.48 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="IE0RQi7R" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lA0kADUnh1SbOnmtE1TyakGmw19eRQHzBHDs7p/M0DsUOm3PxPg78Uc3P467aF6UsgpCvcmDGAt1iaVPq1WMsRzrJD2UNlT3+I36iO45OAuJw720UCrXC9x+qGswSTMloMAJxFcgjSURSWSxvxehk5RNjl5mFVdb+80D7IbCEp3Yzi42lGVVqCTsFto5N2f91AU0N/8s6QNGVl+XIyfMr1s95Are/MG0nXETogtZzihqfkHia1mQyeY0pBqeW+CuwZ/UV5ouJzDhm1vS7xWwourVGCLI5poaBGpsPt5wJUpq+kxIkeaBzI2nBUn2/hWy/y5V/LqvwTRXg97FwLZQpQ== 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=L9biBB2RlhZj+nbVvOaCrhaG6L0atiD1fkCU1ny30fk=; b=jWOt9pZOk7xPeWW/8F/fZvj4kflcMq8olp+bfp/JL5n9wpF9aMrbawVYftYhgIdwFq464lmymJm9NyK/wzddwdVIhAbqXXvD67opQ4aITEY7MdmgydnO0lKjGgkzywQg3sMelEr9oWl+cvBvfiNxpDopWke6UKfk7CLBMHH/9396O5PpN2z+eqwi77qrtU3x8G6QIdbwC+DzHoOcWlUKTR9AB3jCG4FTxcoABckp7HrQOrjmzOqYYrEj2BiM5kbpCtyEhqnmLpCz+l9RDOoZSDDpglpv83rxbKNuChbxSQo6v73FyniVMipgrsa8jOkmUHGMqlhunu+xJD8ERGq/yw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com 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=L9biBB2RlhZj+nbVvOaCrhaG6L0atiD1fkCU1ny30fk=; b=IE0RQi7Rh4O58JFbJNcv6t0RKy2EvnhCE+clRzyqKAhrkFEZyX2mj4A0nWKgIw3jGEqJgjDHJgZve8rN+9hBLoy2nlyLvi4vU3mYuxdtCz7F/6FRfb1wfCvrGjO/bSGh1nXt9AK9/KenaAYog82/eGczW9qmmqactZBIDvFu9g4= Received: from MW4P223CA0009.NAMP223.PROD.OUTLOOK.COM (2603:10b6:303:80::14) by BL1PR12MB5873.namprd12.prod.outlook.com (2603:10b6:208:395::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.23; Fri, 7 Feb 2025 15:38:54 +0000 Received: from MWH0EPF000971E7.namprd02.prod.outlook.com (2603:10b6:303:80:cafe::11) by MW4P223CA0009.outlook.office365.com (2603:10b6:303:80::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.25 via Frontend Transport; Fri, 7 Feb 2025 15:38:53 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000971E7.mail.protection.outlook.com (10.167.243.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 15:38:52 +0000 Received: from rric.localdomain (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Feb 2025 09:38:49 -0600 From: Robert Richter To: Alison Schofield , Vishal Verma , Ira Weiny , Dan Williams , Jonathan Cameron , Dave Jiang , Davidlohr Bueso CC: , , Gregory Price , "Fabio M. De Francesco" , Terry Bowman , Robert Richter Subject: [PATCH v2 10/18] cxl/region: Factor out code to find a root decoder's region Date: Fri, 7 Feb 2025 16:37:45 +0100 Message-ID: <20250207153753.418849-11-rrichter@amd.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250207153753.418849-1-rrichter@amd.com> References: <20250207153753.418849-1-rrichter@amd.com> Precedence: bulk X-Mailing-List: linux-cxl@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E7:EE_|BL1PR12MB5873:EE_ X-MS-Office365-Filtering-Correlation-Id: 60e0174d-707e-4e16-68f6-08dd478d8697 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: eUbltNGXok5iQdHMe10uQraW0Py+wvkXMx2cqjkDQ4qo/S4Si/2ZaSxLez6WxnuoYqHmj0f+zSSVSuyt3rA/wuNtiFA8aJJ8VylBQRQR3DYCysomFPKmgAAUApUhEZXFVyglapkE9S1WpRLVI5/plChMa6tuFCHyWGg5UL9Qm835D3TZzEyBAwfYtRLxG4Ri8wyy6pGepuCxIrwckhsK7CwhWMPU1ctdNEHEt0HdTCJY5SQRU9YIs+N8Usi36ZfyJzEDTpP8BGp1bXD/7nXQl3kU9Cm2TAsGJykycTVktNyRZr+9kJrU7xAe3QtMoLbyb8OkSZ4nWyjDIHaeD//PiHgop8gAzpLfO6RYAN0HIXMDiWGTwEXRg0G6c0dcwFZbovjpyycrsAl17dRWiWlLnvi0iibVYpVI6XHsDlyEWHxhTGrTTZ/mineu13pCG8knlcSYYQspkZRnfpgKdlx5Et4oBFxIVWmS9T6/fCvPBDvO77kFTc/MYc3soPWFjsPi97mNJdyL8u3fRJrqge0NBbB7kx9p8xd+ES8RDKyJ81on49nytm6VzC3WlyyX8JKxLsRu/c9E72vHgu4TG6EYvCh+jjseJxYrMO/witpLTHuSY59553zqqOGaLLTJXWRIqC6qglX9CQa+f3Lck6IFpHMfGkTwatmHHE1KJXTsNbqj7Emg7hQmQj3JCwRgKIYzC23GqCQzxG0ROTVIT4dsjoHpT8xEEsMjSa1fUTkEcphhHF1pBwnr+eX/62LMcB4DsurnHiPcU2wj/LOmMzybLTkyQmwRByS/ipZWpBiu6nVOQMaUOAZsrbpYRT9iw+iCTsbWD9/A/tG0udjTT4BdbP3VEFm0GuVBELwrs8g3O2Ecz85LXDxXn7kwrYu8RhoaHm1HZ0paezZUv/Mmt+y5MJDT2rGF8c4I0J/+KfTRTRIHqQ0BMUunDpjsUWH8mAOToKd/TtIqyX3qiphRkInefND6EEgtuAGetfUdg1L88PdPArrGzcmr8Qcn2I+h9mZjMw/s4QQ/lAU2aPR6YAcKTMhptU0BqoAvtroY8MaLDhFmWM5uBeFkesbY3jQtC/r3hhxZq/fbYGZcXXq99BRzvU0HXQP1Iyuxw2x8sbuQ+tsRbx2pnu3FFZdKXR5r3Z3PMC38q0x+QBP/N68Ai9I68E7wmTLba8Fi1yQ4aejeqSWXwbXnJgIWEcm6xMn3h3l0uBSLnFbO98D/fLAhEDpkxfxzK3za554ZjovTbEPHtz1RYMgS4FPJ+Kx8FLXXOrpz9ODq7mVz0CXX9ZpHa08Pw/3xCKnHotjSV73qBLk/VQHZVoDtxA7nTNJtMvXwjBQOcWzX+uG0lIZg3bkQA/DcqWs4faChTq9wc0t+FWonJJhjgVYpKf61UVRKEiJVlDUhobSl05DzXbLpGRODDz/Ox8iUb06ETcc3MNih9BEh1yGGHg8xlC2XDabqeHRcB4EX1zA6QXNP54DK5QxGHAf7KAI4uygDzp/nrgDlxrpPSys= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(36860700013)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 15:38:52.8946 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 60e0174d-707e-4e16-68f6-08dd478d8697 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=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000971E7.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5873 In function cxl_add_to_region() there is code to determine a root decoder's region. Factor that code out. This is in preparation to further rework and simplify function cxl_add_to_region(). No functional changes. Signed-off-by: Robert Richter Reviewed-by: Gregory Price --- drivers/cxl/core/region.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index c641c8922455..9ce0282c0042 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -3256,6 +3256,19 @@ static int match_region_by_range(struct device *dev, const void *data) return rc; } +static struct cxl_region * +cxl_find_region_by_range(struct cxl_root_decoder *cxlrd, struct range *hpa) +{ + struct device *region_dev; + + region_dev = device_find_child(&cxlrd->cxlsd.cxld.dev, hpa, + match_region_by_range); + if (!region_dev) + return NULL; + + return to_cxl_region(region_dev); +} + /* Establish an empty region covering the given HPA range */ static struct cxl_region *construct_region(struct cxl_root_decoder *cxlrd, struct cxl_endpoint_decoder *cxled) @@ -3347,7 +3360,6 @@ static struct cxl_region *construct_region(struct cxl_root_decoder *cxlrd, int cxl_add_to_region(struct cxl_endpoint_decoder *cxled) { struct range *hpa = &cxled->cxld.hpa_range; - struct device *region_dev; struct cxl_root_decoder *cxlrd; struct cxl_region_params *p; struct cxl_region *cxlr; @@ -3363,13 +3375,9 @@ int cxl_add_to_region(struct cxl_endpoint_decoder *cxled) * one does the construction and the others add to that. */ mutex_lock(&cxlrd->range_lock); - region_dev = device_find_child(&cxlrd->cxlsd.cxld.dev, hpa, - match_region_by_range); - if (!region_dev) { + cxlr = cxl_find_region_by_range(cxlrd, hpa); + if (!cxlr) cxlr = construct_region(cxlrd, cxled); - region_dev = &cxlr->dev; - } else - cxlr = to_cxl_region(region_dev); mutex_unlock(&cxlrd->range_lock); rc = PTR_ERR_OR_ZERO(cxlr); @@ -3394,7 +3402,7 @@ int cxl_add_to_region(struct cxl_endpoint_decoder *cxled) p->res); } - put_device(region_dev); + put_device(&cxlr->dev); /* cxl_find_region_by_range() */ return rc; } From patchwork Fri Feb 7 15:37:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Richter X-Patchwork-Id: 13965320 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2041.outbound.protection.outlook.com [40.107.93.41]) (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 D186A23FC70; Fri, 7 Feb 2025 15:39:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.41 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942743; cv=fail; b=CiMNSmpv5gDJLYNHFDBSm4aFG8Ms7hbRgc4t942wMmMnZeeu0Z9M5tLKP68DVwkJz9R3FFZ+6x+M+4weMMRSbuLnSxCvaeI4raQxaAWJ6Z0Zs+B/MwNRoSK7oai+4AqmvkpVi02BIgUWazZwCoI/UNQzUpyV137ZYx3AAKKk4ok= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942743; c=relaxed/simple; bh=7+KYygj+Ks0LOQxe/1XLMAzsOnWJiMX5SzlK++OklHg=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=dmz6meFo/P4OY3p3BUZSR7WzV3Yz0a/mYBIyGNWxcANHNSCfF/zLqgde/efEDrBeXqRXhIE3QFoZx+faE9yTzuOrpwY9gxetLHph0hYEglil2Ir3aDHwg7lNFlglf4rCJiTj+OYAgudh3+ImcSErP7OCW4iJ27p71c5bbSFVUW4= 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=XEKxIWPj; arc=fail smtp.client-ip=40.107.93.41 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="XEKxIWPj" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yRekN85U+p5PgKcNLrCXgD4UVHI8C07ueiLpjOy454yqlWoK5rNtHQKzK5MzTG9whQDc+8S6DZd/U8FqU2jfx1pg8OHgRtlyVTW7chrTBZGfYyy+NwlYGJuV9e/kDt2C94etxtm4k4GD9U7EPgvVzCh42KPgOEDpWFntgH0y2ks8plgPgmGDt0cqHLzyGKz7iHyoEPy2By1urD5+1rnkfUmPdZwECppG0lpJdZQPykmmKUuPn/cxVzqKVF0wtGK5Jqt6Sy20Oj7AVboFSO4vXKxQhh8xvd+vj72Otuv87lp8C/8Cmc5gCkx+H4E9/cmryxxGJPdnup3HGm7S9zbcQw== 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=pHjJOVfevhw2cA/tXK0SsW7GrGvPn+rBE4pc2lvT/E0=; b=Mem/tE/Td4QvD6AdpQ3eEWON1+MYqRWjV3dkcCRkFIgh9dcv3WfWVAQxjJejPyV8C3lJ7+4cwQGHFW+tt63GeUUphM2NVBZWgQ36+87z57NopwtwHpTiNuG1GQD97SlxvqurwxXs9uimBlp3Y4OzlDX3xwMOYPh6n9EvWWQeWrsU6k9CdvA1ft3VbWFwhgHdSx0ezHsYuco0bas/Dz28wurYtVssdcdbM91Q0z8OBmRKmFf8blfQhTlIWOQwjahMnNPoBQb2ZqA5eemk8UqYNnz8+HgzfGFiRWE70RWUU2rtnhhlhTAsQ3sAXhcdSRNxErV62m8F0MTc9DQh2tjZBQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com 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=pHjJOVfevhw2cA/tXK0SsW7GrGvPn+rBE4pc2lvT/E0=; b=XEKxIWPjbAXefaJnLOHrv/Yv0dSG3qKX73bLy3uWo8gHPKatbsTWrc5h4y4UfeliwEGfXadltj/KrI+chTYvxFYwX24Wl+MvksxykHu87xnKk+PjFWss6MtMEDeGWbZd02mpqNGz28+T4JDlRbvvk5p2RnbiguUIyl7lKIeYpBw= Received: from MW4PR02CA0029.namprd02.prod.outlook.com (2603:10b6:303:16d::34) by CH2PR12MB4133.namprd12.prod.outlook.com (2603:10b6:610:7a::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.15; Fri, 7 Feb 2025 15:38:57 +0000 Received: from MWH0EPF000971E9.namprd02.prod.outlook.com (2603:10b6:303:16d:cafe::aa) by MW4PR02CA0029.outlook.office365.com (2603:10b6:303:16d::34) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.24 via Frontend Transport; Fri, 7 Feb 2025 15:38:56 +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=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000971E9.mail.protection.outlook.com (10.167.243.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 15:38:56 +0000 Received: from rric.localdomain (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Feb 2025 09:38:53 -0600 From: Robert Richter To: Alison Schofield , Vishal Verma , Ira Weiny , Dan Williams , Jonathan Cameron , Dave Jiang , Davidlohr Bueso CC: , , Gregory Price , "Fabio M. De Francesco" , Terry Bowman , Robert Richter Subject: [PATCH v2 11/18] cxl/region: Split region registration into an initialization and adding part Date: Fri, 7 Feb 2025 16:37:46 +0100 Message-ID: <20250207153753.418849-12-rrichter@amd.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250207153753.418849-1-rrichter@amd.com> References: <20250207153753.418849-1-rrichter@amd.com> Precedence: bulk X-Mailing-List: linux-cxl@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E9:EE_|CH2PR12MB4133:EE_ X-MS-Office365-Filtering-Correlation-Id: 28c96d8f-c614-4e91-c57c-08dd478d88e9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|36860700013|7416014|82310400026; X-Microsoft-Antispam-Message-Info: CSqu8if/yjTt+OBUu/vP9JHxzZhWXrXyKHWpJGzemoyMAi1pPI2rKkR0uuLToya/AZz9i/LmV2pgHNS9HVJbDjZYgiVttb7D2Bnr/nAoJggz2wroJ/zdJQk26B5h4kDu6rVkN+Zis13lN4b4trOHpliMGIj7HPeZLnly6K6xyIh1BvCKfE1dDmXdaLHDa4TH5D3kaG7NcB3b/fTPV+bSWqNnapgfvgtGDAwmxz2MlOq1SIFsFa7/ApM7hCoOWRYcedLNxePuH1gblnRQ5N7uzyjAyczD54IC6DyEYaq9CWS0MyJy8MQZd3s5LVBQT7IgZ6n94Tep8SNW0/IWRy8shrBC/O/dtSNHAN4Z2i5+DQfUDqeNIJY7Wmx6mdt0bts/vmP+Pxe7S4PC7cRWEUOAiuj7L0Ma/D7ZUaljPixvzXpfz8G4qCXpaUlM4gK2pRwoqQMbgFr8xMwrZZzmKDWT0A83MzvmorZYcGZ6pwB9xOBxgcySe60PIxf4PWlsd54DRlpc3Igt8nyF2Gj4mXAQGbheE5cwvWCvCZQ3BH4jeoReLjOnXidguUmWVqf62df9kZKNMOE+zjWxORsqs8oPd8ci2+2Z8d4hc31clBbHCrvHoOUlTdn+4FvXeBzZ8FXoLhw/XksFdRswOZDeOfr2jOqKncThgZK0UVrRmY02R3PDxh2U9qFhx0GrqXaeESU+VGagp8kOmouNhixVrzEighiV2Aoh8ZSqTmbPJIiDRgqNrMOkKcMpCLvixyj23boD2Kx+COjsctWei3K5zh0ofjCsnDck8YtyIyyy0CEQUpzcUJJIz1t3eqPAI7kPrdlsz6B5AprmJPAqiFo89L+t78Qbwaq/R4zLYy7EV0hDXU/mwTIXFBDQUsuElk/p48N0Nb+mTiwsOaumrCAMTqivNJZq+pfYnEoh9lJ9B2KXFZF78cHnWEIlWYOUP9RGLUcAaDpKbcsCMLmAdYA4UP3ueid6I70akGzDI3jCIWRfeX+ImMS2C62iSGpX6p7DPe5E+nlg/m/dPxwkFn+eHVqEjTj2pbd01p4DE8i0fg+rnvuG2e/PY4KMXNEjw89PJzLzJYAkvySXK/fGbMfof+xpRHLZtqrNPk0mqN2SnpPOA75iJ0XGrVGSiNyeH36CRumeUTmsgoOljjUsx6NhmJxJWSukCaUnzzdFGj0CZSj50eKdNv1QVg0CsrkFfh7pa2veioXQbvnTDlwyP3ZZ13X4fJNt2xD+7a8novkNq7QObzON1JiJHkUBsdgNjpRjpxpILG8ofefeUwCWpyreBb0w2mtKpvwV4llCWaacupxyArnHa8PfzEHYmXufUDILkoAXjsDonpCtpaisH0/Si56hcxnDMP2yqzTMsPGeiszrwlm7EmH0WYNCHdWB57ocExfXQ5TdbCJoWb+AQ5EauFaKYrTS4WlIGhW0LFkkSeIym47ijMaqfl15W0EqkLKb1l+/7onfBPLEjZ6Ra19KDMI3YHxAluPLi8GbNZlkqTx7ATI= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(36860700013)(7416014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 15:38:56.7898 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 28c96d8f-c614-4e91-c57c-08dd478d88e9 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=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000971E9.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4133 Before adding an endpoint to a region, the endpoint is initialized first. Move that part to a new function cxl_endpoint_decoder_initialize(). The function is in preparation of adding more parameters that need to be determined in a setup. The split also helps better separating the code. After initialization the addition of an endpoint may fail with an error code and all the data would need to be reverted to not leave the endpoint in an undefined state. With separate functions the init part can succeed even if the endpoint cannot be added. Function naming follows the style of device_register() etc. Thus, rename function cxl_add_to_region() to cxl_endpoint_decoder_register(). Signed-off-by: Robert Richter Reviewed-by: Gregory Price --- drivers/cxl/core/region.c | 36 ++++++++++++++++++++++++++++-------- drivers/cxl/cxl.h | 6 ++++-- drivers/cxl/port.c | 9 +++++---- 3 files changed, 37 insertions(+), 14 deletions(-) diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index 9ce0282c0042..fb43e154c7b9 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -3345,7 +3345,7 @@ static struct cxl_region *construct_region(struct cxl_root_decoder *cxlrd, dev_name(&cxlr->dev), p->res, p->interleave_ways, p->interleave_granularity); - /* ...to match put_device() in cxl_add_to_region() */ + /* ...to match put_device() in cxl_endpoint_decoder_add() */ get_device(&cxlr->dev); up_write(&cxl_region_rwsem); @@ -3357,19 +3357,28 @@ static struct cxl_region *construct_region(struct cxl_root_decoder *cxlrd, return ERR_PTR(rc); } -int cxl_add_to_region(struct cxl_endpoint_decoder *cxled) +static int cxl_endpoint_decoder_initialize(struct cxl_endpoint_decoder *cxled) { - struct range *hpa = &cxled->cxld.hpa_range; struct cxl_root_decoder *cxlrd; - struct cxl_region_params *p; - struct cxl_region *cxlr; - bool attach = false; - int rc; cxlrd = cxl_find_root_decoder(cxled); if (!cxlrd) return -ENXIO; + cxled->cxlrd = cxlrd; + + return 0; +} + +static int cxl_endpoint_decoder_add(struct cxl_endpoint_decoder *cxled) +{ + struct range *hpa = &cxled->cxld.hpa_range; + struct cxl_root_decoder *cxlrd = cxled->cxlrd; + struct cxl_region_params *p; + struct cxl_region *cxlr; + bool attach = false; + int rc; + /* * Ensure that if multiple threads race to construct_region() for @hpa * one does the construction and the others add to that. @@ -3406,7 +3415,18 @@ int cxl_add_to_region(struct cxl_endpoint_decoder *cxled) return rc; } -EXPORT_SYMBOL_NS_GPL(cxl_add_to_region, "CXL"); + +int cxl_endpoint_decoder_register(struct cxl_endpoint_decoder *cxled) +{ + int rc; + + rc = cxl_endpoint_decoder_initialize(cxled); + if (rc) + return rc; + + return cxl_endpoint_decoder_add(cxled); +} +EXPORT_SYMBOL_NS_GPL(cxl_endpoint_decoder_register, "CXL"); static int is_system_ram(struct resource *res, void *arg) { diff --git a/drivers/cxl/cxl.h b/drivers/cxl/cxl.h index 85dfc8df0a80..50e7d878bb6f 100644 --- a/drivers/cxl/cxl.h +++ b/drivers/cxl/cxl.h @@ -392,6 +392,7 @@ enum cxl_decoder_state { */ struct cxl_endpoint_decoder { struct cxl_decoder cxld; + struct cxl_root_decoder *cxlrd; struct resource *dpa_res; resource_size_t skip; enum cxl_decoder_state state; @@ -854,7 +855,7 @@ struct cxl_nvdimm_bridge *cxl_find_nvdimm_bridge(struct cxl_port *port); #ifdef CONFIG_CXL_REGION bool is_cxl_pmem_region(struct device *dev); struct cxl_pmem_region *to_cxl_pmem_region(struct device *dev); -int cxl_add_to_region(struct cxl_endpoint_decoder *cxled); +int cxl_endpoint_decoder_register(struct cxl_endpoint_decoder *cxled); struct cxl_dax_region *to_cxl_dax_region(struct device *dev); #else static inline bool is_cxl_pmem_region(struct device *dev) @@ -865,7 +866,8 @@ static inline struct cxl_pmem_region *to_cxl_pmem_region(struct device *dev) { return NULL; } -static inline int cxl_add_to_region(struct cxl_endpoint_decoder *cxled) +static inline int +cxl_endpoint_decoder_register(struct cxl_endpoint_decoder *cxled) { return 0; } diff --git a/drivers/cxl/port.c b/drivers/cxl/port.c index 74587a403e3d..36e487366c7a 100644 --- a/drivers/cxl/port.c +++ b/drivers/cxl/port.c @@ -46,13 +46,14 @@ static int discover_region(struct device *dev, void *unused) return 0; /* - * Region enumeration is opportunistic, if this add-event fails, + * Region enumeration is opportunistic, ignore errors and * continue to the next endpoint decoder. */ - rc = cxl_add_to_region(cxled); + rc = cxl_endpoint_decoder_register(cxled); if (rc) - dev_dbg(dev, "failed to add to region: %#llx-%#llx\n", - cxled->cxld.hpa_range.start, cxled->cxld.hpa_range.end); + dev_warn(cxled->cxld.dev.parent, + "failed to register %s: %d\n", + dev_name(&cxled->cxld.dev), rc); return 0; } From patchwork Fri Feb 7 15:37:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Richter X-Patchwork-Id: 13965321 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2078.outbound.protection.outlook.com [40.107.236.78]) (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 E732F2475E2; Fri, 7 Feb 2025 15:39:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.236.78 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942746; cv=fail; b=P5XD4wDN/Ig6mvP3eFUHR03gRk6kf252kOvnJeZBmPazVpIFSrz1yd2mLzvMRsW6ZdN8kTrfs/vvopmQ6ubMed+xq1xXv4I3lY12XVTcI3VfvBQSiVS/rJY1EBg2gRiYqc59mRsqsDaNaF7MYKaQwY8D8nECBbomCe96uB1fsD8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942746; c=relaxed/simple; bh=WsnQC+EFVYqCB8qlPn1qsHaxO7oEYqEQamzYTq7oW7Y=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=gOWP1nHoq0amjyKW8nKZ8woK6GOC8de85Yp13rV5bPkW/WhLXGe3N6W0SGsj/fJWyAzCPI7tioGHU+Ps5xha6CKUlFO1X583PE47w47p7RS7L9wAvDWpzJ6dEqBx4XuZKSAq5LKV5bih55CwVgNzTDcucUUJP2kE/ke6TrqPfv4= 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=hNP7yCFB; arc=fail smtp.client-ip=40.107.236.78 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="hNP7yCFB" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pN8TB8x4GsiFAMqamxWUP/uXvEqpewv20rrkPj3V5z+6RcnzAFNYKnACpdt1Z6iudfKuI0z+EBr8pPvC8vvU+YMIM7kLW2QZ3Wv6teI1IMVqSReDxX2JBoZgVDz35zuluM+i21pYLPyP3OhCFkCJ4ffps8Rnxrm+rGxoiM+iocH9hXBRFsVEOTVAiP34BxTrE11nDpIJr4znP1CIoRulVrBZDSKSi56GVFa44Lg6znIWpvDeH2sQvuSu4h9jf+M+K6/1RQKka/TxN2uYvLBqnWVfwIL7xQ3dSM5YZh7w+ujYfS1e7tRZYjpwIOq7aFzMZ711NboQfVsyKzBDWDq8bQ== 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=enRnp4rJyzuafsh2R8Nko/V0p4/91dX3rTMtR0Z7Jlg=; b=XoPY/ChhTx/NOZdGfnoTvaL6JwizyqDK4gsScYXD8gtTAABBa1o46I2ilaZ0Z2VNqxmBFyWTajbc+GxF50vVeVCy9ViJ2s1FpCLDqpezO8grd2AlID9QigeFWcCmiwjxMaof8cAQn06nbbJSznNreXBakjK2Si7rsBn7c7TjM6IRDtNn26f5A299ofyFpN5MDCJDaEGPM05MWgpdIJDif96UT7L5zOd/8E18u9pJtexJRxGTQ1r2CiSBmlcT0swXj4NLnlJvqCFbxsfPETM7OGRs28vpbRbVKl71hlMKy3Jhqbbq3PkYP0nGSH4ib214ZunB9dUQA/BrzEKhsHCUIA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com 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=enRnp4rJyzuafsh2R8Nko/V0p4/91dX3rTMtR0Z7Jlg=; b=hNP7yCFBytCKNUd2LSrOkOkEv3nYuDCXUyugiKKoHfj3OBxLZGolxuHTRM9SWas/lHTxPOXc9s1LKdQPwoiRYrHOih9o6/7l+sDmzf0N9lxJXEiHsQiR8IuB3EYhUTwuLQ3jJRR4AB/do3YvIQUTZEb0N+rwChMKNi2SpKu4+Hs= Received: from SJ0PR13CA0041.namprd13.prod.outlook.com (2603:10b6:a03:2c2::16) by SJ2PR12MB8876.namprd12.prod.outlook.com (2603:10b6:a03:539::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Fri, 7 Feb 2025 15:39:00 +0000 Received: from MWH0EPF000971E4.namprd02.prod.outlook.com (2603:10b6:a03:2c2:cafe::7d) by SJ0PR13CA0041.outlook.office365.com (2603:10b6:a03:2c2::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8377.13 via Frontend Transport; Fri, 7 Feb 2025 15:39:00 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000971E4.mail.protection.outlook.com (10.167.243.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 15:39:00 +0000 Received: from rric.localdomain (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Feb 2025 09:38:56 -0600 From: Robert Richter To: Alison Schofield , Vishal Verma , Ira Weiny , Dan Williams , Jonathan Cameron , Dave Jiang , Davidlohr Bueso CC: , , Gregory Price , "Fabio M. De Francesco" , Terry Bowman , Robert Richter Subject: [PATCH v2 12/18] cxl/region: Use iterator to find the root port in cxl_find_root_decoder() Date: Fri, 7 Feb 2025 16:37:47 +0100 Message-ID: <20250207153753.418849-13-rrichter@amd.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250207153753.418849-1-rrichter@amd.com> References: <20250207153753.418849-1-rrichter@amd.com> Precedence: bulk X-Mailing-List: linux-cxl@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E4:EE_|SJ2PR12MB8876:EE_ X-MS-Office365-Filtering-Correlation-Id: 86ca1259-a1fc-48c3-d741-08dd478d8aef X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|7416014|376014|36860700013; X-Microsoft-Antispam-Message-Info: N/5aPWy0GGtU3TssEk1AydkjIeZwIrigrIR4VQewGc1spqMH4HsFwL5I9uf+qR5pOaYBQJ3rEcezUXWhfWRjGz96Ut45Bl5M5QZB/1QdVj5u4fETX8B++gQfw/TTUVjp219T1sWQ+h+tO5nNs59n+7YlP2gde9lU2tl+COFlybTVOiy1DViyBorrg1PIXjWOUCV/h61Mv3nA671UbTHp9HEqDpmkg4LDzWJCgnXHTBs2cej2h+VjIWyYOA/iDt78dIEryfv1s7FvRoCPKeVZiriTo2ApnPstnflN0b1769ESiJ3ubLjbR2/bNvxdQdoB67qsQjfGfBH53ddBpPaknjRfyD26y3haNhuwB/pWPOcda2rc/MTtiHiFjQ7yblRlTL53LnwGQZ1nrPN4igX4KxKBjG6sTzqSU5ovg0Om7uQaQiJ+UKV8rnkBtuzFbO0UjdTmKwc4wdqnzLEBQkEtjIhuQwmO4shEph1AhnpcutcGP/+uigwOvtc6ea4xfH6ad1WGONsW3g9M38kZMVIE8qoh3zgFuiFzIhoLmtXYMdUdcPWFnFmy7wgEaAuiwsIpWnnPE2DjiAHT3Hj86M7Mai8DJhom0RrbBdi+L1tCVQxaC78G+32JS+Wq0VHqWgEreaExQ6B12MMSYDTAxzCChDd9eLVzVbaa6HFFK7Fccnxqgz0Bof2ENbgmg7xFLZ+mJJRTl/nl3CNge0i6KMgNfd3Bj+HfcU6rN8V7rI0+9Pa4JAeCXFEXQd4mquqeKPxJZmR0y5/JSCQnH2oCgdUoz+rXOR+bUlPK9J3ANAwHZPKMBOIoTLFrcDtkT3uEi63eqR/pwOCAH/eatXP8wG6DUOGkcO9d8tfa0hpniKdl0NtxNbBB2TFoMv+viX5mX6wx1656tFNRHgv8lUn3bWjGucqQJDK6XnRQqcWtjgjqFZJbWZj7OYXLM/6L6kchtZ+MHhUC7jCoq6eNfSa0SdKyq8K2J85Ch3mViWcXWpJcXOxC9HFP+NxUM8n/SB6+aDQ8UHyq389PcutYKmfFtqxU2LBTbfyIifNEh5YNzKZvxtHA0pVpuj3CBECkCVbMdE+vuFz3TJSWmhkFG06P9MD+dQHomuREdZrzHJShogPtEhfY0MkSAnv2cUgTO67FMXK8rtM7pJIeuGUGAivDr7faWKF+Kwj4NF4cQEJNERSDkM06wi3H19bULvrTzhz1SZurMmR/RvZpfsSrGrir6zylZcA2/GTW5EYyVSzyqqTsi0sFJ0ClwGyhX2S9zXimzVZnKxyPHZBCaetKuhWLcluyl25wDhuJxxv3liBCZUF91GhXOUkabgkiRgkkKhmi0zj5zDUpgecnBPR0isNQGqwpoqVXcbzFJ2YsR+NU6/o8WSUCaas9b8LWYu43OH/mOJh4xNWHirIS8+m437kjHDDkBin4l3LdaN9yEFTcUzNxi0c+a6Z1zVBWR5s9B1xBxkjURyj45PpkXgqfNfSK6qpjWyr89fw9tohCFfdKRq2y9zo= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(7416014)(376014)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 15:39:00.1694 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 86ca1259-a1fc-48c3-d741-08dd478d8aef 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=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000971E4.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8876 cxl_find_root_decoder() uses find_cxl_root() to find the root port. In order to support address translation, an iterator must traverse all ports from endpoint to root port and filter based on system physical address. Replace the call to find_cxl_root() with the required logic. Signed-off-by: Robert Richter Reviewed-by: Gregory Price Reviewed-by: Jonathan Cameron --- drivers/cxl/core/region.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index fb43e154c7b9..cfcd235f311e 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -3207,13 +3207,18 @@ static struct cxl_root_decoder * cxl_find_root_decoder(struct cxl_endpoint_decoder *cxled) { struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); - struct cxl_port *port = cxled_to_port(cxled); - struct cxl_root *cxl_root __free(put_cxl_root) = find_cxl_root(port); + struct cxl_port *iter = cxled_to_port(cxled); struct cxl_decoder *cxld = &cxled->cxld; struct range *hpa = &cxld->hpa_range; struct device *cxlrd_dev; - cxlrd_dev = device_find_child(&cxl_root->port.dev, hpa, + while (iter && !is_cxl_root(iter)) + iter = to_cxl_port(iter->dev.parent); + + if (!iter) + return NULL; + + cxlrd_dev = device_find_child(&iter->dev, hpa, match_root_decoder_by_range); if (!cxlrd_dev) { dev_err(cxlmd->dev.parent, From patchwork Fri Feb 7 15:37:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Richter X-Patchwork-Id: 13965322 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2078.outbound.protection.outlook.com [40.107.101.78]) (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 4971F2475FD; Fri, 7 Feb 2025 15:39:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.101.78 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942749; cv=fail; b=SvZDh0314ov2o0kzY+JsILt657mEXZm9zjNNkGG8RO38jSnr+zy3L0f1b5DZaG60EsOQYIeiH9cqslwqj2p0D/HPJQe72pqDGGMhj87vCm4E4yNpHzS7rJML0wfk0Z2TWRoHTYBMtRW4agnrK8anvahVCvH8/LY5AnB7BMzm6yc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942749; c=relaxed/simple; bh=bG8SKtpFLu+nIPLweQ19Zr9721yzZM7dUtsVLpVvMSk=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ZysSN/UFb0A10cDjweTbQwFd+47ubleGOUTne3lNpGI87dnBSpBTtz69B2R+c7Osja5kyksZHgRiL6qnXNbluGVObl+p1JA86yAVUUQ3GMe9aSyjcYHe2E50J+SKPwPTkfOi56a2iS1REgVp/ELGR9MyX5Qz9pqe5URv5YL0bVU= 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=eRMB6agQ; arc=fail smtp.client-ip=40.107.101.78 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="eRMB6agQ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=J/NX7nyTRDdM2Sw39xlhA58X6w5KeuPv4Jp4Qd3sO1CJsg4dSuuwmQJbpppI9zLliwUYrV8432LNvL6KDN19UARD02MEVZz9upIG31x3wzd7JS4jss4eRdB5H7vERxATKa62O7jqBdczELfxKeayTTedQhOaCYEL/bcwn9wqskUTC5omkvgC4dJ5CAyGZE02NF7k8tGgBfBso2ESAp5soQuCaf15phzequvBdSfCyv+mL2laRQ7h/JgXqGCHWBmoHCcif7TcS9LeGDxSF96IlakoDNTk9TYKWZZeO3inIGgoODEjOcJjUpXkKm0s7L0LiV7eT/ezUhvFZPr9tQ/y8A== 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=91Z7rypisvnzcI4Z9R2szRm5jF0ATGlCmQJ0TBdCjrE=; b=Jyut3w75703yHSCgDxHhsL8vKE4xjbS/J+UotloKCW5wgfC51hFswRPaPfZ/nT0J2X/gKt/00uDi7rCCEZ/91WDYtR7rH9y80e4qrMYuCyKol6BnHbzjOX5sMJN42QSRRWoyUE+X4yYee4W/OP8L0z3amm9+IfkZoxIzwGrZkYGZZEwhfgo5BPGutsOVO+zn9E1fXlLjBbwx9Jd228yHWXTUXZlUvJ03dDHOBDEVma1xgcRs0r9d0DfrDHlBr/NYJ8e8+2Qdn6DA5LicQOajrzkb/mU7d8KvZUOHRFPX5KFlM85SzoFpDdoneRyg19/DYiqiCczRvGgFTWsjP330VQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com 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=91Z7rypisvnzcI4Z9R2szRm5jF0ATGlCmQJ0TBdCjrE=; b=eRMB6agQIDQuP4DuAJwBtB40NnjJIJKwAvDdCxdOw2/v3YZROnpa8dhjv8b+uSoJZb9Ct7wFi2BkikF78Ah3riQHdwCTG4RnMia4pkkdr/kf2AhEL9JQRNLPQruBMk90qhiK7ySglzQGKwx+dB6OaV1RUMuu12lgdIR1/Q4TAuQ= Received: from SJ0PR13CA0044.namprd13.prod.outlook.com (2603:10b6:a03:2c2::19) by SN7PR12MB7024.namprd12.prod.outlook.com (2603:10b6:806:26e::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Fri, 7 Feb 2025 15:39:04 +0000 Received: from MWH0EPF000971E4.namprd02.prod.outlook.com (2603:10b6:a03:2c2:cafe::c1) by SJ0PR13CA0044.outlook.office365.com (2603:10b6:a03:2c2::19) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8445.7 via Frontend Transport; Fri, 7 Feb 2025 15:39:04 +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=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000971E4.mail.protection.outlook.com (10.167.243.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 15:39:03 +0000 Received: from rric.localdomain (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Feb 2025 09:39:00 -0600 From: Robert Richter To: Alison Schofield , Vishal Verma , Ira Weiny , Dan Williams , Jonathan Cameron , Dave Jiang , Davidlohr Bueso CC: , , Gregory Price , "Fabio M. De Francesco" , Terry Bowman , Robert Richter Subject: [PATCH v2 13/18] cxl/region: Add function to find a port's switch decoder by range Date: Fri, 7 Feb 2025 16:37:48 +0100 Message-ID: <20250207153753.418849-14-rrichter@amd.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250207153753.418849-1-rrichter@amd.com> References: <20250207153753.418849-1-rrichter@amd.com> Precedence: bulk X-Mailing-List: linux-cxl@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E4:EE_|SN7PR12MB7024:EE_ X-MS-Office365-Filtering-Correlation-Id: 7e5c35b8-7f45-47e1-32a0-08dd478d8d14 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: 7MXYbF0p707QBNCyZEEfUvdGgUvUaqRka6juuY3MKqd2decWxaik78bV7qkx3Qg0rav61gbHdZV6iLSOk76+VJ/1pD+RpUXkOgzj+D59HOoX9NvpG+U1HqCu5uYDb2q9Uqxfheqg6rilIZynQPn9Msato81tVlIDEDLdG+T97YpSphtys8ldNEkZD0dcljsNn+HMr7/IysWR/+BTIue25aEfnbEG5fCb4OHQ8m+CufZteRSM5NJCtSQtd+ApKlEhAkAol1RrPC9lQuWTUqtNo29sq16/prvL8CbJfdioUGkoq6Yb6z8H+Z0zVbUVTLuSlnmUC8CyZkr2Ek8ul/p4XYdsDMJtf4vzsEcENqYMCmzzo4Futror9K/f+42SeToDZItj/g0/E3oYsUCr2A7D2i2bFF5up74KiHqVrra4zHdbvpCuWtOq5HPipQeEnYN8e18OqoD2T28lh2WLhi9venhi97vIC9VDbbWCK+XNOK9oy7diKDV+sOkWHrur2exvNoOoQacBri1pBKqAD9K2qXI2TsG+9FLdCEbUWoMKt4ym0cxK+nnupE2mMA9s4igepXMWLXMFBm7SO27AtHK4IuI8s+uX8muqI1YgGGgKVm9TNK36OI2LXVLHpnDnc/YgWVppAKbiuss3saSHAO8Py5+0/c8Cz+kqvzr5pMqneoe27Zys0BGjZIhlwd4V1dc+mNEphnKP9GOhG72U3yixemYM/7tRCobcvgVvKIJ7YwuxjKQVqzMJSbMPQo/1BDe+IoJ4Z8+AXkk7JWA4O25QO2EgmIc3p8Ab3izS4IxIe42lSH2eUh7itLeAtWrKY3fQBKskdjZ2Jx7DupOUiLZofQQ1WZEtRxtbmL+ENCWUIoZcKgQvpgAWQAiS9A18MFYptbIvPYO58AxTUSdMIEKDbf5WRwdRZNgS5fdeF7CDZEHOfSFswiprgi5AqPN5pgd73SKNRA5viKWctkzCf+Z3UTkKqSoPLXc6s1nTy++5hPwkBT/bIp1roCR83oUIvPtiYnnIDXi9jlO4CSV4KHsh84X/Me8iY6NBUB01maPdnGhrC6FhWsqpkIEurxS/lRDcQGpIy7A9CeEtmLX7zQV+KpvwZ2dpgplV1PAi9ulLJ+TLWwmeInCEKek8Z68TdnWTlsQ26dMrYNsdW3Ypf1Id2gWeZy3QD2HQl+WCtaDTNvbkg3e+74d3rzPTFHYkwJIMlll8qcro9AH28do3YVNa5AINpYWY2ErgLvTNP3fDENoXxirfM7aGDVIfkRNCtyLnWVdx/ahbmrygd/XY/qp4SkyUpOGc8oP6p6G/ITikhmH59BvCNyhqAZRmFiZR8xuEtgh3t3l18r+4Qlub/ChE56Jo1o4QjzIiNjQ/2BknXBVLSoq8adP/uril+I82ZTAbM/oK7SHFxbA4x+W7sIQMLlu52d5oyYIzMAGbH1rwspyp34omPaklvzuA7TM5bwsfe9yCSqew0bxNk7akEO4AQ9sg/1ZbyxysF0YImJ/vfsA= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(36860700013)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 15:39:03.7787 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7e5c35b8-7f45-47e1-32a0-08dd478d8d14 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=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000971E4.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7024 Factor out code to find the switch decoder of a port for a specific address range. Reuse the code to search a root decoder, create the function cxl_port_find_switch_decoder() and rework match_root_decoder_by_range() to be usable for switch decoders too. Signed-off-by: Robert Richter Reviewed-by: Gregory Price --- drivers/cxl/core/region.c | 46 +++++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index cfcd235f311e..15286acdf6d1 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -3189,20 +3189,37 @@ static int devm_cxl_add_dax_region(struct cxl_region *cxlr) return rc; } -static int match_root_decoder_by_range(struct device *dev, - const void *data) +static int match_decoder_by_range(struct device *dev, const void *data) { const struct range *r1, *r2 = data; - struct cxl_root_decoder *cxlrd; + struct cxl_decoder *cxld; - if (!is_root_decoder(dev)) + if (!is_switch_decoder(dev)) return 0; - cxlrd = to_cxl_root_decoder(dev); - r1 = &cxlrd->cxlsd.cxld.hpa_range; + cxld = to_cxl_decoder(dev); + r1 = &cxld->hpa_range; return range_contains(r1, r2); } +static struct cxl_decoder * +cxl_port_find_switch_decoder(struct cxl_port *port, struct range *hpa) +{ + /* + * device_find_child() increments the reference count of the + * the switch decoder's parent port to protect the reference + * to its child. The port is already a parent of the endpoint + * decoder's port, at least indirectly in the port hierarchy. + * Thus, the endpoint already holds a reference for the parent + * port of the switch decoder. Free the unnecessary reference + * here. + */ + struct device *cxld_dev __free(put_device) = + device_find_child(&port->dev, hpa, match_decoder_by_range); + + return cxld_dev ? to_cxl_decoder(cxld_dev) : NULL; +} + static struct cxl_root_decoder * cxl_find_root_decoder(struct cxl_endpoint_decoder *cxled) { @@ -3210,7 +3227,6 @@ cxl_find_root_decoder(struct cxl_endpoint_decoder *cxled) struct cxl_port *iter = cxled_to_port(cxled); struct cxl_decoder *cxld = &cxled->cxld; struct range *hpa = &cxld->hpa_range; - struct device *cxlrd_dev; while (iter && !is_cxl_root(iter)) iter = to_cxl_port(iter->dev.parent); @@ -3218,9 +3234,8 @@ cxl_find_root_decoder(struct cxl_endpoint_decoder *cxled) if (!iter) return NULL; - cxlrd_dev = device_find_child(&iter->dev, hpa, - match_root_decoder_by_range); - if (!cxlrd_dev) { + cxld = cxl_port_find_switch_decoder(iter, hpa); + if (!cxld) { dev_err(cxlmd->dev.parent, "%s:%s no CXL window for range %#llx:%#llx\n", dev_name(&cxlmd->dev), dev_name(&cxld->dev), @@ -3228,16 +3243,9 @@ cxl_find_root_decoder(struct cxl_endpoint_decoder *cxled) return NULL; } - /* - * device_find_child() created a reference to the root - * decoder. Since the root decoder exists as long as the root - * port exists and the endpoint already holds a reference to - * the root port, this additional reference is not needed. - * Free it here. - */ - put_device(cxlrd_dev); - return to_cxl_root_decoder(cxlrd_dev); + + return to_cxl_root_decoder(&cxld->dev); } static int match_region_by_range(struct device *dev, const void *data) From patchwork Fri Feb 7 15:37:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Richter X-Patchwork-Id: 13965323 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2057.outbound.protection.outlook.com [40.107.100.57]) (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 6D22B248186; Fri, 7 Feb 2025 15:39:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.100.57 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942755; cv=fail; b=XZzER9pe8h94HrIOsFguHeASG34RQAvlYHgvA1XRzVedv4YXaAmLByrLaay+XdhLv2/Jw3nHKtTzeAkVECJsUpmCWARXofV6YxsFYSU0kepVIXtFutb6YQk0c09st3jiHsjT1shDMk/qEm+eyN9HxfFPMH3YrHLwlgl5nS4wRMA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942755; c=relaxed/simple; bh=+8XZ+c+eU32PrdL0UzmsNXYeEM/G0RicivRXq8Epq8w=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=bWeCM14bbnnG5n3OtQVx8YFiUxBkthUQhbxQavi0nMxAmSj2qLt8z1cVJCirjF1DltrRTB7r6/9PH1AL/Iu+v7HNDSPiUGJNX/tJR9t3fgHwduaIpyUeOWb0iNBhjaf6irjbeWIfXHsCBIsiczFFwNdh3iMCfVJiLEqSqcRoM7c= 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=3eLME9Y9; arc=fail smtp.client-ip=40.107.100.57 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="3eLME9Y9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AyXIuuNZfkSf66fUq8rB/udiNQsz9mrZf5WNtMOsmCiRpVtRLV+omXc0nPFwNWbP4cYRuFQ+UOn9COP2hpqNeMTnkbq+mv814YgjGKyTTXvg0zaMtXfaw8ToG1CiR3oaIxLuOpPv633QfQtxOaZ7DjYZ/CcYpyNizJNRyEz/RGItoK4wdQ62SySrd5uwchnARtjHCrnDUHOWezVMXGtB5gTLxR5HbjDAeDXIBi7TCqW59AZqzqU4TPkoomuGF5Fj89PtnYjAXC0eGOYSISuuYjpxoTYBqKTtbGHMWYf3+D++6RCQcafswKfO6DjQEGw3KWsYSdXEyFK2lT9A4CCt3A== 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=NaSifXuwFSjEQy6dqBlQkXHmCFQMTAoxoaB5ZkHufis=; b=aIl2qLVBVDG2Ii2LpLNJr2fVhek8C7JBlTZ5zq9yNwy3VNjvc3LJMtMruKMo3yg8rjdVE1i/tnAceTDkIWHRovQuxsQtOeXL6RzCiQKxLDmBf93YzqSe0nYkxlItHwqU16V5EtWd3ZUAuD7bcucsi84brYohkxdI1NixNC+TA6KIIYrjg4BBp/NZK9QUIYps6AtrCf6QmS/br4XAaKCoPSqY17gn2zXZIofz9qGsSRfMU21tYTeGDq+ZOsn79RR9XWyKt7Ag5qrYBxDp/VgOC/Is6HAQ8KaD4y5Do0F2APd5C3ZpuFKeWZ3ubrd8OlyCVCDbpCci0prXL0OWDiYF5Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com 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=NaSifXuwFSjEQy6dqBlQkXHmCFQMTAoxoaB5ZkHufis=; b=3eLME9Y9jyZT1Qdw14+danK3lxF3FywYuxuUXhW23ygY2KIHySLOui4uVePoc3NQdw84wPYVDvCqSjNSFsyidT3LOdwj9gEOrRnfcHN5PkMKitOml/LPCPbqJ4PJyYdEk9RgExdDd0aT4/Nk/a8MWL1qjcS4CO44B/0JRC9D5eU= Received: from SJ0PR13CA0034.namprd13.prod.outlook.com (2603:10b6:a03:2c2::9) by BL3PR12MB6426.namprd12.prod.outlook.com (2603:10b6:208:3b5::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Fri, 7 Feb 2025 15:39:08 +0000 Received: from MWH0EPF000971E4.namprd02.prod.outlook.com (2603:10b6:a03:2c2:cafe::b8) by SJ0PR13CA0034.outlook.office365.com (2603:10b6:a03:2c2::9) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.24 via Frontend Transport; Fri, 7 Feb 2025 15:39:08 +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=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000971E4.mail.protection.outlook.com (10.167.243.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 15:39:08 +0000 Received: from rric.localdomain (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Feb 2025 09:39:03 -0600 From: Robert Richter To: Alison Schofield , Vishal Verma , Ira Weiny , Dan Williams , Jonathan Cameron , Dave Jiang , Davidlohr Bueso CC: , , Gregory Price , "Fabio M. De Francesco" , Terry Bowman , Robert Richter Subject: [PATCH v2 14/18] cxl/region: Unfold cxl_find_root_decoder() into cxl_endpoint_decoder_initialize() Date: Fri, 7 Feb 2025 16:37:49 +0100 Message-ID: <20250207153753.418849-15-rrichter@amd.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250207153753.418849-1-rrichter@amd.com> References: <20250207153753.418849-1-rrichter@amd.com> Precedence: bulk X-Mailing-List: linux-cxl@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E4:EE_|BL3PR12MB6426:EE_ X-MS-Office365-Filtering-Correlation-Id: ad149374-8c18-4022-60bf-08dd478d8fad X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|376014|7416014|36860700013; X-Microsoft-Antispam-Message-Info: za6HSJ6Hkg2XfznzabvrlQZoTejnp6An9qYeSeYk+3HA44Ce23QVxs5auZ3ciDfu6ULgPF6El8NgN8E05N38bcqGBMplfUr2PDOlBAdR+wtoXP3TzjdWwp3ar65MF2hpjwDwgwZbJkjcvuetX5LtOxQUapY4qqh4I2DBqRRHDGN8mKEMDXY+DJ9rlJDv/GqB74eUJnlSpoiFA93rMD7DkvAnwtkejIngk1CvNNBaZTXux6kcuwPenW6Eh/vLZhEx2hkyQU0e69LK6LYbik0ZGqdXM3spc0z1P1rzlew24GS9HFOr5Yy2hIcacU4d1aVP4c94enIKeHNFqTlbf27FfOcpTZmc5zN3mWIMMa+Yh3m0p8lJ6JfNvo/cXqhSnO7A3GorxdJY3/Dym1jmytx6UEdZJcPQp42ZVaRfUDwZvBHLARIE7UZSXOPgc36O/fpLE+BlE92pNLJx/nWAutyM7KUvhrKCb6bylNJB646Ly/bh865rUF7gfNnc5M547NEhtpBIo7/pj6Gf8zNySk1wKCvj+nXSg/n045tyfc/AKDoqwaWIh5JPLSncV5FcHqrP8lSBouy+CVsMwxGnGvB73V8+9H9ll3JCIZhMoRioEeHJraH2cNzryQ5vjB6xAa9do0sOt4ju2jBe+P/AZr3Rc9P6+nodFCT7qcaXZ4HI4DLaXwZjaiHzj/bothyLEUM/vpy81nmJwRDZaZOKOT3KlWrtspcC4eYLXxr69P/K2lXLRRZrt2u+5dj5jcmneKwhdzdAd0/S/OT6CTfMbzOqy16fc1Kyzl2Au2Yo15A34G+CZ8TkT4kEAVixw5El5V4PNHtgabqwYaQTzK0sY/VYlGWtp6XZJreucR0XkgTAH+Th23O+yhWlceCcZRpl7zqKHHbbhP80xJjzbkT3xUxUW/WXvsS0b85h3gKbP109vbWe+3d3uq7h6o0pa7JekCIZ61IikOoktAkUhSXhCONbSd53bcJr0xNeKeqGc2EHY9ufq0Ii9blFy7/ChmmCCgKc//dov4qU2Bg9UwzZyVOQwVRU+GpnhRu7qbtzIAuxAFICflycaaEDQvaIIdUbUhUvzMAWVhZfeI/eCpdDiBkSJQBfV5ufQWSosLG/GvyLwjZAPvMVW9HfJh6JUjzq6BH3i2HJu8mVjBrBBX+CFdX4Kbh1NnNEos7WvOtyp7/HmMw4KScUKQSTITXLLUzo0L5yPg/WMMJA1CTo2zbTOCGRUhSuC6otrOeT6yvvm/ECmDD4qqhrJ+Y96xkxo83TkdIYwagxq88rRBwunn6zts8fOEJpuvX6NYpIwWvqKSO+9zcQlL62wfvo+iNIhNPQQ2FqAAB3nBZmoQxx+CHqtJw0dN62AjCgMHlDO19sh/Xo9mIk+7G7GgJ7miKjZ8T3SdPKv4DkG+w5neimlSbyHKqmRJeNJq+S6TTF3hIrE9TkEaEoVrfamdG1gSbOPNdqJt347TlfxBnuUB7G50MJQyBZKPFUN1rSt8MUBz/sQ6R49A4= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(376014)(7416014)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 15:39:08.1225 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ad149374-8c18-4022-60bf-08dd478d8fad 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=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000971E4.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6426 To determine other endpoint parameters such as interleaving parameters during endpoint initialization, the iterator function in cxl_find_root_decoder() can be used. Unfold this function into cxl_endpoint_decoder_initialize() and make the iterator available there. Signed-off-by: Robert Richter Reviewed-by: Gregory Price --- drivers/cxl/core/region.c | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index 15286acdf6d1..728cdd9925a8 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -3220,8 +3220,7 @@ cxl_port_find_switch_decoder(struct cxl_port *port, struct range *hpa) return cxld_dev ? to_cxl_decoder(cxld_dev) : NULL; } -static struct cxl_root_decoder * -cxl_find_root_decoder(struct cxl_endpoint_decoder *cxled) +static int cxl_endpoint_decoder_initialize(struct cxl_endpoint_decoder *cxled) { struct cxl_memdev *cxlmd = cxled_to_memdev(cxled); struct cxl_port *iter = cxled_to_port(cxled); @@ -3232,7 +3231,7 @@ cxl_find_root_decoder(struct cxl_endpoint_decoder *cxled) iter = to_cxl_port(iter->dev.parent); if (!iter) - return NULL; + return -ENXIO; cxld = cxl_port_find_switch_decoder(iter, hpa); if (!cxld) { @@ -3240,12 +3239,12 @@ cxl_find_root_decoder(struct cxl_endpoint_decoder *cxled) "%s:%s no CXL window for range %#llx:%#llx\n", dev_name(&cxlmd->dev), dev_name(&cxld->dev), cxld->hpa_range.start, cxld->hpa_range.end); - return NULL; + return -ENXIO; } + cxled->cxlrd = to_cxl_root_decoder(&cxld->dev); - - return to_cxl_root_decoder(&cxld->dev); + return 0; } static int match_region_by_range(struct device *dev, const void *data) @@ -3370,19 +3369,6 @@ static struct cxl_region *construct_region(struct cxl_root_decoder *cxlrd, return ERR_PTR(rc); } -static int cxl_endpoint_decoder_initialize(struct cxl_endpoint_decoder *cxled) -{ - struct cxl_root_decoder *cxlrd; - - cxlrd = cxl_find_root_decoder(cxled); - if (!cxlrd) - return -ENXIO; - - cxled->cxlrd = cxlrd; - - return 0; -} - static int cxl_endpoint_decoder_add(struct cxl_endpoint_decoder *cxled) { struct range *hpa = &cxled->cxld.hpa_range; From patchwork Fri Feb 7 15:37:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Richter X-Patchwork-Id: 13965324 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2088.outbound.protection.outlook.com [40.107.244.88]) (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 7D8E82475FD; Fri, 7 Feb 2025 15:39:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.244.88 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942756; cv=fail; b=I78c/HOqS6M/6hBLoxhl13rwxBMFGBDggFnCLeZhZWXrJnY4rFFX+I5PS8bol5Wv7VyRlfy2GrdR9YEbj4eUmx4bbadXSx38Ws0wu1nnpyYIBu8GUxh6NcJU3CRjhobYNol6aBCIjJt0jZr4oAIw/EhKo5Hc+lFz4Y/XZi0zGN8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942756; c=relaxed/simple; bh=d76fuEVzh0anBijk+8eolQ4WUD5ou2mYa2agAHh452s=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=e3veSCzt43mBvYoj426wQP4WyHhwNusEkTPFjYzKaSgGXn06sn0eF20TkYMh7C/fOjlfqwbl0eBnSXnMX7UktNwrHU5nBeEnVoHG+jrbky52O7P/ql1n5AcrelkVD+YKSsUgFUg2i3hgmD070OBmtk7zkF2+vRZ0e2n4uxZVeVs= 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=oCOxUINA; arc=fail smtp.client-ip=40.107.244.88 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="oCOxUINA" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=POmOs/jFEoPKBDVBsOcX7IA5APQLYYTmPdlS3HFvBNPv2DkbclizhZomhI8IMe5+3LCrOmOt1e6vFax7mXlFMtIAjC4ETTZK9n5ZXwDt669Guwu90o5xjs7ocGUcX0Bv31UBMC2Sxng5iSurtc4tzntwgYVpucyKQFbH+vhy0xbdTkGR1S3lqECV18bakB+oF6Z53sp/BGwsqY0C73h8BuqaBri5lNepbZE5ezhHx68mHRZVS0QgUhDNrjPKWdBzOgcB+7l1EFOquS/geYlag3DTgEEVgzDOTcGeCvj1TuBqmtHqX7jKo91JXn8+h969OiJnKYhIMuLbynyD7nPofQ== 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=phVIGzXpFboeO07RCbLecw2c+NB/H+hupxKg+jN0jzg=; b=WK/baJ/+cj8mkAXvAxo3FrOX2+5Hpjh+YO1+wtACC50samJK1KfJvnQCvueIsTwbVQm9/1lHnTCwtigu03HyK+faLuQJX7LzsEsl2X82fDsEo8k9ts6ggErzbF0d0HkcgqFpcHAHD+If3SwWwzHVOdXEdummUPCb9b6ammwYucJ31Gz1knlyKC/QKnYIM6zYC+Op9jPxpwSPRBfpOr7St5XXX5yM3W3tmLFR+JXmDI9WVhKNgy0m5fT95MRYkaJhQ4n5sWegrzdqQq7qf6cFsS3YM/8h4667prsJtYUvrY3zE+/2d1GESeMW18yZEB03V29pKAx0Zy1Y9HSS9UWZZA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com 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=phVIGzXpFboeO07RCbLecw2c+NB/H+hupxKg+jN0jzg=; b=oCOxUINAW9LBdLitdcAVp/SS5nQyjhdHTkFj7Sl73mUotiCHQTFpzIphDM2UnQ4TUfIN0kLskUIzn+UzelghUpOXOPWtbJVogixNYIFx1A5a7twOSQZc7KlJ8kMf8qea4rxYivp0v09Nu7f6SMsQXCaDCs+ciKrK//9yvOQSImc= Received: from MW4P223CA0005.NAMP223.PROD.OUTLOOK.COM (2603:10b6:303:80::10) by LV3PR12MB9187.namprd12.prod.outlook.com (2603:10b6:408:194::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.10; Fri, 7 Feb 2025 15:39:11 +0000 Received: from MWH0EPF000971E7.namprd02.prod.outlook.com (2603:10b6:303:80:cafe::5a) by MW4P223CA0005.outlook.office365.com (2603:10b6:303:80::10) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.30 via Frontend Transport; Fri, 7 Feb 2025 15:39:11 +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=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000971E7.mail.protection.outlook.com (10.167.243.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 15:39:11 +0000 Received: from rric.localdomain (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Feb 2025 09:39:07 -0600 From: Robert Richter To: Alison Schofield , Vishal Verma , Ira Weiny , Dan Williams , Jonathan Cameron , Dave Jiang , Davidlohr Bueso CC: , , Gregory Price , "Fabio M. De Francesco" , Terry Bowman , Robert Richter Subject: [PATCH v2 15/18] cxl/region: Show message on registration failure Date: Fri, 7 Feb 2025 16:37:50 +0100 Message-ID: <20250207153753.418849-16-rrichter@amd.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250207153753.418849-1-rrichter@amd.com> References: <20250207153753.418849-1-rrichter@amd.com> Precedence: bulk X-Mailing-List: linux-cxl@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E7:EE_|LV3PR12MB9187:EE_ X-MS-Office365-Filtering-Correlation-Id: e7d78018-caca-4e8d-0d24-08dd478d9184 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: 9/lN4VeDtmAR3BTmLAOPVuJuEgr2U7pMHu+2E3IJ3IkcsrGs1pA6nm8kf+rNW9eEMaIqFIHwt5mNPSrg0k7Exaca22D4KtPiPKrggjuOgpnhWBIe8i/oSTbNMkIKx4bbrqMi9gXWosnMEOppluDCdc9IaDvx4TKhm2leqJP7NCjpQJG7+3KdXvgnuDlgL+Pn7fFtQegiSHPbcsPJ40Ue8/3dkvJoAd3m1Z9T+gVfUufbbPGBVV+sstOe9ZCl6Fg1IvLsVftEeyvjkRjgDyFoWJ3bLwx4e/vm1pgtumke9WZJO2oka3runSvnJiKZh+wIzAi/VEL2N5yaCfllJaaAnRwa0AtPJ79HZqSkDMlMsdujhMC//YFOfXU+RWBHEjY62L3sHqJQB97DkqsxUO00tjcoi6VlIj3x9kj5x0HqF8xa9s4LtnHN0II4MsMnBCxP7D1O1o9v7s/a7JM3apzDPueOawKwcFqQ1YBq1io/TWcNs2QO1mZ+Ip+BWHqTSI4oBfNIVNMENuV5Ou7gle8SikALPNteIvJIBhsA8oBE4T4fqMq7BxI0ouJ2sEWr62EYvlySzCQyAjjtGmcap2hwZWzxhGQCbWQ51eFivD5CWOjE5TWXQfZITYAval0aRyub6yrEhH7Wn8Ux5ebBK4zjtKiLkix7GkMFc9XqlAJtmfLjHHCfw73mp96KqK6KcP6Q7t1y3iteMUsQzgzBIN1PkNdRQgo2jBRALjfmSC1NFYk6DI+eCdLuwxF5cLxvjOWlQhVFFtssjXTbUvSDEovUxE2HY3CQRmG9PKdMcYcXomqH2hmai5XFZhgdAmySHPebFyvak2KyY4igs2jMjivtf3rqfIhiCQzXH7ZAcvC4OBnvTP1yYXf7WubOHR8a32WAhO00gL6vbyMUb4pCm7sAy6ZROJYoN6pQgo9KZ+43eYJ91OcDbIXPtzYYKvky56gdmXy1ITA83Hm58ARAM5w2K5j5F3cAxx/yJQ2kR90wQPHDTTQJOFF3gMZlJ5xxeK54lYy7b9RHnj+wTR7qp1NTjs6jTH7lL5GPB0RkAhmYcUba1I81PSQldOxxdEZZ1MTj4+2CGmi3Bxo302TpLGzmPTr7bWwQK0hMW3jDV4fptfwlq7IKz2IuMdijWJlZSxf8ttVUDSE0uQhI0zf5EtOWvjhDhoz2wSH7gZ1IUrFDvm+7IkpASzz/Ie8YGNNP5xtYEdyoUHFpl6auuvJzs0cPs/UTjMp7FtwcUiZiuJ3iIBFYM5LgBY7Q/6bI0aIVeAsjWSbYoNE+AMYhRm6TlNaHYzhHjkE5YoaYZBZjxJud+kKtM+VuisiCUlp4bq7EzcO62leARS5XNK2cmpWvbORSAbOVUYQ0Wq6Gc3x4N/FJ0Z/HpCL4KdoaZ4qu8PJvHfSfr8LbVmLQ1w7JlfoyqwfgUu+f2IR0a0rvix0TEy4JqqD7mFneb8dGRqbLUs552m11a4KOWhMDZcLhxRHFuPNlZNG+fKmjvFCfnxhgkU0d49I= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(82310400026)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 15:39:11.1289 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e7d78018-caca-4e8d-0d24-08dd478d9184 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=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000971E7.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9187 Esp. in complex system configurations with multiple endpoints and interleaving setups it is hard to detect region setup failures as its registration may silently fail. Add messages to show registration failures. Signed-off-by: Robert Richter Reviewed-by: Gregory Price --- drivers/cxl/core/region.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index 728cdd9925a8..606f5652114b 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -2147,6 +2147,12 @@ static int attach_target(struct cxl_region *cxlr, rc = cxl_region_attach(cxlr, cxled, pos); up_read(&cxl_dpa_rwsem); up_write(&cxl_region_rwsem); + + if (rc) + dev_warn(cxled->cxld.dev.parent, + "failed to attach %s to %s: %d\n", + dev_name(&cxled->cxld.dev), dev_name(&cxlr->dev), rc); + return rc; } From patchwork Fri Feb 7 15:37:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Richter X-Patchwork-Id: 13965325 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam02on2047.outbound.protection.outlook.com [40.107.212.47]) (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 DC6B72475FD; Fri, 7 Feb 2025 15:39:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.212.47 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942762; cv=fail; b=lFwnRLKnG9EIn0T4cpdV7Ov/LX8rQR2gR9ISYYA9r8PE/uEqRSMf56Er97kAaoqhwNjz8lbsbUz3wEWP7w+7xlpon1IG6Is6t1oeLM1YtXV9QnM1EV/FuJVGTN2wPaEiEEefECuijcTPeGfK/UHm5J3RQR3rzv5BI2/EoKxFqmg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942762; c=relaxed/simple; bh=AnTnim4Zoy4U2xUw1Clh2Ip/oRDfHV2PasApRtxHNDw=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=D2Q+XuAdn43C4gy9QFeM+FK/Yuxv6hQ+V7PRbjD7mvi3EjEaprY9KkQeOwRFSjt3TBpsV/zDv/55ORQTpuBb2dxli2dbOHOpGIrtlRnAdFQTiNrNaqz0Bc05e9osI8RU9X6PL4V57u775CTx2P7vgmkUgDqmmWG5y5mLCJVH3To= 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=ydgHmFH5; arc=fail smtp.client-ip=40.107.212.47 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="ydgHmFH5" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YzTOfIo+SZmVRlrJ9XjZe8gXofcIuBEE/JKxxofq3Yj9ntfSZ5t2PxE/0uEDm24Y3R41f+5qwsDMNLnvDOgwm4cI11l2J2GObxc98TaoWHU5jQlj0SFrxeRKgZhk7jMnRqPKKEQqG0zWMApwGeW6lQRIgyBhOHApyaQ0fH806LR2rMa/4un/WjbXXLAqJZkIcWCAGl2OEpy4wqLPnJt0b6pT0U2MVfL5crTzWmNfCrJ1XmFbWpGtOOlDqkLLXnL8oi1ekUco4P1ycBBNFcP3HgHtjcNFRZeJtWzEtU/ITjcDnG4LfBYGdArxnslil41N+ponPC4cSGoGRe8OhNnVOQ== 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=jhz5UT3CgPbxHXp3ulBryjPUdfG1m2gku0mo6Xtg4Yg=; b=vlaxkAtEGJfGFDZycsi+bIYNXMeAGidsnQ5a+bWk3c/JwjTLlmFyMzXjGoCF3Brxd37Zndl9G/INsvz6baz/f6gvndFLaKqmorp1yVGWnlmhwn7L1AnIEgzwWABKVjtah+agSDytUiAiGxXxjIiZJlSj87scBEA7M6CJUfLYVsdYNy5PgIbzGFus8Ra7RJ24rKIIBDo7q958VOzTuOuu8PG8F0mBJYSYcDd1MplbtQj0EinEHfZqJ65PNB3JpEtSGfm35bb6j5uifK4SgkPXUxJi+kmQ1LpfCBGKscszPMHXyAK1XMLdEJk29/q+7RHbKQ+88AKvpQOeCKr6tMYUzQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com 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=jhz5UT3CgPbxHXp3ulBryjPUdfG1m2gku0mo6Xtg4Yg=; b=ydgHmFH5a9ar8LR/KCdy7y7AFZ2BYr9YoV7ljp/k95GV6r0UODlFdlHqlj/Gy2SVAujlVI1SOJBaY6Jo+566HPLpoPhfsEsmNArrTB3PrW4FXW8R43ujg09JEUf9PT5aAkQCebjybRMxDo/g1MTgud7aQK5iGAJJ9tO1qLc0hZU= Received: from MW2PR16CA0049.namprd16.prod.outlook.com (2603:10b6:907:1::26) by SA1PR12MB7344.namprd12.prod.outlook.com (2603:10b6:806:2b7::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Fri, 7 Feb 2025 15:39:15 +0000 Received: from MWH0EPF000971E8.namprd02.prod.outlook.com (2603:10b6:907:1:cafe::d) by MW2PR16CA0049.outlook.office365.com (2603:10b6:907:1::26) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.27 via Frontend Transport; Fri, 7 Feb 2025 15:39:15 +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=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000971E8.mail.protection.outlook.com (10.167.243.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 15:39:14 +0000 Received: from rric.localdomain (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Feb 2025 09:39:11 -0600 From: Robert Richter To: Alison Schofield , Vishal Verma , Ira Weiny , Dan Williams , Jonathan Cameron , Dave Jiang , Davidlohr Bueso CC: , , Gregory Price , "Fabio M. De Francesco" , Terry Bowman , Robert Richter Subject: [PATCH v2 16/18] cxl/region: Show message on broken target list Date: Fri, 7 Feb 2025 16:37:51 +0100 Message-ID: <20250207153753.418849-17-rrichter@amd.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250207153753.418849-1-rrichter@amd.com> References: <20250207153753.418849-1-rrichter@amd.com> Precedence: bulk X-Mailing-List: linux-cxl@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E8:EE_|SA1PR12MB7344:EE_ X-MS-Office365-Filtering-Correlation-Id: 5dfdbd3d-fd21-49fa-6f54-08dd478d93a4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: ywPGnOSQVlgYezMlc7ZjYOuydtIyOjvxWnFxLnULZ7/PzPgPTF0FHOUOAIDsjPVF+XkNvwIXKnE4B4tACq+XO8vbSNVno2LDuPjD9va09N2C8Yb/qHTWTi4MHZ1G0QWWx6woT6aCU/HJlCUklfbEcmqu/Cvf+lWusAf7gGfsKge0b1ub7V4sGw1f8kwjPHisBtOJGP8X/ktqVfTCHnEzkhFxiYTp+pBZweupXuP2k1BmmN9NFyKZFXlz00OJx+0jhKZz1jo1OOTjkbAcQlVkj5oWuGkFM7lYCIcJicxHot9FMn0b5lOdGIBuUX5kXBrl/PK47ZZi9al9pOyku6oeI74gqNdeqgcqq2rQiPTW9/+R+eHl2Lp5eyoEBlEBg1a/uIfDZohqtuJ4R46tdLsWPpcBgwyHFTUJ5T+YpgECuB/i+ZUk/Xj3nLZsuxuNUuoVDcrbDvR1cfwNEVg/6PcPfJePW1x39oxId8W/p63hCbtNrrh2lsEzfqKCiOV/sqBBk9H6JKP4pMuC3r/25VuCzzeek+u3dpFjbSEod5MewsMFMAj45XG8s5DVxPm5kjzXiA/1OrMbIIjNwAHN/x26r908x5O8YSD9lH3/W1U77N+wm35NxMT9yHhPXFgfyEYpEqEeH+nQaDCrmFlPrQMT+Kk5BWQ4BfPw6ul+fiaXg/kzAvGXVZ8OJquK6XOoAsDnlCMgxgKY6Zl3dDnIjjZIpa1SB3x3qjx4jcPYc4Cih6me/sckKjAUdUSc2WYphomo+ZnPRXTqBpzkZzv9poz51DwfkO5MdqDXW3SO92JCKdmysNhBIqdm4xO1zpMc1ZhjWJrUg7yh/K1MUJPcnb9yXNZGMHTfEeYbCeRqXfYV8J6euUrICBrIa/Sy8xHv9xXn8rtZGtlELh4nTRtLod7AxenFeXdg+TkrrYr37gKYpk5Ol/eQWbZ0gLeUVV40UnE2F6jKHbHibxXcHQII8W27oBvITT0k6Mgn64bg2Kti5o5dMTSxgOgGKD1ecg4feok3Y629CcD5V+14hgdkJGXze2MtTT0P61tjdmb5i33zutmlkFGvXSQ2ODNN5jpmJ7ZNVV+3H66WeQTz9GMVNFOf+2sMBzsc54dPDLWSszN5NsdDzmpv7TsJHaQbLJZOWT+GFFOZucA36G1Y3ExEg98iMTiVfrB49FY8umLEsb8T4MLc3s8rQ1QDjp49Pr+FG91AlAifvHDlONLZo4H0OXD7VOoj65QLTBZMSAmctWO9c4baiTi5ip9R/DjYheijlx/XsiBVtqFMSroWVlw9gjmcUtewZZQC938t+yGVz2ZhsU8Gs6oF+8OHZhj6bCnMCZH3RMVo7PVP/AHjjJl7u69QdwJiPQ7dGu46QLNrHVAzdUAvlM8XyGWJL5tmoNB1KzHIJiJkH8PbcmzSrj+87B65loaQe8jXoWO6QP+pFNZihr+Ua5q8JOSmWY9LKFIEkEJTZ0giIkymWw6zIhi8XSB/O0dfKMh+kPcDGKWiwur0DrM= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(36860700013)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 15:39:14.7747 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5dfdbd3d-fd21-49fa-6f54-08dd478d93a4 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=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000971E8.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7344 Broken target lists are hard to discover as the driver fails at a later initialization stage. Add an error message for this. Signed-off-by: Robert Richter Reviewed-by: Gregory Price --- drivers/cxl/core/region.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index 606f5652114b..3b578ca167e5 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -1790,6 +1790,13 @@ static int find_pos_and_ways(struct cxl_port *port, struct range *range, } put_device(dev); + if (rc) + dev_err(port->uport_dev, + "failed to find %s:%s in target list of %s\n", + dev_name(&port->dev), + dev_name(port->parent_dport->dport_dev), + dev_name(&cxlsd->cxld.dev)); + return rc; } From patchwork Fri Feb 7 15:37:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Richter X-Patchwork-Id: 13965326 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2059.outbound.protection.outlook.com [40.107.236.59]) (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 0E1F423F26E; Fri, 7 Feb 2025 15:39:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.236.59 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942763; cv=fail; b=I2bhCVvgfX5jtpy67K/G5/x6rFEE704p0NiSdcyEbeFZASEe0USkWH06mIl6FSGAksxh55HS/0kR/zNyDiKTYr6VWypaTvk4x2ZMswYwyoNb7sClsf/p0M+3ClWJwMvo+mOPmCusWhmzp1PdhBB04mYFJa99rE6rDIa95/+UWp4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942763; c=relaxed/simple; bh=iU7ztykZnCD5hnV2z3VtCYxLsHSbMxsRfKEIUkikkCk=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=sZCx85AU+o8T4q93JZideCNdZRyMXesysuC1czkv3i0p0sS8T1cc8/fInZSCuydfV9ucqIh7i9K0O1AU4GSU32TqN2p/nrOsJX+s2JzmSQwDYbCkhn5Mez8qe6yya5A6Jwr0bSyjBW1k3M5b9iYkMvtpBtZHqCio5begRnNia44= 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=z4Wy6cr7; arc=fail smtp.client-ip=40.107.236.59 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="z4Wy6cr7" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bf0AVIhUtKkZMMHvr7kYVXkDJH8nv+ByAP20FidlcI4p8y7wEv/qqQNFwVfO2GqwG8vnRFgcJDdy1o7jKnBcT8Eeb5MPATHigMcwuiBS7d2cHPSRYPz0eok7yKYW5Y3g+FbqlCuJfPW83uzZC9jWs49H8vhu2JBP4M4u+1ODiPNvGeeFAcM/DAhLxjWnR7nacIT6RqkFbmCFc8GGEPsCzELkI/FQoqSA8kwwvDVU7fVA2IwyaWCVtq9Kwaf1L9cyjdhKWAHFNO5Jve0yG53zVsr9YV2hKlpJNuw+2+yuA8EKfUhs1t5y9H4mKXh035adbSdHgbtEEZ7Yz2NBBFnGjQ== 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=PeZ62KrAec7yXIh8HcihmhFEDW3h5nQ5exboGJ1tjTo=; b=PEX0U8QC7GJVTk0sPcoN9albw3Ms1w3oF6SAktPKcNMbiIfIylezVKfvQBgbJg3xbgLUNqBS0WeH/aIkq2Hm54N9PhF/057UQUS7yz9aoHxY07A7xXc59rSPSWIXq8rWmumQ3drMZqNiv68L3wAB9HW9fAh/bV6GS8nlUKSfJX04plt9mokTSF2GEIkymrS9KzymbtqqfP8QUj8PrqcXx6laryokBEpd+WootP9upB8lAQHqq7wwPEL3f0dwB/YVykwxaMBuseTVa71bEgo9RYDdrAUb4BJyZxaOB+0QfDxqGotqlcS/LR8t6FA6qjJWZ74YbHC3roMPRR2+2nJFVA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com 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=PeZ62KrAec7yXIh8HcihmhFEDW3h5nQ5exboGJ1tjTo=; b=z4Wy6cr7FaVIS03LF8HeHHcEBOK7SnfsdQwRpfWwAuSbIilGUlTjdbRLza64ZPy7hFQ2LT1bI8TMBUl3ITbTbCIHMVf51kTCgwAZt+x1G0GXlnbbWXhdU3ZC+H93bTrzsYnZtXd3t6XO8XqycSAYSOyVEslO+ZSTppdfs0LZHjw= Received: from MW4PR02CA0021.namprd02.prod.outlook.com (2603:10b6:303:16d::31) by BY5PR12MB4052.namprd12.prod.outlook.com (2603:10b6:a03:209::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.10; Fri, 7 Feb 2025 15:39:18 +0000 Received: from MWH0EPF000971E9.namprd02.prod.outlook.com (2603:10b6:303:16d:cafe::47) by MW4PR02CA0021.outlook.office365.com (2603:10b6:303:16d::31) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.29 via Frontend Transport; Fri, 7 Feb 2025 15:39: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=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000971E9.mail.protection.outlook.com (10.167.243.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 15:39:18 +0000 Received: from rric.localdomain (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Feb 2025 09:39:14 -0600 From: Robert Richter To: Alison Schofield , Vishal Verma , Ira Weiny , Dan Williams , Jonathan Cameron , Dave Jiang , Davidlohr Bueso CC: , , Gregory Price , "Fabio M. De Francesco" , Terry Bowman , Robert Richter Subject: [PATCH v2 17/18] cxl: Show message when a decoder was added to a port Date: Fri, 7 Feb 2025 16:37:52 +0100 Message-ID: <20250207153753.418849-18-rrichter@amd.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250207153753.418849-1-rrichter@amd.com> References: <20250207153753.418849-1-rrichter@amd.com> Precedence: bulk X-Mailing-List: linux-cxl@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E9:EE_|BY5PR12MB4052:EE_ X-MS-Office365-Filtering-Correlation-Id: e2824428-8b67-4757-b732-08dd478d95e7 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: zNzNSM7CkF8/m3eqS7vMaaJYCw7mKkB8LQ0lfx0twc3tIGRdlA4U4pO0CmoQiWld/qXwQIglKEItE1RUdCeG451Of0KmVJoqcX2PkA6as22399fZufgOV1qPftVDhPWvksfNF+5dwnMBISwzYEPGfTwMG2M8F2QptlKMihUxwN+ktC6+X6tOaunPRug/USDE5iLCZC/iPckzA8jc1B3M+6zIIM/WorDTJ6+8Iz8go7g5ah6T/JFuy+NiLzJw+KSit7jKVpgPCjBG06fObj9bJSRvt47pXKpI/1UexK9m2yGYFBItnh+cBvQpMpNg26J7XQmSyTL1clNBlno8d4WSeFQpEEbSxfsfA1BQPyW12n21sQIWfD/R8CV2sliN9vC4Xt6zN16iguradqnrfkuR4Am1IRbxmksXqbQ3HbtfRg9fUU2jsbbjkFpPynoxi+p3EVw21u7DVihC7ZNC06WpKLJm2W5XdH2Pkz/Q4ll5N/ypH0sMVioKXxjCDKlnLff/bTV7y8yN1Tv2agHvb75UjWY5LyYsyuC4rdRLqgX+voiYzfwAx5MgOhnU3dce8MYY/HcnVQUH80CoTzPpJN12FtTgleC3bI20y6NxZNVTWbnMVKr0cer4EUNtXhsRLrs04Opmt9xICuDFXO5pVNiRW9Lgi2qSoNgV2/hRLJerdpvQZNH4zuE8PSDrX9bwANylZRYMJbWuYX1QvVeKHZ3OPKigjjYQfHrG+PEOTNXpbmxLfe+ZuS2402Nsce/BCZ6priWy0wEzX398vlkB/1qkrVQMygUSR/bVpqfCoSH0yeD7n7pUZwC/95gC9QEkqm29bJpgHvu95aUtTv0MxC2D14QkKh4uDSfWnckPA0QnBzrtLJI45uS9bRIpqawNHj8UPqr3ulDkadTikj9GUhq+EQriLtJ2CIY21Pk8rmXozPmGqTM6xKEzkcjvLs6PsQIFQGrSKfTKnS0I+Gp+brb5ySWG4uKg6W6dIh8c6N7XNaqsl3n/y3hp7q61bETifxyCDwnjCr3cx0/UIc/FiDy6pGQ/nk4Az2U8k1GhVYDB8g2LC0VsQnTn3Z1VOKyBQW3XDKr4E1uKunMpH5oYvZwtOVYl+WZhK8RaBXWLKR3d6M+pjS8j3FG/tx8xsY7Ojzwc7BiTrxc4efeUmAlRtr32WizVaSl28sLKJ80OXTmk7XoIMjLq16jEy8G/O01AqjIJHQdrVEC9SXu7xDrxxotA78Ghh/MEszaqcefxl1fEFqU/ba5zF8v8FasbYDvye9GUqxVLWIYzQJTTnGH3gOdsznoOo8qX7WRp75v+D8T094PMoAighFAxXv+mCorXFKHTJ3KMNPVktnfuoK+CTQWh5vzM1JkYt0anz61StvRDzHLnPOJH0ovaX9nrIBAZWIJcJ07/oPWCvIWRdoq1Aa9dqiyRfpEbCVQa/KL8RK/jcfOmN6LHPhdsbPDPyqCS7iFLs7w8ghYuzs4fcDGTzhZxnezsnPzYmtvFDtYxo1Fztdc= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(376014)(7416014)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 15:39:18.5711 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e2824428-8b67-4757-b732-08dd478d95e7 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=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000971E9.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4052 Improve debugging by adding and unifying messages whenever a decoder was added to a port. It is especially useful to get the decoder mapping of the involved CXL host bridge or PCI device. This avoids a complex lookup of the decoder/port/device mappings in sysfs. Signed-off-by: Robert Richter Reviewed-by: Gregory Price --- drivers/cxl/acpi.c | 10 +++++++++- drivers/cxl/core/hdm.c | 3 ++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/cxl/acpi.c b/drivers/cxl/acpi.c index cb14829bb9be..3e75e612cbc4 100644 --- a/drivers/cxl/acpi.c +++ b/drivers/cxl/acpi.c @@ -421,7 +421,15 @@ static int __cxl_parse_cfmws(struct acpi_cedt_cfmws *cfmws, rc = cxl_decoder_add(cxld, target_map); if (rc) return rc; - return cxl_root_decoder_autoremove(dev, no_free_ptr(cxlrd)); + + rc = cxl_root_decoder_autoremove(dev, no_free_ptr(cxlrd)); + if (rc) + return rc; + + dev_dbg(root_port->dev.parent, "%s added to %s\n", + dev_name(&cxld->dev), dev_name(&root_port->dev)); + + return 0; } static int cxl_parse_cfmws(union acpi_subtable_headers *header, void *arg, diff --git a/drivers/cxl/core/hdm.c b/drivers/cxl/core/hdm.c index d705dec1471e..467e4fef6a53 100644 --- a/drivers/cxl/core/hdm.c +++ b/drivers/cxl/core/hdm.c @@ -34,7 +34,8 @@ static int add_hdm_decoder(struct cxl_port *port, struct cxl_decoder *cxld, if (rc) return rc; - dev_dbg(&cxld->dev, "Added to port %s\n", dev_name(&port->dev)); + dev_dbg(port->uport_dev, "%s added to %s\n", + dev_name(&cxld->dev), dev_name(&port->dev)); return 0; } From patchwork Fri Feb 7 15:37:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Richter X-Patchwork-Id: 13965327 Received: from outbound.mail.protection.outlook.com (mail-dm6nam11on2045.outbound.protection.outlook.com [40.107.223.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CCA322500C1; Fri, 7 Feb 2025 15:39:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.223.45 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942769; cv=fail; b=SQTNefkPWpMJyPi9Gk4UtUXCXCxVBN+cApjqiZVc3+EmtLHcfO8YLMKoJfhSvwJTCvmZjI8eGzY+Yh0OvzrEYw7Z7lH21CPwKzEl+OstJWrETRwiViNY3duzpFJaZc3z5P4H6iZ165QkyuOWKsr62BNBm5TtX2Aa2HLo7HYmTzI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738942769; c=relaxed/simple; bh=vaRXiTTTYdl9QdrDViWZv8abaSXPXnW9cVQ5TPD/mE8=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=U3XmXj+qoQ2O1ftFUNxbMmZA3NXbxysnvH6sKbtGpW5LT1IDKBLxz6Y0ImdA1GREo1/7W0QRYh0k5LNxPZvyCXzsHGZ5KfjFUnroOjoOSDkkmbEdk0No6EgQmV0W1h8qIc/c1wWPsvxxArqaTQG02x170fAwnZSnQir6ZFxlGaQ= 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=M5JGdgu3; arc=fail smtp.client-ip=40.107.223.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="M5JGdgu3" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VeQrTHYv+Orv3emDPujmaSTfscL7F7Nc+l/q193RuPuc/qax/31zC/expVAE4y35K4JYNm4HUwZdBDZcAqV60wF8FVETzZH0aJJ/iKnYPhwg3U1PV7tTy98Zl9hmWBjPAgDPSdmpbuvA6edtu+OIkV7h1pcCMQysptK2toeEOa64hI+v0Z80uv9uE4ItQ9dlekEW7tD3Lr+c2RuNIwlspj5L3p/wYbZdIvYAh84PBCf5NO1M+EuOK957laFSgZzMZI7W46PtI9qxCleGyZNhwTUZs0HNZ5PVkOemWdwZd7JLt6aYm4VoXBWYdscat9mGL67ZvSZY6qJt4QEk1p1uMQ== 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=G0w2fMhd4DD1eD2nixGLYLH6kh82RTcJv05MJF5WZbM=; b=xt0DDfbwY/+WrwlYOUTAwhcWKeFC1DSgoyTqxpelJI0n7FLzhk0aJXa3O0Hp/02OoYaeFKPC55riT8ZutQLwyeRW03gIfpKnp/9NqabOD0giF6PA7D6ZkXpYDoKiAp6S5/IBFj5fhf7iHDZ55PFaxCyjwOLTegM2IuGr9YRvD/zCz3JXRIF1iVIRU6U4z2URVK93dxyB5hmT7PDKEHREKgTmAFt84O/bnrCVKm2007thZfyoXirhVjnk+YFacy6Z6r5O5ZlMVZWx+E+UZqU3lMZ3N31j6/tlhm0AahViH2wml+Iyvu5HLEt3HJ7LbsSTawkQqmADTVl6Vp4mfnH5AQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com 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=G0w2fMhd4DD1eD2nixGLYLH6kh82RTcJv05MJF5WZbM=; b=M5JGdgu3PL5TmT4yo86t1v6YLfsOYkgsAL110nrQYYEW3eR11QY6HG302KZBn9Zy4MKO8JRNy27iC6WOOHl2lAMUe9fZb47FGCbDJXhkYTHy+y+ox5nkNnOwxZcRLbXxdMNYs+TVCXaUTsTvEMmbZiLiI0SPaTggWqCxrtnpjng= Received: from SJ0PR13CA0106.namprd13.prod.outlook.com (2603:10b6:a03:2c5::21) by DM3PR12MB9416.namprd12.prod.outlook.com (2603:10b6:0:4b::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.15; Fri, 7 Feb 2025 15:39:22 +0000 Received: from MWH0EPF000971E2.namprd02.prod.outlook.com (2603:10b6:a03:2c5:cafe::f6) by SJ0PR13CA0106.outlook.office365.com (2603:10b6:a03:2c5::21) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8445.7 via Frontend Transport; Fri, 7 Feb 2025 15:39:22 +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=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000971E2.mail.protection.outlook.com (10.167.243.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 15:39:22 +0000 Received: from rric.localdomain (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Feb 2025 09:39:18 -0600 From: Robert Richter To: Alison Schofield , Vishal Verma , Ira Weiny , Dan Williams , Jonathan Cameron , Dave Jiang , Davidlohr Bueso CC: , , Gregory Price , "Fabio M. De Francesco" , Terry Bowman , Robert Richter Subject: [PATCH v2 18/18] cxl/acpi: Unify CFMWS memory log messages with SRAT messages Date: Fri, 7 Feb 2025 16:37:53 +0100 Message-ID: <20250207153753.418849-19-rrichter@amd.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250207153753.418849-1-rrichter@amd.com> References: <20250207153753.418849-1-rrichter@amd.com> Precedence: bulk X-Mailing-List: linux-cxl@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E2:EE_|DM3PR12MB9416:EE_ X-MS-Office365-Filtering-Correlation-Id: 557298e1-2f22-4100-13a1-08dd478d97fc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|36860700013|7416014|82310400026; X-Microsoft-Antispam-Message-Info: kYqXyOkEHc6DNKGqd9H3pbLW4hq+Qwy/XY0fxyja55G8kG/u7cUlEvZDoVg4fJCbBg4/jhZZQJLVRoQk8Db+hvK5kdrvqBHuwL0XyLdUb9o6b6rxr/bryWf0JJsj1wgfmLrwfiTi4VgmzNXlfTOwWcVpDjMOj6bXTgzI6lymJiiqHCsQiAVoV9+/gPvSmKXKNDyMzAqJp+Mzof2sAyRGsPh3Mwp3Um/UsiiqkI247riqjUm8Ia/yJ4I+loLoTUlHeckutwYH2FJ4APaw5t3SDK3PX5WtgQoasS5P/nW3Nyc7//Zzun4k5BmtslB1xEe2/lVH/MtitJcUCgmqdcnKuxEIKox6MPgt7Nw4dkHCoPgffavdwdwhuaYo8NK6F3uCgmhWg9ISv1UYyIu2bu2rXpuq/vC4WzrFb4DM1+6q5aK9qfSo6L7TFqIUznsCQ0oKAPHWrQmYS8c5Pr4bYteCctctnwK058EvJpeLL9/kPR2QS/uXHvlgJYXmP1ZRiU3sQ43PCzcJ6t/wuEnehbqe7ifptyJp2Ao/FjakwdbrULhNNvv/dlzuXU0GwrdJ2sHheAYSAnotGEcmzn+zN717ZlXMdK2qzZadfAupc6dds9/Dylgf/LfcAJfoqHfse7qLyQTBFvJeZpDUI3YFUfZm1NK0/UTCliQ/uLxPVE2GSecMLjW8dl80AHEmAnoPsinG9oWVD4lk8qAErd7E8ZYbV5QbWFpUsjvFK6uSACXegW3YbGxTaJlaMfpYfTGkQ/mP+DTA+wjmVwbhfJmJbKI0vUMwM24+PHxG2wgeFKcq6eXVqUK2EIbPVd45ZtK/e1xg89ISzWeSfb2MJR1Ch2M9EPiSt6HxvMA/EOEF5F6B1iOHr5AINVnRsEiaFiXFttyrqFd6Nar+gdfMEcyl/d2nbzavOxh3cQnWLNVnxCaM0uRgN/91RyBDsub2apW4DfeiAeI56jFRRSCtF87kdYuvrf/vt1e7578H03glYDHYF+sBB3Q/G3nD6gqKeBE37BM3/uUlKxpw+AKQP9/kJigokW5KIt9pTf8JFGlmbIrOivWl27dyp7ZDQ0r93jPOVdGtNV98BaRpCU+w8cgiXzFZeueuPLzBJ0d8FKSh6r+FHlRODRhJgXWF3ZktCxXX/7/ZPfC1DZfwPhEhQAaAVPuGJZI02Yty1hsGggeYEyMMq+8iZ0IRJ+WzoKcVf8MSwFMfvVTHY6u7GOn79K0WfCzu8feS7wCBBZfnwf5MOfHc2jJhLicZPGJok3RqWA9OsJLkS2HYTmq1HLbaprzRojp7wFNtKIjMbwSUHr67TtnyiUzkJ3W2EFBGRmDpcPqdPj1u8pGZmLDUqJYaO0WhYQeFCtcrD16FnRv9o3rR/1rgbcFxnxPWkXSROEX7zBDOeDOjkDMPa2h5tKS9dJfrMzdzsxBufVhb8Li0RqlTFC2XtrZa+sl+99mwvHzRgLAQOj8fYFq/U0WGQbinXvD3hbwmKW6YZawnPs7Yh6GrZFdBN7w= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(36860700013)(7416014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 15:39:22.0444 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 557298e1-2f22-4100-13a1-08dd478d97fc 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=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000971E2.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR12MB9416 CFMWS entries have a similar importance as SRAT table entries to describe memory regions. For CXL error analysis and memory debugging information of both is needed. Unify output of both messages to improve logging. Change the style of CFMWS message according to SRAT output. Also, turn messages into a dev_info() same as for SRAT. SRAT pr_info() for reference: drivers/acpi/numa/srat.c: pr_info("SRAT: Node %u PXM %u [mem %#010Lx-%#010Lx]%s%s\n", Signed-off-by: Robert Richter Reviewed-by: Gregory Price --- drivers/cxl/acpi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/cxl/acpi.c b/drivers/cxl/acpi.c index 3e75e612cbc4..93c73b163c28 100644 --- a/drivers/cxl/acpi.c +++ b/drivers/cxl/acpi.c @@ -447,7 +447,7 @@ static int cxl_parse_cfmws(union acpi_subtable_headers *header, void *arg, cfmws->base_hpa, cfmws->base_hpa + cfmws->window_size - 1, rc); else - dev_dbg(dev, "decode range: node: %d range [%#llx - %#llx]\n", + dev_info(dev, "ACPI: CFMWS: Node %u [mem %#010Lx-%#010Lx]\n", phys_to_target_node(cfmws->base_hpa), cfmws->base_hpa, cfmws->base_hpa + cfmws->window_size - 1);