From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from CY7PR03CU001.outbound.protection.outlook.com (mail-westcentralusazon11010028.outbound.protection.outlook.com [40.93.198.28]) (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 11B4F434E26; Mon, 20 Jul 2026 15:48:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.198.28 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784562500; cv=fail; b=f8X52WpsvgFnFyx84hRB7I1pvWKJ89Pom86S9Oyn0zSQ3B/gl8+Onyh7Z8MfTUrfgS8Zrf8tMLhl8HYVSz6Y7hHChiVM6iu697W/un9px654z8nUKgGa/+TV5Ne4VFUoEivFhVGcvgfutWxChi8V+o5vHRxLLKU0G0k3QV38AGc= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784562500; c=relaxed/simple; bh=DAGYPgV2J9OxE3QoNJXFqhWrGQoSlhkvwSAGmWQy6x0=; h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To: Content-Type:MIME-Version; b=Oie1fZevm93E+hxA4ia6DezE6Eoc6VZCDx3Ba3Zd5X/91Kan2mtxu8Bg6k0HAjDZzmhbmDzgrji5RlAPtGuGN5CT11SDSHES5lFhnF3gPzNR83aacF73pvYIb+5hrehCfFv7ciiOw6swl7dotXhzXt0MiR8fVpfViC4nSTjC2iY= 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=SxbxOW3R; arc=fail smtp.client-ip=40.93.198.28 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="SxbxOW3R" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lEXToT3eArbzXSWDbyGTlBi5knZpGAhbyJyYISmULjI/g4MvECSEiWBqZ1pr6UfFHh8l8CQQwrmwytvChySGjBaAVbd1ar7t7oFSbqRE7MlMySFkPKXj7i7a6YceyWjUW0XBFclzn+A90a5Kq7B8Cx/qpMD3P0NldHvrrRkpW8hw99vD3e+x8X0rcmCwNg0XRbhMxA4hFnio6e5xXBCzHZYesHiPbkk875LNyaGCBr6m7POWhX7V8r16ivDRwm98BgUwPHm20W0+P+1D90wihsrPaxwK7EeQCjHieHnEwvdo30Y9mfIBs/q2MJDR5z5Fq7vQFBwubjf3pn1eddzCFg== 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=NXWQix8BioKNcotXXZv2fggd5bCWR9Hd+L4YgaXaE+Y=; b=MeyjbqGEAuMQ/Ii2tEgGv3OqdSAfOiHB1V22kChkqENY/6o2rQ+2KKk5GBvQ1C45OvI3TY84EmodEleG3UmYtqzlB108Xg/SAjSLGr/6ASGy/Ga0sPJtea1t58cMDQdIqlFSdCjloUJLV1brAEHdoikMbbj8CkCgCxNkDZhH3sfUjk4ZMdl+Csb1nW0k3hGaMiB5xfcd8fx4WFMFkz5i0wXiJpwwnLXG21rQCDW7ErSc6yeQZRy3t5VxncXN4OOwtiW44gx0Q3Pclct3X+Tya+EKdlrAoDSob67329azNV5wwmhcqnP7nBnwyMdRyaboYSAHBtMhHupPiHSWlX+EJg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none 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=NXWQix8BioKNcotXXZv2fggd5bCWR9Hd+L4YgaXaE+Y=; b=SxbxOW3RqyqjveRwx1h8u9U1cAPyM4zD+RhyfQr9DstQS5riWflDOerFJWhrdqzkN69q/D85RKPyEO1dIoqP6+J4Ar3K2jQlHOuAvDmrtD4uVWtnV+wntSgzNmDdGfXManBuZrWsUZfqV0bnXZlZtrT1YO/NuzaZlR1t0hTSP4U= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from CH8PR12MB9766.namprd12.prod.outlook.com (2603:10b6:610:2b6::10) by SN7PR12MB8791.namprd12.prod.outlook.com (2603:10b6:806:32a::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.18; Mon, 20 Jul 2026 15:48:12 +0000 Received: from CH8PR12MB9766.namprd12.prod.outlook.com ([fe80::be0f:431f:5f27:96d9]) by CH8PR12MB9766.namprd12.prod.outlook.com ([fe80::be0f:431f:5f27:96d9%3]) with mapi id 15.21.0223.017; Mon, 20 Jul 2026 15:48:12 +0000 Message-ID: <91e35807-9483-45f5-b4a8-0388aa48ff6f@amd.com> Date: Mon, 20 Jul 2026 10:48:06 -0500 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v18 11/13] PCI: Cache PCI DSN into pci_dev->dsn during probe To: Lukas Wunner Cc: Bjorn Helgaas , Dan Williams , Dave Jiang , Ira Weiny , Jonathan Cameron , Len Brown , "Rafael J . Wysocki" , Robert Richter , linux-acpi@vger.kernel.org, linux-cxl@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, Alejandro Lucero , Alison Schofield , Ankit Agrawal , Ard Biesheuvel , Ben Cheatham , Borislav Petkov , Breno Leitao , Davidlohr Bueso , "Fabio M . De Francesco" , Gregory Price , Hanjun Guo , Jonathan Corbet , Kees Cook , Kuppuswamy Sathyanarayanan , Li Ming , Mahesh J Salgaonkar , Mauro Carvalho Chehab , Oliver O'Halloran , Shiju Jose , Shuah Khan , Shuai Xue , Smita Koralahalli , Tony Luck , Vishal Verma , "linux-cxl@vger.kernel.org" , "linux-pci@vger.kernel.org" , "linux-kernel@vger.kernel.org" References: <20260717222706.3540281-1-terry.bowman@amd.com> <20260717222706.3540281-12-terry.bowman@amd.com> Content-Language: en-US From: "Bowman, Terry" In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: CH0PR03CA0075.namprd03.prod.outlook.com (2603:10b6:610:cc::20) To CH8PR12MB9766.namprd12.prod.outlook.com (2603:10b6:610:2b6::10) Precedence: bulk X-Mailing-List: linux-doc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH8PR12MB9766:EE_|SN7PR12MB8791:EE_ X-MS-Office365-Filtering-Correlation-Id: b0b00824-e49d-4fb4-22f7-08dee6764e42 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|23010399003|7416014|376014|18002099003|22082099003|4143699003|10067099003|56012099006|11063799006|6133799003; X-Microsoft-Antispam-Message-Info: lOVDjwBGDwZham9wojp0oiSyMGBkKFFf7Qn0S3rNOPHTKdfzEOoHWuvKNgPe4YCY3xk22jFr/albX9jGMy18x5hYHXNv43Pw9toYzXZYC/Cnj+k0aWm0ilmLq4+dKVDfsnDvIgEHs+oC+03JUc7EAzWIcBypmMqSUx1iyuQ3T1e6d51PKkN1x7Ckxx1s3c/j9OPc0g7KlL1yFRZLxlt3rjiKUxBEM5Sw7CmelhaxkiYmINQTl1zhR6tDECEQJLpCNyQKq+dH88i0rievYkwxbQNXMZA15xA9hCB1N/tPaxvav6NV1HizP/3fya7RE5HUri/g6B520f3UsHjaDvKhIOHUV+xvyr7tHNURUgT1h9K2ttLw85hWYK4fPR5/qNPUgDJsUztBnQlc9FkpKOkD6stkb16pDLrcUipXIY21yQCTBa3FaNCQbaGT2+Q5F+qmjlq7irDQ+BBclG61ItjTdEtLz5pI19TmF4KoXiK9w7bMpFcb+DQgMGz7hvSTqdXYqbjJJHjDn1QnNKkaacxIiJHS0MkHob6njx/083CPtyUOgHhyhaabiqRgfr9QGmKY0wPzaoO92HjCzlqG2jRi3bdWGlmNTEAx6rcpEAETP+UHPgV2EKfZ8aY8izXXjK9yEc6T0vVVmb4SvlLRsGZH9OzPI28kvmPOR6dOnIA0FNk= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR12MB9766.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(23010399003)(7416014)(376014)(18002099003)(22082099003)(4143699003)(10067099003)(56012099006)(11063799006)(6133799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aks4VGo3S1E0T0RMMzhqTFpST0RFb1JVZjNZSGxJeGR1VzU0Rk9jdTlXRURO?= =?utf-8?B?L2NzWUYrSmJtdzFzR0RCSjFUVzYwQm14azJEd1FZekpkZFd3SG8zNzBqVkpu?= =?utf-8?B?dnVSbEp4QW1na0VjYXY4bVBHL28rY2M0NTRLTU5WS2FmcmhQOTVZUDVmQ3pX?= =?utf-8?B?MEFaWnRzZzlDSm1MazdDN3lwRzdJaVQzWmxYSzlmU3VpTEtwNVdsRWw1RFZO?= =?utf-8?B?NmlGUG5IV2Fnak5OUXpXZ1JnUmFQUDRFRE5HTzY2d05TRzZ2UnExdjZXK2Uy?= =?utf-8?B?T2dLUGhYOVkyZmhqazFCTlBESW1GcjRLWnJ2ekdzTjZtSmh3dDRqZU5seXJP?= =?utf-8?B?bnpXQmJzZVdjQ0pjdVpBejBJWStXRjlUVFMxT1FTS3JQRmp1V0FxbXZQelc0?= =?utf-8?B?T2t4TDQxY0pMY3VmUG5GTWtxUTE5dDQzcHcraW1VTlhIUzVSM2JGZzdKYVp5?= =?utf-8?B?aTRnTWI4eG1NVmFRQlNUbGF6ekVpdGU3cmQ1aU1uZUNndG9pSVppZng4LzlL?= =?utf-8?B?N2lnMTl6Z29VelNFMzZDMlZUUWlmRGpJZFhYb2xuTkEwMEpuRm1sMHdzL1g5?= =?utf-8?B?OGR2Q1hrZE40aWd0RGVFdllrYnZlSWY3QmkySnZ0UU9PZnNZMzdWZFR5dngz?= =?utf-8?B?MmYwWmppRHh3NTc4YjB0a0hXdkZnRnNWZWtUY01xeGVYWndJVEZhaE5RQzNy?= =?utf-8?B?em5pT0JHRExFci9HbjdBaTdpb1pkbGZaUm1QZWhXVXNPOG1wcXRXeXhhTjJS?= =?utf-8?B?L0taQUZKZHo0Z3ZyZWxhRWEyS0hZVkpDaUYwWlQ1ejMzUGJMOHIxR2kyWTAv?= =?utf-8?B?TmtDU2l1MDVwYzc3SzJDdWFwR3RvZWgxMGJEazc1SkpqQUUwQmtXWk5hblpZ?= =?utf-8?B?T0g5bmR1UmhCTTRrL3VpSUpZQnpnTUx2M3YrNzZUbzgydFhRK1NSdHZyMDVL?= =?utf-8?B?aTlvZ0FiMWk2M1RSdmZlSDNJSzV1RDVlQVMvMFo3TFQvVUkzUTRLK2JZREN3?= =?utf-8?B?SE5neHJOZGdDQlBNWEdhUUxwQ2YvREpZTjFRVjlSaDBUMFNwWGdMc3ZZUy9N?= =?utf-8?B?M2ZlYStNUlkyV1ZaMmlzSHRleFFUeUw5MHFMK1h2cjJQMkF1ZVNEblIxMHg3?= =?utf-8?B?Z05aMFFZb1JwMkFzcER3bHFML2tuRlZ0MklEU3dXcjhFV0duVWdtdEVYM2Y3?= =?utf-8?B?OEpFdEpZaU1TdEZwR29SQ01OREpkajE1d1pORnFpN25oTzJWM0lGMm9yOFd2?= =?utf-8?B?TSszcWs4Z0hpU29lZk5OcDV3RENSdHA4cG01bXlEUytqUGQ5aFJmZkpmaDVz?= =?utf-8?B?cktpZFJzWFRORHZIMlB0YkhQdFRXRnBiV2FneWZWQ3FyWVBhNGVDVHJsdW4y?= =?utf-8?B?OFhZTDRpLzZoY0JwM0VIenIwMktaTm8rdzI0WDNmOXhDeS96blRXSVB4ZTh1?= =?utf-8?B?RUtObjRSME90NitZdi8xa1hpTGNWRm1MSmdXKzBYZlVDWVJVRVlscUFpclIz?= =?utf-8?B?VUIwQi9qdlkzbXhiWnloQTFFRm5XOE43WStuRW5tTm80T2FhTk5pdGdFODBh?= =?utf-8?B?VGFBN0xtN2VtMmEyUGY1K3dpR1dyc3lTaWFQYUljV21KVEdGZDJEczRicVpw?= =?utf-8?B?ZnY4OTU3SmpidTFvSnNaaGdjNE1xRms4QkJIcndRWUFsUmgrS0lkVlZVKy81?= =?utf-8?B?OE1uQnR1YlpETjNXWHJmbVoxRk9HdzBLMXhqVHZscmlLS3ZKOXcwQVMvWFBW?= =?utf-8?B?N3p0NktLV0NKeTNmMFY1RlFlc1pIQ0FoQlEvM0lCcFk2WEp1Q2ZkaGxkbkIz?= =?utf-8?B?ck5nTTFEdDkyQ1VYcDc0WTNlNFd4dXdRWk13Uzk2L1RYRndwNmdUWGc0cGoz?= =?utf-8?B?VXVJeTExdyt5MnVMRkZXZDk1WUV1VitibFA1ZXEwV2RYM1A1V0g3bU5NMmxo?= =?utf-8?B?Y0hERzdPUTRLellWRGRiY25MVkZNdytVWFdHaGZMaUpubUpDb2ZKOGN4dS8y?= =?utf-8?B?QWhNbnRlRnhOdlQ1Y1BhZUtJamZ1a0kyTmhROGRobHBZM0d0cU1Wd2dTNWpX?= =?utf-8?B?SFhoc0lqSGl1UWdyenZmQkl6Sm1WSlBhRjBzby95bk1WOS80cEFjMS91THUz?= =?utf-8?B?Vm5yMUQxM0xHVzh1b2xnanNtcGdGQSs4OUVhRDJvRG1CN1pBbUZGeG5Bb2Z4?= =?utf-8?B?UFgrR2dsRjhITU4vMjlpSUM3Y05oTkNjNVV0TEZ6WTRNS3ZSWHkyblBYUXBF?= =?utf-8?B?TXFiWWxEY3hHOE0wcDVReDJyY0IvYnprZysycFp4TFFHeHc1S2NVZEtkWnFP?= =?utf-8?Q?9dIZNGo9iBn8QehQ7d?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: b0b00824-e49d-4fb4-22f7-08dee6764e42 X-MS-Exchange-CrossTenant-AuthSource: CH8PR12MB9766.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2026 15:48:12.7950 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: D+F7hXuoAQiT4qMyatV3I5daHvvQDK5bXF97E7ZH4ZriMaULL/hNQelM16mirfaczsz0O615dwaFYuoGu3Jdqw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8791 On 7/18/2026 2:02 AM, Lukas Wunner wrote: > On Fri, Jul 17, 2026 at 05:27:04PM -0500, Terry Bowman wrote: >> Add a u64 dsn field to struct pci_dev and populate it from pci_get_dsn() >> during pci_init_capabilities() at probe time via pci_dsn_init(). Only >> write dev->dsn when the read succeeds. The zero initial value from >> pci_dev allocation already represents 'no DSN available.' > > The DSN is already cached on (natively handled) PCIe hotplug ports > to detect device replacement during system sleep, see struct controller > in drivers/pci/hotplug/pciehp.h. > > Please remove that member from struct controller, remove the two > assignments to the member in pciehp_configure_device() and pcie_init() > and change the comparison in pciehp_device_replaced() to use the new > member in struct pci_dev. You can do this either as part of this patch > or in a separate patch. > > Thanks, > > Lukas Hi Lukas, Thanks for reviewing. Is this the changes you want? diff --git a/drivers/pci/hotplug/pciehp.h b/drivers/pci/hotplug/pciehp.h index debc79b0adfb2..12ec050d8a0fb 100644 --- a/drivers/pci/hotplug/pciehp.h +++ b/drivers/pci/hotplug/pciehp.h @@ -90,7 +90,6 @@ extern int pciehp_poll_time; */ struct controller { struct pcie_device *pcie; - u64 dsn; u32 slot_cap; /* capabilities and quirks */ unsigned int inband_presence_disabled:1; diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c index 4c62140a3cb44..c07957e0b37a8 100644 --- a/drivers/pci/hotplug/pciehp_hpc.c +++ b/drivers/pci/hotplug/pciehp_hpc.c @@ -587,7 +587,7 @@ bool pciehp_device_replaced(struct controller *ctrl) reg != (pdev->subsystem_vendor | (pdev->subsystem_device << 16)))) return true; - if (pci_get_dsn(pdev) != ctrl->dsn) + if (pci_get_dsn(pdev) != pdev->dsn) return true; return false; @@ -1086,8 +1086,6 @@ struct controller *pcie_init(struct pcie_device *dev) } pdev = pci_get_slot(subordinate, PCI_DEVFN(0, 0)); - if (pdev) - ctrl->dsn = pci_get_dsn(pdev); pci_dev_put(pdev); return ctrl; diff --git a/drivers/pci/hotplug/pciehp_pci.c b/drivers/pci/hotplug/pciehp_pci.c index 65e50bee1a8c0..065e1f7c9a7bd 100644 --- a/drivers/pci/hotplug/pciehp_pci.c +++ b/drivers/pci/hotplug/pciehp_pci.c @@ -73,7 +73,6 @@ int pciehp_configure_device(struct controller *ctrl) down_read_nested(&ctrl->reset_lock, ctrl->depth); dev = pci_get_slot(parent, PCI_DEVFN(0, 0)); - ctrl->dsn = pci_get_dsn(dev); pci_dev_put(dev); out: -Terry