From patchwork Tue May 30 16:39:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mario Limonciello X-Patchwork-Id: 101004 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2322664vqr; Tue, 30 May 2023 09:56:00 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4r/uTkIVEZxg/6hpmS7VNX1qnLi7RgdIQ7pFo+hPP7RoAZwy7AtVF6CWtSRZSJt6KVlIqh X-Received: by 2002:a05:6a20:3d1a:b0:10a:dd79:65bd with SMTP id y26-20020a056a203d1a00b0010add7965bdmr11408378pzi.27.1685465760543; Tue, 30 May 2023 09:56:00 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1685465760; cv=pass; d=google.com; s=arc-20160816; b=MfmNjjZwkXv6h6ScyOXQ0HgKWqxJfjQ3qS/XucolYsK6XkuhyruD+foc8NlZYggI9b jmVqq42R38Ytu+SxgYtKS9D1qkYbEcKjLt1V8ZDdQRuc3hGN/zW/rKMwpGss1sVSFeOJ GYQRd/qKuHzESfhC0rDJzXo74XqZPVxfNWnQNLhWS/yAKIxlO7YjzUjCYA3GNkDcjky4 vpvlizpn2eCRO4x3HYOVQFkweMdCwlFbI0lDu6j6w+OkkFyQO8uq2pluHp1+PciPoxbw i7jEgyGnSSAlPTiBDtCoHh4T62HWHXeQPU2UYKNZgsUFDHN3/Zh8ilDqBlECsxpB3yTR 6Ttw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=yPd8OTGDycxlNwmgaxjuPJhy0mVv8FZr21RzRhTXfz8=; b=KpQG8qMcIxhTxVTlgnWWpWkUTedLOJiTZnh6W40htRXC6hqIjS5p67imcqMhDFU6OC IQP6WG1GkXRBqtuCrW968ywNytqVtE6t8GH63IUs7yHTXHwBVt25eCxO4jSAJYuzuUjZ xKf/gYLP4xKbJ13KAVHJQcR7QhvLQL6PlBuX2UqmZYN+1edTV6HWV8uCTQ+9K6BXjX77 O0BlhyFQ6ep1nowpxDZdClIdsDQC6ngTKhKW8x4QUDm4n2Px5xfOnTQS8QkfnNcpignJ XsDdZ//hfu23PiEfl54xSAWcoXy756lsBzgTnl7wgTsGpLs/sPNRH0AIwO12tdZm15tg mpdQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=mlMypBv+; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z21-20020a63b915000000b0053fb39cfd84si1698605pge.780.2023.05.30.09.55.47; Tue, 30 May 2023 09:56:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=mlMypBv+; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232683AbjE3Qko (ORCPT + 99 others); Tue, 30 May 2023 12:40:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53862 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230096AbjE3Qkm (ORCPT ); Tue, 30 May 2023 12:40:42 -0400 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2049.outbound.protection.outlook.com [40.107.92.49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D5C038E; Tue, 30 May 2023 09:40:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=auoYI/7tR/q/htwnsxypEFjjd3ANBIx/PntSX8pUDUPRrqPAPZUYnhU6q7SI5XBsgLSb6Q6R4Nr3Z6rQB0h47O00/DjwQLrAQ0E2whROCc5t7vWveKuIWw2lWyXJhYXoa62t8dV1g/63bEr76IslPbHik8O+r8nzbFA/Eaefaz1y/RpGlFKL2neLSi5n9NFszHu/+TOVVs3wq1ckBw2x5Zm+zaRPn9/tZZpc3txEaqHyLpC9M9yYc5zqkebIYvpWoU+54hfybZ2XvR42ADCBourUMy09oZbo17W0HK9l/SwtTwpzMAA4kEtUxRHYqicKDrDrMec1x+anEivY+nO6qg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=yPd8OTGDycxlNwmgaxjuPJhy0mVv8FZr21RzRhTXfz8=; b=NdS1wN16xtB/fW6Sxitkk//isfrzSY4RbEAUhCKSwAa3G6/z8pN4H6+K3idR38treXY2vkd4RSf98DxC12oIw2XlpGANQGMJExcLQoMZC3mxyoqLI4ZmF12BGVesgwE08391xFnS/rWSuGqYLBPXqumrQDKggHTWoiObbg+iCWni+EiKouUjI96i7HsJ7Kx3pW3ZiEFTs0hzmTwtjfETDh/hgAPMmWBBHrnQQqaKXTIq3diUpSWZXBitWvy8WunGwiqcdSVd8dL6AJrRKgX3Ld9bRZeN8rNiY0vpe1SK3Nkmu8r9RckttuT9Mv8S/Pq6kPEmFnlh4yjGcCFQs6Q7pg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=google.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 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=yPd8OTGDycxlNwmgaxjuPJhy0mVv8FZr21RzRhTXfz8=; b=mlMypBv+5PIM+voLwkDgsn3y+c8cYZdFHMXbiPK+HCiczMuhbdQrkVCDTUDwDXncao/+E7T41Km01ZE7wshlHoIROMl9dcmXv2Cxi7HRYx9qZC4CW7svKJiuwb/3plY+nmVEGV1lVB83UfxOic/qaZ961+nmHrRd+23h4n8L6zE= Received: from BN9PR03CA0444.namprd03.prod.outlook.com (2603:10b6:408:113::29) by PH8PR12MB8430.namprd12.prod.outlook.com (2603:10b6:510:259::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.22; Tue, 30 May 2023 16:40:38 +0000 Received: from BN8NAM11FT023.eop-nam11.prod.protection.outlook.com (2603:10b6:408:113:cafe::e3) by BN9PR03CA0444.outlook.office365.com (2603:10b6:408:113::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.23 via Frontend Transport; Tue, 30 May 2023 16:40: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 BN8NAM11FT023.mail.protection.outlook.com (10.13.177.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6455.22 via Frontend Transport; Tue, 30 May 2023 16:40:37 +0000 Received: from SITE-L-T34-2.amd.com (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.2375.34; Tue, 30 May 2023 11:40:35 -0500 From: Mario Limonciello To: Bjorn Helgaas CC: , , "Mika Westerberg" , S-k Shyam-sundar , Natikar Basavaraj , Deucher Alexander , "Rafael J . Wysocki" , , Lukas Wunner , Mario Limonciello Subject: [PATCH v5 1/2] PCI: Refactor pci_bridge_d3_possible() Date: Tue, 30 May 2023 11:39:46 -0500 Message-ID: <20230530163947.230418-1-mario.limonciello@amd.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN8NAM11FT023:EE_|PH8PR12MB8430:EE_ X-MS-Office365-Filtering-Correlation-Id: 2f4084fd-1b5f-41f1-f8c0-08db612c993c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ncbdg4dC8gpBttNSn0rC3eVfWU54EL5VIGsTFJFv3a9ZG6XyeO2KLQQb/ZpGdc6y5zljUeVHX+D35/aw9+ufnF0ApvPJkYe4EuKiBFUYToAmJBo6YCDVW7SWvGD1vzss37TKNUIZMGEONJsPg+3C3+uNEvuu42oZmQUTs0RWkWH03nfkEj7LDo3KwfSS+cyomZ+PcVqIoWL5bx1Lp6mOVN4uRt3O894BXVLbnOVYY8bBwRVwy0HsOSQF+qhhoDwl9y3fDi2XsfRWDw9XS36JNvG8HoqQzK7QnPqG3Gt8MZ4DvwDgjBpXW4rQlXABbE4VX+fdXeU54JYU1d0BVjp1DV+L2Z/mmKdw+6HxVo/r6fgMfGCax3Idrlmz4Xh4W9fX85SSEhb0EWZZvige2X609cslXpBCc1YikMEUf5A9lQdSII37kHjyobTIgDHVf0MkG9wE7D8JlMdu1VdhpBjyloWpYsL+d07kqG0mZeWO5dc2uU30k47sefFFB8yyvFHA1XhLpiz52/+L0adbs5W18pmZopN0cpTGmXV7tYcN1laDxMcE7uub+hRW89dnDCiPC93iQof/sya/ht3SRsWfU6tS0QZum0TRYiGtsCgqaSdZHfQIIGvAiGqLxmtqAncUXJNzMSCNOqf92V9ejFwr2GQBuzkj0IPU5TIXFzD0fN0o5kSG55KT2VK7ndt5f+VNpPSGSdtRilKrPufT0wvYTI6C02KGyHs5cZv9ujNrSl9OT/YnqhiGKGZp/qdV7nxR2Ibr2McR5Fzq0rbYa3Mz3A== 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:(13230028)(4636009)(136003)(396003)(346002)(39860400002)(376002)(451199021)(46966006)(40470700004)(36840700001)(7696005)(356005)(81166007)(40460700003)(26005)(40480700001)(6666004)(1076003)(82740400003)(36756003)(5660300002)(478600001)(36860700001)(186003)(16526019)(86362001)(2616005)(336012)(426003)(4326008)(70586007)(70206006)(6916009)(47076005)(54906003)(41300700001)(2906002)(82310400005)(316002)(83380400001)(8936002)(8676002)(44832011)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 May 2023 16:40:37.9952 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2f4084fd-1b5f-41f1-f8c0-08db612c993c 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: BN8NAM11FT023.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB8430 X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767338945160931133?= X-GMAIL-MSGID: =?utf-8?q?1767338945160931133?= All of the cases handled by pci_bridge_d3_possible() are specific to these branches: ``` case PCI_EXP_TYPE_ROOT_PORT: case PCI_EXP_TYPE_UPSTREAM: case PCI_EXP_TYPE_DOWNSTREAM: ``` Drop a level of indentation by returning false in the default case instead. No intended functional changes. Acked-by: Rafael J. Wysocki Reviewed-by: Mika Westerberg Signed-off-by: Mario Limonciello --- v4->v5: * Add tags v3->v4: * New patch --- drivers/pci/pci.c | 68 +++++++++++++++++++++++------------------------ 1 file changed, 34 insertions(+), 34 deletions(-) base-commit: 7877cb91f1081754a1487c144d85dc0d2e2e7fc4 diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 5ede93222bc1..d1fa040bcea7 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -2978,48 +2978,48 @@ bool pci_bridge_d3_possible(struct pci_dev *bridge) case PCI_EXP_TYPE_ROOT_PORT: case PCI_EXP_TYPE_UPSTREAM: case PCI_EXP_TYPE_DOWNSTREAM: - if (pci_bridge_d3_disable) - return false; + break; + default: + return false; + } - /* - * Hotplug ports handled by firmware in System Management Mode - * may not be put into D3 by the OS (Thunderbolt on non-Macs). - */ - if (bridge->is_hotplug_bridge && !pciehp_is_native(bridge)) - return false; + if (pci_bridge_d3_disable) + return false; - if (pci_bridge_d3_force) - return true; + /* + * Hotplug ports handled by firmware in System Management Mode + * may not be put into D3 by the OS (Thunderbolt on non-Macs). + */ + if (bridge->is_hotplug_bridge && !pciehp_is_native(bridge)) + return false; - /* Even the oldest 2010 Thunderbolt controller supports D3. */ - if (bridge->is_thunderbolt) - return true; + if (pci_bridge_d3_force) + return true; - /* Platform might know better if the bridge supports D3 */ - if (platform_pci_bridge_d3(bridge)) - return true; + /* Even the oldest 2010 Thunderbolt controller supports D3. */ + if (bridge->is_thunderbolt) + return true; - /* - * Hotplug ports handled natively by the OS were not validated - * by vendors for runtime D3 at least until 2018 because there - * was no OS support. - */ - if (bridge->is_hotplug_bridge) - return false; + /* Platform might know better if the bridge supports D3 */ + if (platform_pci_bridge_d3(bridge)) + return true; - if (dmi_check_system(bridge_d3_blacklist)) - return false; + /* + * Hotplug ports handled natively by the OS were not validated + * by vendors for runtime D3 at least until 2018 because there + * was no OS support. + */ + if (bridge->is_hotplug_bridge) + return false; - /* - * It should be safe to put PCIe ports from 2015 or newer - * to D3. - */ - if (dmi_get_bios_year() >= 2015) - return true; - break; - } + if (dmi_check_system(bridge_d3_blacklist)) + return false; - return false; + /* + * It should be safe to put PCIe ports from 2015 or newer + * to D3. + */ + return dmi_get_bios_year() >= 2015; } static int pci_dev_check_d3cold(struct pci_dev *dev, void *data) From patchwork Tue May 30 16:39:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mario Limonciello X-Patchwork-Id: 101006 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2323140vqr; Tue, 30 May 2023 09:56:55 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7ICak+VA9ABY9QJ+NsdVDH/n2WQ2qyJ3jtVH3LpCM/eW+wubLmF//glJbjGs5Ty9u93bpn X-Received: by 2002:a17:903:2450:b0:1ad:bc86:851 with SMTP id l16-20020a170903245000b001adbc860851mr3122488pls.45.1685465814763; Tue, 30 May 2023 09:56:54 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1685465814; cv=pass; d=google.com; s=arc-20160816; b=QHXwyP8iVucpJvSwBFcd9GH7mgR40MxcBTJMvpJr3Bi7yucuQLQxF1cpbbjedj6a/U hXDqkb9USz/0iDC+xug6RdXELDdNpQjW2UlFGzdYq7s9BBRr9ypijtdlecxYWGmGBdzU AHDyUJNKn+63BJfYGntxcOCWuCuODsfFmjuHKtNxnYm6lLlJ8et+dVgovGbL2Vwv2SzW ik5EpqYQgy7JvXJZ0sTBx7u6mENj11m7wrSTvOUMe8XqicmDDDN5eHdSSa1+L/0TPEMB zxoO6JIWZutvrNx6YhIZso+sYzAQVd8LK5aFBq5Gl8uqV4vIpOfnkMCxyxkudPPc7si0 k0Xg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=nnwLJraND0w6rMhO6KaGzzAXYxKHN1gH83cQi2bGtX0=; b=02YMkZ27U57bRkBRqUHO2xpG1KwSDChB7EHQl605dqxn6SGpuQsPwTa24BlTlaiw3i 1Yd6Cur4ziYyDw7GhA+6ih0l9tLUohBWHgpx5+AjySfOJmeNpG9p8nx1t7HfFaoxAcEe 26Zz/TKkk8B94hsQlHssA2/1qKCVt5dn/aILUTnmnXCKkiwUc9QpOKOJO6QSl+/TXmsv e9irQ0u/WwbjmFQd30DICMt663uRGLF+Gdxd8I9O8RFApajMHdKYD3KLxzvPtikkw4sh u98xdspxk5EKbgk4PM6fZlQzANK67qOBmcL6CHGnfI47slzj1buXP8YyFs3ajji4n6+N 66NA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=3TU0zT0+; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j15-20020a170902da8f00b001ab10a72d7asi8302291plx.584.2023.05.30.09.56.42; Tue, 30 May 2023 09:56:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=3TU0zT0+; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232754AbjE3Qkr (ORCPT + 99 others); Tue, 30 May 2023 12:40:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53864 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232065AbjE3Qkm (ORCPT ); Tue, 30 May 2023 12:40:42 -0400 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2040.outbound.protection.outlook.com [40.107.236.40]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2EFEB8F; Tue, 30 May 2023 09:40:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mxbIy+C65SAII1uhNHIv/SmxhrviTH15F2+B/ibqDWs2ZPfoADuDr+1o+reSEJK79s0b5O3m8YKifbdUuaXOaNzA9XiVburcJlIDGLPQ1jMV5pyZqFj6nhjw19DnRiBqHTEcrLu87jkVv4zF22nmBwoSKHgUc9VQMuuTDCTA55va1d5WdFqH8c72XpSQT71w8rPx4bt6dqDsT09xh+uiPWk1YUrEWx+DM52PdIJCbdBRrGc7eMhkzt9q6ws5LZOF7RGFkd31BfMGIRJa/z5T5ECKcnY2BmjPB2S7s3aaRkffU68m3B2rsgzFsezn41xleuRHjKw+uZYOfNgDuTHfYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=nnwLJraND0w6rMhO6KaGzzAXYxKHN1gH83cQi2bGtX0=; b=JhQTDxQZ9JlzOG1LUCaBdhXdBgmEn1MvSNyaSyne1EovjBMZzHria8lflmyX2RR1BB8GxD8gC4ppjY2pFzacx1vEToOVddNk83vPk1n13OE01deuKGli5QHqLd/49CxcJ9oSFSe6LRI421UCn0RwnjTtv00/hL8GGWwm2rEpX/ajNlbATJ9kOUsR6WggFf6zHhxta0Nr8cD4kZ9HcE26VDu7vWMt9gl0G5+HaDFU5yZcnUQeSO9IDeDxZssSXK2/TKOKsDw7CnTSJwTWUuns2mnxAazhXEhJRdQWk8BY+o3TSeS+H9u20GD9qmAAlFpnXDPaRtwMSzqCI8qhvTGh+g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=google.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 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=nnwLJraND0w6rMhO6KaGzzAXYxKHN1gH83cQi2bGtX0=; b=3TU0zT0+LfSWJ48w8wSoO6dz5EtFn4QSQCRPBjNS7uIXXxyPS6naxO8XCrlh9iUD90rX4IUkSR9d3IHjrpNjhTYnvzf9otglDjeGuN3IrHzZV9wRth2dpjG8a9SoLbypCAhCrEFIQKT1lG7T4nXPmV/qnj2J+SVvFX8bby2+8Ds= Received: from BN9PR03CA0525.namprd03.prod.outlook.com (2603:10b6:408:131::20) by DM4PR12MB5181.namprd12.prod.outlook.com (2603:10b6:5:394::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.23; Tue, 30 May 2023 16:40:39 +0000 Received: from BN8NAM11FT051.eop-nam11.prod.protection.outlook.com (2603:10b6:408:131:cafe::c7) by BN9PR03CA0525.outlook.office365.com (2603:10b6:408:131::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.23 via Frontend Transport; Tue, 30 May 2023 16:40: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 BN8NAM11FT051.mail.protection.outlook.com (10.13.177.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6455.22 via Frontend Transport; Tue, 30 May 2023 16:40:38 +0000 Received: from SITE-L-T34-2.amd.com (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.2375.34; Tue, 30 May 2023 11:40:37 -0500 From: Mario Limonciello To: Bjorn Helgaas CC: , , "Mika Westerberg" , S-k Shyam-sundar , Natikar Basavaraj , Deucher Alexander , "Rafael J . Wysocki" , , Lukas Wunner , Mario Limonciello , Iain Lane , Kuppuswamy Sathyanarayanan Subject: [PATCH v5 2/2] PCI: Don't assume root ports are power manageable Date: Tue, 30 May 2023 11:39:47 -0500 Message-ID: <20230530163947.230418-2-mario.limonciello@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230530163947.230418-1-mario.limonciello@amd.com> References: <20230530163947.230418-1-mario.limonciello@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN8NAM11FT051:EE_|DM4PR12MB5181:EE_ X-MS-Office365-Filtering-Correlation-Id: 5204f739-286f-483c-0089-08db612c99c6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Upj25H1hKnxMB2jAXXO9F2wpxJ2soyta2n68xxaN5TZkIMxLiHeAZRCQOc/mkYcSR0WEFZSsozBUxCUCrZCNlpkKu9l5rybDWcCS11jnrP5l9ZuDoKo2JfAGv5zoD57Qh8LxfNiz4jv8dmI2Lmhiuta6ffw5N1KeVON6NukWNRqncklgq9Facz0HHnK87E+aV2hg+hg9e3zlEq4ZZbfkge3Ey4c8ODjBebC2CFkffK2hhcaU4cSmH/DeQ0XLO4YDsjlhS+MXepqKNcKr813MWW39ZPTi5OYIIe6III3scARZagXQAKzT0vzWocqmMSoiF/LZJG7prUZ098yxh1NB4ZFp1VwX81gOZkRhzRWAhhPdk1lIBlf0DiXHFvRU0dxLfnCoZCpqg/LFtDHshle/uglLwfvkaLM/q4BDW+tTvI9GSk96MlRbKR2sSJuQ95Zr2TaTlhUtk8RXPL8dabiNOt3TJMoZ6x5ppbRrFA+ex5pm0ECY0EPhRp41ZftGqoHk3OreBdsPSu4UhPgTa8kU7wKP2Lsqv0AZIQmWWFQgP3FqCag1XhIQEVP/GODyOaODMB+6dE5wslL6SAN1xvI9sVew/MdPccOWLhfFyC6zRgP2VbRHLASwK5HbQBcG0RJIhLkpydf7PxfW4AT6gzXmOGjHaelE7rYiMSfgMmuDJwb9OCNGw6YB5qUWkWC6xN6F1T3x7iQ4be0T4extC43EBzSPGsSgPweePccnbz8me5F7jMTvnA8j2KNggqXF9O1NZws4pOVy+zYfrOAi9bT4gQ== 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:(13230028)(4636009)(136003)(346002)(376002)(396003)(39860400002)(451199021)(40470700004)(46966006)(36840700001)(966005)(186003)(16526019)(2616005)(41300700001)(426003)(336012)(83380400001)(26005)(1076003)(66574015)(7696005)(6666004)(36860700001)(47076005)(478600001)(40460700003)(54906003)(4326008)(81166007)(356005)(6916009)(82740400003)(70206006)(70586007)(40480700001)(316002)(5660300002)(8676002)(8936002)(44832011)(2906002)(86362001)(82310400005)(36756003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 May 2023 16:40:38.8934 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5204f739-286f-483c-0089-08db612c99c6 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: BN8NAM11FT051.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5181 X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767339002258222554?= X-GMAIL-MSGID: =?utf-8?q?1767339002258222554?= Using a USB keyboard or mouse to wakeup the system from s2idle fails when that xHCI device is connected to a USB-C port for an AMD USB4 router. Due to commit 9d26d3a8f1b0 ("PCI: Put PCIe ports into D3 during suspend") all PCIe ports go into D3 during s2idle. When specific root ports are put into D3 over s2idle on some AMD platforms it is not possible for the platform to properly identify wakeup sources. This happens whether the root port goes into D3hot or D3cold. Comparing registers between Linux and Windows 11 this behavior to put these specific root ports into D3 at suspend is unique to Linux. On an affected system Windows does not put those specific root ports into D3 over Modern Standby. Windows avoids putting Root Ports that are not power manageable (e.g do not have platform firmware support) into low power states. Linux shouldn't assume root ports support D3 just because they're on a machine newer than 2015, the ports should also be deemed power manageable. Add an extra check explicitly for root ports to ensure D3 isn't selected for them if they are not power-manageable through platform firmware. Fixes: 9d26d3a8f1b0 ("PCI: Put PCIe ports into D3 during suspend") Reported-by: Iain Lane Closes: https://forums.lenovo.com/t5/Ubuntu/Z13-can-t-resume-from-suspend-with-external-USB-keyboard/m-p/5217121 Acked-by: Rafael J. Wysocki Reviewed-by: Kuppuswamy Sathyanarayanan Reviewed-by: Mika Westerberg Signed-off-by: Mario Limonciello --- v4->v5: * Add tags * Fix title * Adjust commit message v3->v4: * Move after refactor --- drivers/pci/pci.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index d1fa040bcea7..d293db963327 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -3015,6 +3015,14 @@ bool pci_bridge_d3_possible(struct pci_dev *bridge) if (dmi_check_system(bridge_d3_blacklist)) return false; + /* + * It's not safe to put root ports that don't support power + * management into D3. + */ + if (pci_pcie_type(bridge) == PCI_EXP_TYPE_ROOT_PORT && + !platform_pci_power_manageable(bridge)) + return false; + /* * It should be safe to put PCIe ports from 2015 or newer * to D3.