[{"id":3684590,"web_url":"http://patchwork.ozlabs.org/comment/3684590/","msgid":"<dfff52bc-06ad-0531-f28a-72804620c072@linux.intel.com>","list_archive_url":null,"date":"2026-04-30T10:17:05","subject":"Re: [RFC PATCH 3/4] pcie/aspm: Enable all hardware power-saving\n states by default","submitter":{"id":83553,"url":"http://patchwork.ozlabs.org/api/people/83553/","name":"Ilpo Järvinen","email":"ilpo.jarvinen@linux.intel.com"},"content":"On Wed, 29 Apr 2026, Thomas Falcon wrote:\n\n> For systems with a BIOS release date starting in 2025, default\n> ASPM policy to powersupersave if supported in the ACPI FADT.\n> Provide a flag, aspm_user_policy, tracking whether a user has\n> requested a specific power state to give those precedence.\n> Do not enable all states if user has chosen a specific policy\n> or disabled ASPM using the pcie_aspm module parameter.\n> \n> Suggested-by: David E. Box <david.e.box@linux.intel.com>\n> Signed-off-by: Thomas Falcon <thomas.falcon@intel.com>\n> ---\n>  drivers/pci/pci-acpi.c  |  4 +++-\n>  drivers/pci/pcie/aspm.c | 17 +++++++++++++++++\n>  include/linux/pci.h     |  1 +\n>  3 files changed, 21 insertions(+), 1 deletion(-)\n> \n> diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c\n> index 4d0f2cb6c695..d849bc6d0c0c 100644\n> --- a/drivers/pci/pci-acpi.c\n> +++ b/drivers/pci/pci-acpi.c\n> @@ -1523,7 +1523,9 @@ static int __init acpi_pci_init(void)\n>  \tif (acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_ASPM) {\n>  \t\tpr_info(\"ACPI FADT declares the system doesn't support PCIe ASPM, so disable it\\n\");\n>  \t\tpcie_no_aspm();\n> -\t}\n> +\t} else\n> +\t\t/* If ASPM is supported, configure the default policy here. */\n> +\t\tpcie_aspm_policy_config_init();\n\nPlease balance braces (and with comment this is multiline block anyway \nso you should use braces even because of that).\n\n>  \n>  \tif (acpi_pci_disabled)\n>  \t\treturn 0;\n> diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c\n> index 84d49aa8a5ba..1c81e2f2e589 100644\n> --- a/drivers/pci/pcie/aspm.c\n> +++ b/drivers/pci/pcie/aspm.c\n> @@ -267,6 +267,8 @@ static int aspm_policy = POLICY_POWER_SUPERSAVE;\n>  #else\n>  static int aspm_policy;\n>  #endif\n> +static int aspm_default_policy = POLICY_POWER_SUPERSAVE;\n> +static bool aspm_user_policy;\n>  \n>  static const char *policy_str[] = {\n>  \t[POLICY_DEFAULT] = \"default\",\n> @@ -1609,6 +1611,7 @@ static int pcie_aspm_set_policy(const char *val,\n>  \tdown_read(&pci_bus_sem);\n>  \tmutex_lock(&aspm_lock);\n>  \taspm_policy = i;\n> +\taspm_user_policy = true;\n>  \tlist_for_each_entry(link, &link_list, sibling) {\n>  \t\tpcie_config_aspm_link(link, policy_to_aspm_state(link));\n>  \t\tpcie_set_clkpm(link, policy_to_clkpm_state(link));\n> @@ -1810,6 +1813,20 @@ static int __init pcie_aspm_disable(char *str)\n>  \n>  __setup(\"pcie_aspm=\", pcie_aspm_disable);\n>  \n> +\n> +\n\nExtra empty lines.\n\n> +void __init pcie_aspm_policy_config_init(void)\n> +{\n> +\t/*\n> +\t * Set ASPM policy here, enabling all power-saving states\n> +\t * unless ASPM has been disabled or the user has already\n> +\t * requested a policy or the systems BIOS release date\n> +\t * is before the year 2025. Otherwise use BIOS defaults.\n> +\t */\n> +\tif (!aspm_disabled && !aspm_user_policy && dmi_get_bios_year() >= 2025)\n\nIs it good to have this 2025 check in two places as literals, should there \nbe only one function which is called by both places?\n\n> +\t\taspm_policy = aspm_default_policy;\n> +}\n> +\n>  void pcie_no_aspm(void)\n>  {\n>  \t/*\n> diff --git a/include/linux/pci.h b/include/linux/pci.h\n> index 2c4454583c11..36fa5579709c 100644\n> --- a/include/linux/pci.h\n> +++ b/include/linux/pci.h\n> @@ -1915,6 +1915,7 @@ int pci_disable_link_state_locked(struct pci_dev *pdev, int state);\n>  int pci_enable_link_state(struct pci_dev *pdev, int state);\n>  int pci_enable_link_state_locked(struct pci_dev *pdev, int state);\n>  void pcie_no_aspm(void);\n> +void pcie_aspm_policy_config_init(void);\n>  bool pcie_aspm_support_enabled(void);\n>  bool pcie_aspm_enabled(struct pci_dev *pdev);\n>  #else\n>","headers":{"Return-Path":"\n <linux-pci+bounces-53457-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-pci@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=ZyiOFJjm;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-pci+bounces-53457-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com\n header.b=\"ZyiOFJjm\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=192.198.163.8","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=linux.intel.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=linux.intel.com"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g5qwV0xqCz1yGq\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 20:22:02 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 50C4630378A4\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 10:17:36 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 10E663AD53B;\n\tThu, 30 Apr 2026 10:17:21 +0000 (UTC)","from mgamail.intel.com (mgamail.intel.com [192.198.163.8])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 56FE63AEF27;\n\tThu, 30 Apr 2026 10:17:19 +0000 (UTC)","from orviesa007.jf.intel.com ([10.64.159.147])\n  by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 30 Apr 2026 03:17:12 -0700","from ijarvine-mobl1.ger.corp.intel.com (HELO localhost)\n ([10.245.244.130])\n  by orviesa007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 30 Apr 2026 03:17:10 -0700"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777544241; cv=none;\n b=qdrUPJFBR6ZoHciaq9gsFM2ialoy4QRK1UmIC8S03htZlwuWO0KPSoeLlOXvllklT0fdSd/pTiCGTtNyJJunyuHzvaXKMX8BW7+e5mWSLK5GKgoYEYzI9twD4XyqdtGHPZjpa+HWPr6hKa5g9zadfecPcO5vbDmPdd8/aW0bfWI=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777544241; c=relaxed/simple;\n\tbh=S0v5qpPb2HKsA7S/oacjg6Hic7Fw5gWZ3KFJlQyGFxk=;\n\th=From:Date:To:cc:Subject:In-Reply-To:Message-ID:References:\n\t MIME-Version:Content-Type;\n b=F6QsSH+HNFTEYTkc168zFYC+0BJLD8l18xZQVm5lG1zagAvjYZ2u8dsyomZl2SMhrbt2J1/nrnFyFWjk5y3F2mRz9AGIkrprRqBz3OrWCOEA995iM64683CB4/GpzG6XXJA2QD68/S9ALKW+NUJRFBaWt5FJQM0vzgfn85gplDo=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=linux.intel.com;\n spf=pass smtp.mailfrom=linux.intel.com;\n dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com\n header.b=ZyiOFJjm; arc=none smtp.client-ip=192.198.163.8","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple;\n  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n  t=1777544239; x=1809080239;\n  h=from:date:to:cc:subject:in-reply-to:message-id:\n   references:mime-version;\n  bh=S0v5qpPb2HKsA7S/oacjg6Hic7Fw5gWZ3KFJlQyGFxk=;\n  b=ZyiOFJjmLJy4AkyuO032x/3bjvvfsAyxBERLWHSF2CAr5wts9KZ2vcpg\n   PiLEpZmqleH33lSXxVMHxZ6iKt24fReoLcgZq5fm1gHWne+KI06W8O1ji\n   75fqMFa5NNBmu2VN/e7yCCgZBYcKHFI5fqmiOKVGW/2qD2Ar2hvz/AyFg\n   ix9c+HB+zNkv35To9eGAOFynZzIzA0RXYDFU+R3jjPydHN9VfEBmL32nL\n   SI7EMIqvS9EdeXHYw3tWI8tDQ02yyufoxZJCnMlXuAxtP3BVqpEa/kfCu\n   LW9PurBqS8qtlEHq0Wi6qppn4d4I9OG/0S3b1wuKv89wItO7CYTrMNkqm\n   A==;","X-CSE-ConnectionGUID":["pEFCNaezQ1iK0UQBFcLxqw==","dO46cEGAToGz/cdyvo7yQg=="],"X-CSE-MsgGUID":["dL5AZ7SOQJaDgXskXWsyOA==","2GzgCBXpSsSSyJVJMKjc9g=="],"X-IronPort-AV":["E=McAfee;i=\"6800,10657,11771\"; a=\"96056592\"","E=Sophos;i=\"6.23,207,1770624000\";\n   d=\"scan'208\";a=\"96056592\"","E=Sophos;i=\"6.23,207,1770624000\";\n   d=\"scan'208\";a=\"234818500\""],"X-ExtLoop1":"1","From":"=?utf-8?q?Ilpo_J=C3=A4rvinen?= <ilpo.jarvinen@linux.intel.com>","Date":"Thu, 30 Apr 2026 13:17:05 +0300 (EEST)","To":"Thomas Falcon <thomas.falcon@intel.com>","cc":"Bjorn Helgaas <bhelgaas@google.com>,\n    \"Rafael J . Wysocki\" <rafael@kernel.org>,\n    \"David E . Box\" <david.e.box@linux.intel.com>,\n    Lukas Wunner <lukas@wunner.de>,\n    Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>,\n    Len Brown <lenb@kernel.org>, linux-pci@vger.kernel.org,\n    LKML <linux-kernel@vger.kernel.org>","Subject":"Re: [RFC PATCH 3/4] pcie/aspm: Enable all hardware power-saving\n states by default","In-Reply-To":"<20260429180647.197072-4-thomas.falcon@intel.com>","Message-ID":"<dfff52bc-06ad-0531-f28a-72804620c072@linux.intel.com>","References":"<20260429180647.197072-1-thomas.falcon@intel.com>\n <20260429180647.197072-4-thomas.falcon@intel.com>","Precedence":"bulk","X-Mailing-List":"linux-pci@vger.kernel.org","List-Id":"<linux-pci.vger.kernel.org>","List-Subscribe":"<mailto:linux-pci+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-pci+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=US-ASCII"}},{"id":3684968,"web_url":"http://patchwork.ozlabs.org/comment/3684968/","msgid":"<fcabed06c2b6fa163954e18972ae70bccdcffbf7.camel@intel.com>","list_archive_url":null,"date":"2026-04-30T22:19:34","subject":"Re: [RFC PATCH 3/4] pcie/aspm: Enable all hardware power-saving\n states by default","submitter":{"id":93044,"url":"http://patchwork.ozlabs.org/api/people/93044/","name":"Falcon, Thomas","email":"thomas.falcon@intel.com"},"content":"On Thu, 2026-04-30 at 13:17 +0300, Ilpo Järvinen wrote:\n> On Wed, 29 Apr 2026, Thomas Falcon wrote:\n> \n> > For systems with a BIOS release date starting in 2025, default\n> > ASPM policy to powersupersave if supported in the ACPI FADT.\n> > Provide a flag, aspm_user_policy, tracking whether a user has\n> > requested a specific power state to give those precedence.\n> > Do not enable all states if user has chosen a specific policy\n> > or disabled ASPM using the pcie_aspm module parameter.\n> > \n> > Suggested-by: David E. Box <david.e.box@linux.intel.com>\n> > Signed-off-by: Thomas Falcon <thomas.falcon@intel.com>\n> > ---\n> >  drivers/pci/pci-acpi.c  |  4 +++-\n> >  drivers/pci/pcie/aspm.c | 17 +++++++++++++++++\n> >  include/linux/pci.h     |  1 +\n> >  3 files changed, 21 insertions(+), 1 deletion(-)\n> > \n> > diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c\n> > index 4d0f2cb6c695..d849bc6d0c0c 100644\n> > --- a/drivers/pci/pci-acpi.c\n> > +++ b/drivers/pci/pci-acpi.c\n> > @@ -1523,7 +1523,9 @@ static int __init acpi_pci_init(void)\n> >  \tif (acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_ASPM) {\n> >  \t\tpr_info(\"ACPI FADT declares the system doesn't\n> > support PCIe ASPM, so disable it\\n\");\n> >  \t\tpcie_no_aspm();\n> > -\t}\n> > +\t} else\n> > +\t\t/* If ASPM is supported, configure the default\n> > policy here. */\n> > +\t\tpcie_aspm_policy_config_init();\n> \n> Please balance braces (and with comment this is multiline block\n> anyway \n> so you should use braces even because of that).\n\nThanks, I will fix this in the next version.\n\n> \n> >  \n> >  \tif (acpi_pci_disabled)\n> >  \t\treturn 0;\n> > diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c\n> > index 84d49aa8a5ba..1c81e2f2e589 100644\n> > --- a/drivers/pci/pcie/aspm.c\n> > +++ b/drivers/pci/pcie/aspm.c\n> > @@ -267,6 +267,8 @@ static int aspm_policy =\n> > POLICY_POWER_SUPERSAVE;\n> >  #else\n> >  static int aspm_policy;\n> >  #endif\n> > +static int aspm_default_policy = POLICY_POWER_SUPERSAVE;\n> > +static bool aspm_user_policy;\n> >  \n> >  static const char *policy_str[] = {\n> >  \t[POLICY_DEFAULT] = \"default\",\n> > @@ -1609,6 +1611,7 @@ static int pcie_aspm_set_policy(const char\n> > *val,\n> >  \tdown_read(&pci_bus_sem);\n> >  \tmutex_lock(&aspm_lock);\n> >  \taspm_policy = i;\n> > +\taspm_user_policy = true;\n> >  \tlist_for_each_entry(link, &link_list, sibling) {\n> >  \t\tpcie_config_aspm_link(link,\n> > policy_to_aspm_state(link));\n> >  \t\tpcie_set_clkpm(link, policy_to_clkpm_state(link));\n> > @@ -1810,6 +1813,20 @@ static int __init pcie_aspm_disable(char\n> > *str)\n> >  \n> >  __setup(\"pcie_aspm=\", pcie_aspm_disable);\n> >  \n> > +\n> > +\n> \n> Extra empty lines.\n\nOops, I will fix in v2.\n\n> \n> > +void __init pcie_aspm_policy_config_init(void)\n> > +{\n> > +\t/*\n> > +\t * Set ASPM policy here, enabling all power-saving states\n> > +\t * unless ASPM has been disabled or the user has already\n> > +\t * requested a policy or the systems BIOS release date\n> > +\t * is before the year 2025. Otherwise use BIOS defaults.\n> > +\t */\n> > +\tif (!aspm_disabled && !aspm_user_policy &&\n> > dmi_get_bios_year() >= 2025)\n> \n> Is it good to have this 2025 check in two places as literals, should\n> there \n> be only one function which is called by both places?\n\nOk, might be able to use pcie_aspm_legacy_config_check from the\nprevious patch here. I will fix in v2.\n\nThanks,\nTom\n\n> \n> > +\t\taspm_policy = aspm_default_policy;\n> > +}\n> > +\n> >  void pcie_no_aspm(void)\n> >  {\n> >  \t/*\n> > diff --git a/include/linux/pci.h b/include/linux/pci.h\n> > index 2c4454583c11..36fa5579709c 100644\n> > --- a/include/linux/pci.h\n> > +++ b/include/linux/pci.h\n> > @@ -1915,6 +1915,7 @@ int pci_disable_link_state_locked(struct\n> > pci_dev *pdev, int state);\n> >  int pci_enable_link_state(struct pci_dev *pdev, int state);\n> >  int pci_enable_link_state_locked(struct pci_dev *pdev, int state);\n> >  void pcie_no_aspm(void);\n> > +void pcie_aspm_policy_config_init(void);\n> >  bool pcie_aspm_support_enabled(void);\n> >  bool pcie_aspm_enabled(struct pci_dev *pdev);\n> >  #else\n> > \n>","headers":{"Return-Path":"\n <linux-pci+bounces-53555-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-pci@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=eCrKv7Yy;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-pci+bounces-53555-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com\n header.b=\"eCrKv7Yy\"","smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=198.175.65.17","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=intel.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=intel.com","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=intel.com;"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g67rh4T5Rz1yHZ\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 01 May 2026 08:19:47 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 3DAAE3026F18\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 22:19:45 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 6FB0B381B15;\n\tThu, 30 Apr 2026 22:19:44 +0000 (UTC)","from mgamail.intel.com (mgamail.intel.com [198.175.65.17])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 83089287257;\n\tThu, 30 Apr 2026 22:19:42 +0000 (UTC)","from fmviesa005.fm.intel.com ([10.60.135.145])\n  by orvoesa109.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 30 Apr 2026 15:19:42 -0700","from orsmsx901.amr.corp.intel.com ([10.22.229.23])\n  by fmviesa005.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 30 Apr 2026 15:19:41 -0700","from ORSMSX902.amr.corp.intel.com (10.22.229.24) by\n ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.37; Thu, 30 Apr 2026 15:19:41 -0700","from ORSEDG901.ED.cps.intel.com (10.7.248.11) by\n ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.37 via Frontend Transport; Thu, 30 Apr 2026 15:19:41 -0700","from BN8PR05CU002.outbound.protection.outlook.com (52.101.57.28) by\n edgegateway.intel.com (134.134.137.111) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.37; Thu, 30 Apr 2026 15:19:40 -0700","from CH3PR11MB8383.namprd11.prod.outlook.com (2603:10b6:610:171::6)\n by DS0PR11MB7334.namprd11.prod.outlook.com (2603:10b6:8:11d::21) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.20; Thu, 30 Apr\n 2026 22:19:35 +0000","from CH3PR11MB8383.namprd11.prod.outlook.com\n ([fe80::60b:dc79:1a0d:6913]) by CH3PR11MB8383.namprd11.prod.outlook.com\n ([fe80::60b:dc79:1a0d:6913%6]) with mapi id 15.20.9870.020; Thu, 30 Apr 2026\n 22:19:35 +0000"],"ARC-Seal":["i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777587584; cv=fail;\n b=fL29P4UB8vMEuAp/UdPBJbIYp2MiuUPztdmI9hOxuHui2xB2gNIfsC88yAN6sXm+6uZIVD+gaFjuLdSfXeURqIwHX/h35a6kZBcqGm8IsGHleq4xkyKn44MugJ4m1M5YN4HZrvCcv6AxayLu5LbZKUR+t4ZG5yg5LUofot/Fq4E=","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=UMENOac2H35uXe+fuWeT3fsV9+/bVtoxrH03CHNIcVsmQkc3Q/akcTS3m5fkCb7eKD72pcXYgki61x/bLCq4WxnSl/MTeWiC9DxL3xZL/DQzdLEBbDGShe2PCx9KZ8/Yu/7tT6RCWoImqDdNJP56+5AFUP3oD9tMtriilTWCY0OEJNJMASxQSf9nciTfl2rAEnR6gmXXQoi2hkHUe6shCx9Ckmx52MNhNBSt3U078Qg3HxEaAvRWAsfAaH9+t7BIVcIwfMuDnk+FIzurRjOLSGAkasgP+2LmbY1zkyD6gVQ+CGT5ihJ5b3PgALrCjQHDWZtIMeKlW0Ihvc3CniGGIA=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777587584; c=relaxed/simple;\n\tbh=eBLdPUe6QOBWCvlqG4ol7wnlMwHGMh+m1QIhGywksmE=;\n\th=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:\n\t Content-Type:MIME-Version;\n b=uvSmT8TTEsv4LhMjuIlLk/J+uoqtU4JdGcHbJ37mONbggYGZbheB35dcpSasaBn04INACQhZQ5244jjJnt6yK1tzqwljKMcYZgeyHxw4HnIK8FOXz4KGL7iI4SROBC1zOc3QrmDpO+6sgAg8EKwBtgjX8WRPwUo6MXXPu7A+ojo=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=eBLdPUe6QOBWCvlqG4ol7wnlMwHGMh+m1QIhGywksmE=;\n b=gnuz2J1++4LfptJxgonb2L7saChl/TjjUsWiK1f05/Ym6Og/I3ntsnO8MQtORZRU/6WzbQco25XkvYRcVoG7LYJ45ktHSTCjkQsaI5PTmp+3GnPVUoTEKY+0ETDTn/8N0byiVjh1paS3Avyg0FBiVRaCHmIywV3I8BRBi0LieiEEAEdy71goBidrzauV6NJR5eSJGgRXvB7Ma8hb8+kJlt8jhoYCUMnODHrQnFlLlIppm8Ks/W7YNbQjHbfGtzl5+veM7R28TiGGKiBHra62yHMc4i4BnCQHCWVsINL6BuOZQqqiYE6L8E067SUR8v2ru2S6jXC1XaZPYs0s2rLqyg=="],"ARC-Authentication-Results":["i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=intel.com;\n spf=pass smtp.mailfrom=intel.com;\n dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com\n header.b=eCrKv7Yy; arc=fail smtp.client-ip=198.175.65.17","i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;\n dkim=pass header.d=intel.com; arc=none"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple;\n  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n  t=1777587582; x=1809123582;\n  h=from:to:cc:subject:date:message-id:references:\n   in-reply-to:content-id:content-transfer-encoding:\n   mime-version;\n  bh=eBLdPUe6QOBWCvlqG4ol7wnlMwHGMh+m1QIhGywksmE=;\n  b=eCrKv7Yy+dq74Utqaix0+ZFS/pPErwuQagI9pzUEu1P7kVWsGSkR+PVR\n   yD7Kk4LtyjimlMmEeXKwVgJL2JXbmcmLvC6pq4VH43zhVSvoOg7zuDust\n   IxfU+004K1m/jLdmrsJHAZqzy8uLMnzq9E/rLlqmtPV3RacIV0BApLvsB\n   KqOfhniWZpbeYf9XT20LvMek82yCmdJ3sWl06OxTcggRd2ctP6gIqtc3c\n   Ni1GfoamEYRuvnQHYnjXNtSJR0gbJ2oHnkOQsCwxaY4n7TBwfh9B69lCs\n   41ymChMDKxLT8Sew7ZWGJF8Iav6P/dU+ncY/iu1uAJirAi7TONzHCGfq+\n   g==;","X-CSE-ConnectionGUID":["dPC6nEicS1iw94QN2XuFBg==","2Gij6nV1QQWiMBTDKHWxDQ=="],"X-CSE-MsgGUID":["kWyl5KzARauNwKmtTBpdJQ==","QDTKf30CQAWr9Pk3VfA9eQ=="],"X-IronPort-AV":["E=McAfee;i=\"6800,10657,11772\"; a=\"78545094\"","E=Sophos;i=\"6.23,208,1770624000\";\n   d=\"scan'208\";a=\"78545094\"","E=Sophos;i=\"6.23,208,1770624000\";\n   d=\"scan'208\";a=\"239695061\""],"X-ExtLoop1":"1","From":"\"Falcon, Thomas\" <thomas.falcon@intel.com>","To":"\"ilpo.jarvinen@linux.intel.com\" <ilpo.jarvinen@linux.intel.com>","CC":"\"david.e.box@linux.intel.com\" <david.e.box@linux.intel.com>,\n\t\"rafael@kernel.org\" <rafael@kernel.org>, \"lenb@kernel.org\" <lenb@kernel.org>,\n\t\"linux-kernel@vger.kernel.org\" <linux-kernel@vger.kernel.org>,\n\t\"linux-pci@vger.kernel.org\" <linux-pci@vger.kernel.org>,\n\t\"manivannan.sadhasivam@oss.qualcomm.com\"\n\t<manivannan.sadhasivam@oss.qualcomm.com>, \"bhelgaas@google.com\"\n\t<bhelgaas@google.com>, \"lukas@wunner.de\" <lukas@wunner.de>","Subject":"Re: [RFC PATCH 3/4] pcie/aspm: Enable all hardware power-saving\n states by default","Thread-Topic":"[RFC PATCH 3/4] pcie/aspm: Enable all hardware power-saving\n states by default","Thread-Index":"AQHc2AL/Zy8jPIuUMkaZ3Il+EtnH4bX3ZPaAgADJ24A=","Date":"Thu, 30 Apr 2026 22:19:34 +0000","Message-ID":"<fcabed06c2b6fa163954e18972ae70bccdcffbf7.camel@intel.com>","References":"<20260429180647.197072-1-thomas.falcon@intel.com>\n\t <20260429180647.197072-4-thomas.falcon@intel.com>\n\t <dfff52bc-06ad-0531-f28a-72804620c072@linux.intel.com>","In-Reply-To":"<dfff52bc-06ad-0531-f28a-72804620c072@linux.intel.com>","Accept-Language":"en-US","Content-Language":"en-US","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","authentication-results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=eCrKv7Yy;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-pci+bounces-53555-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com\n header.b=\"eCrKv7Yy\"","smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=198.175.65.17","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=intel.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=intel.com","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=intel.com;"],"x-ms-publictraffictype":"Email","x-ms-traffictypediagnostic":"CH3PR11MB8383:EE_|DS0PR11MB7334:EE_","x-ms-office365-filtering-correlation-id":"4bc08dff-9189-46ff-4ff6-08dea7068f72","x-ms-exchange-senderadcheck":"1","x-ms-exchange-antispam-relay":"0","x-microsoft-antispam":"\n BCL:0;ARA:13230040|366016|1800799024|376014|18002099003|56012099003|22082099003|38070700021;","x-microsoft-antispam-message-info":"\n yfkbvNAMOigLvOBHQdqOPRaBQD9R659wQ7rwSTViO4oniZPouAO9slmifmVcFwI9zIMIOvGaK3HgTr0x6oMdUdDSGsGk9tVv3CmQZo202TY0zMoefQSmunZFTTUh65c9AhrJt+MNg79imPZM3yObsJsZfgSk7h5F8ShRnMusd7pyZbZyo4ojRaGHJxL4VzAAiNcKVDAt01vl8Aq/iWeP2DcZsMhZfMgTQt88aeMwwlxp6SD39i3b6BawdtHJLRHhU8/tvQgLXF4Md+24QkmjwA1x4FPjcT7yaKAvozE6wbNix8O/tkcrq5r23HMac3RMkVVIn6xwTaZvNq9ntlcklKT0zsQSVxmoaE1n6thzUf2NPpbhrMGeUqlZ6QpmLLYTdnqCcnzbQDIHFqBbu3zgwvLn9tFzXQliOY3pqKi+MDk/UYbGZeOJf9zNNl0GeGXRY2LQ9wOr3BMZ2jr+9ZHb26vcmDULbvSvZi+d/qCmG289pdpgMPw7YlVyeaRXTcSp0sw7C6Q4v5i54cLiZiBCg2xwWAHuLHx6HLAd5kn81xAvNBuPCjXJ2TM4ZbJIsvxVdDWmKARbnCgFhq6XvKwbUi6N8ugZMsLCGCZpVk5pUZEjpO1TXHHMAanDUnooluPFL4Q7JqT7tHI17L8GukZ+oXSiok1QAy0VL2bqxy++HwjBYQf0DIrunjvk07nDMaRcgvE69S8XCoGREpi9u+VR7SSNAjKHJczm7Dt6M1nvbm/Gh7U3R5sAhetODMoG2/ji","x-forefront-antispam-report":"\n CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR11MB8383.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(18002099003)(56012099003)(22082099003)(38070700021);DIR:OUT;SFP:1101;","x-ms-exchange-antispam-messagedata-chunkcount":"1","x-ms-exchange-antispam-messagedata-0":"=?utf-8?q?R/QKYAQlWb2+s1CK+DmnaMJ69zhS?=\n\t=?utf-8?q?4LoKfn47qFOvsl7WqIga7CLOHTeHcdT1zSJ31IFnQmyPn1DngIcTZyVq+MLzpHf0A?=\n\t=?utf-8?q?qWW8UPVEoITQa9njtP1WTeCpU0lIu1FzOQbjmkhpyYA0EjJzfFG6qsTo5+PG3DIw5?=\n\t=?utf-8?q?9DvBaF2UJZqviGzxkc7pqIlW8F3yfV7s33+BrXL3o203zCpw6uDNmVpMfti2ujbog?=\n\t=?utf-8?q?dTDuzRZ3LAThxad7xIsF/IqK/ORvGsXZXhCHQoOXMyhSOx/OYG7pScOsZbldWjBiU?=\n\t=?utf-8?q?rZ+/D/d1ZShdDQ4Ckaa7s5Io3Ipcd27FyuVVhbVRFD185oPbZA09hMJJDas7Wepe/?=\n\t=?utf-8?q?39XxmXK6FyO/of3DMhwacUTAgdlKXLlFQDMIzbgARwj1QfMlnkeKNxVYkJmZGIFL+?=\n\t=?utf-8?q?bOLIUiwuCkMh23B7WCuWRCdvPelCws7HW/9M/EyHR+OncZfHqHCogu22oZh0yYgBe?=\n\t=?utf-8?q?ja9wZ0C8Xc5RCpRIJ62HszZbpO6ybCofaKGOhinAM7RcqGyuLnZdZPe89Fn+LMd65?=\n\t=?utf-8?q?wl+JRE+iBAyXwX5QFEe0oXtpKlbtmb14RJecwvAZhZ0+mXpHiyNfslprWk1SQn6sJ?=\n\t=?utf-8?q?pG8eY8xikftPgTBcULtgiqLA18u6pPsX6H2/7bPn7JeM5vCbnn1/nErxwALwm9mGb?=\n\t=?utf-8?q?88U9hzeTdTqsO6BtbH2/dY5TxkMp/x+JRbd1FJMPt6P/K+rn31AkUGE3efSx2IBfA?=\n\t=?utf-8?q?nXNATpqv5HXO7AA7e0PCcnQzmP43bc5707tt/cLKWcPT8MGK0r7E4SP51NYL3v/MR?=\n\t=?utf-8?q?kpEyBfEioD44efxDFqdvIN2yOwKjBFfPynLesrNbAXZKYQZghnrU66vL7HKFF4lNe?=\n\t=?utf-8?q?wdRQeAUF9ryTJh1dXPsktTz4LMVqScLxyj1DZ15ME2b/ofQcc5kzpSl/CRjXoCJzb?=\n\t=?utf-8?q?+SRkF0MFRKjannNs91Mz36t21ufQWeMm0I1JLlHoU//LS4dpWmwVZyYB/CtQkMXvz?=\n\t=?utf-8?q?KWo4M4wHlDWZf+2bE7XZ7Tpmcb/XBNXFfFXFI0+DiJypio8V5mmlQxfLmbmOEHVDl?=\n\t=?utf-8?q?JTDeGmCpfQyGCmF9B0vCfIXf9ttsGYvCT/W/GK3tbHhrR5iEbV7H8t1R3fZWRXb52?=\n\t=?utf-8?q?DDChnFpx1Xr9c1rb2K0llBPOEngMcJ+SS7Gij0cWjdDDJbnAOBRnkjC5CWyrJGQAz?=\n\t=?utf-8?q?NEUVcmNY53Yy7JA9CFYESJieyj2N0gM9iwwzeCqKrKRTnf/XbS1zZ17xAY64KmPDL?=\n\t=?utf-8?q?NlfwKXVG/xHPq67o3cA6Q19FhgAfhEmjTX6lw107SD5vALI4NIAD4SK+xRJlzITUh?=\n\t=?utf-8?q?0IVp+FkOO+W11R3CDrstwu/cmzgnfLCQqoYtTAJ6LUYLjEVX1KHRqyeXsF08iOdY+?=\n\t=?utf-8?q?EMAcZAfuZSBCmv2YOxUHbfE4CZgoLX+UggpgmmkS+225OT6hRlgkkf2+J+kC8fZIa?=\n\t=?utf-8?q?x3HWme4nTs6ssFrs0hFdAO4nXWlEKtTUYZJmbHDLUPB5NOW3VL95L7tA/L6s93RyF?=\n\t=?utf-8?q?P5oIl1zg3C9KXFdcdQVOu9SBoGR3fIFjy+jAX8DhXe2dCvCKoxuwavEE+qyRpAEhf?=\n\t=?utf-8?q?ZFwQ9+L8d5FjzKrjJw7WhlMPBpHlgmpN6/KNhcwcZtUlgEqWwgXszeqAwkm2vTtWJ?=\n\t=?utf-8?q?ep+V4pCEyj4qycqcnhmCsSlVJSwPKKsilHVVsndA0sg4/kFZl3wCnNQ0VYlr0DMrS?=\n\t=?utf-8?q?PCNMX08gHnrXKxuvP3AVq311l9g76uy9sdk4+PyGOpIK9XcWrUm2s=3D?=","Content-Type":"text/plain; charset=\"utf-8\"","Content-ID":"<C3CC794C2464624BB90864284759C17B@namprd11.prod.outlook.com>","Content-Transfer-Encoding":"base64","Precedence":"bulk","X-Mailing-List":"linux-pci@vger.kernel.org","List-Id":"<linux-pci.vger.kernel.org>","List-Subscribe":"<mailto:linux-pci+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-pci+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","X-Exchange-RoutingPolicyChecked":"\n GEtOUJThHtGQNDoHdMMcJocCPVI6wWOlNnp+c48jCq7tVaglF2i5RSXwJioiQFWIJUmV2JsNtedaMyIeWW/L802vb0ov6vVxKdsWTUpgsTZHxrP9qWvASRPF6YyUudf3fjrm2HcFfC9OfJRMlhwFOesht6XOPUKtXWXmF7HFtkyjihN02eRxGi2vkohDJqkyXNx5JOJWkWIw/0db7KZ0wTUqDq1ntEKw0hTM3GWZXgn/qRO3dL/NkV56a4bqwNvVJc6ddCuNwPjNLKpMiW7Sk95lEzWWasdM6ZJhY0qdugiSXQMHi6eWTEbuh33tJMVL7WoaxZeHBZkpf6vDQu+acQ==","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-AuthSource":"CH3PR11MB8383.namprd11.prod.outlook.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 4bc08dff-9189-46ff-4ff6-08dea7068f72","X-MS-Exchange-CrossTenant-originalarrivaltime":"30 Apr 2026 22:19:35.0720\n (UTC)","X-MS-Exchange-CrossTenant-fromentityheader":"Hosted","X-MS-Exchange-CrossTenant-id":"46c98d88-e344-4ed4-8496-4ed7712e255d","X-MS-Exchange-CrossTenant-mailboxtype":"HOSTED","X-MS-Exchange-CrossTenant-userprincipalname":"\n mdD0KN4pG5819CdI5ay7LZtkE4kXHnBkzXAW6mylhrwqezST+o8llsiAaExrqkGhwt1hDyfXt1ua7X74fp8GBw==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"DS0PR11MB7334","X-OriginatorOrg":"intel.com"}}]