From: "David E. Box" <david.e.box@linux.intel.com>
Some ASPM-related tasks, such as save and restore of LTR and L1SS
capabilities, still need to be performed when CONFIG_PCIEASPM is not
enabled. To prepare for these changes, wrap the current code in aspm.c
with an #ifdef and always build the file.
Link: https://lore.kernel.org/r/20240128233212.1139663-2-david.e.box@linux.intel.com
Signed-off-by: David E. Box <david.e.box@linux.intel.com>
[bhelgaas: split build change from function moves]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
---
drivers/pci/pcie/Makefile | 2 +-
drivers/pci/pcie/aspm.c | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/pci/pcie/Makefile b/drivers/pci/pcie/Makefile
index 8de4ed5f98f1..6461aa93fe76 100644
--- a/drivers/pci/pcie/Makefile
+++ b/drivers/pci/pcie/Makefile
@@ -6,7 +6,7 @@ pcieportdrv-y := portdrv.o rcec.o
obj-$(CONFIG_PCIEPORTBUS) += pcieportdrv.o
-obj-$(CONFIG_PCIEASPM) += aspm.o
+obj-y += aspm.o
obj-$(CONFIG_PCIEAER) += aer.o err.o
obj-$(CONFIG_PCIEAER_INJECT) += aer_inject.o
obj-$(CONFIG_PCIE_PME) += pme.o
diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
index d1538f73f2f9..d50c0f83430f 100644
--- a/drivers/pci/pcie/aspm.c
+++ b/drivers/pci/pcie/aspm.c
@@ -24,6 +24,8 @@
#include "../pci.h"
+#ifdef CONFIG_PCIEASPM
+
#ifdef MODULE_PARAM_PREFIX
#undef MODULE_PARAM_PREFIX
#endif
@@ -1517,3 +1519,5 @@ bool pcie_aspm_support_enabled(void)
{
return aspm_support_enabled;
}
+
+#endif /* CONFIG_PCIEASPM */
--
2.34.1
On 2/23/24 12:58 PM, Bjorn Helgaas wrote:
> From: "David E. Box" <david.e.box@linux.intel.com>
>
> Some ASPM-related tasks, such as save and restore of LTR and L1SS
> capabilities, still need to be performed when CONFIG_PCIEASPM is not
> enabled. To prepare for these changes, wrap the current code in aspm.c
> with an #ifdef and always build the file.
Since save/restore needs to be called even if CONFIG_PCIEASPM is
not set, why not just leave it in pci.c?
>
> Link: https://lore.kernel.org/r/20240128233212.1139663-2-david.e.box@linux.intel.com
> Signed-off-by: David E. Box <david.e.box@linux.intel.com>
> [bhelgaas: split build change from function moves]
> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
> ---
> drivers/pci/pcie/Makefile | 2 +-
> drivers/pci/pcie/aspm.c | 4 ++++
> 2 files changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pci/pcie/Makefile b/drivers/pci/pcie/Makefile
> index 8de4ed5f98f1..6461aa93fe76 100644
> --- a/drivers/pci/pcie/Makefile
> +++ b/drivers/pci/pcie/Makefile
> @@ -6,7 +6,7 @@ pcieportdrv-y := portdrv.o rcec.o
>
> obj-$(CONFIG_PCIEPORTBUS) += pcieportdrv.o
>
> -obj-$(CONFIG_PCIEASPM) += aspm.o
> +obj-y += aspm.o
> obj-$(CONFIG_PCIEAER) += aer.o err.o
> obj-$(CONFIG_PCIEAER_INJECT) += aer_inject.o
> obj-$(CONFIG_PCIE_PME) += pme.o
> diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
> index d1538f73f2f9..d50c0f83430f 100644
> --- a/drivers/pci/pcie/aspm.c
> +++ b/drivers/pci/pcie/aspm.c
> @@ -24,6 +24,8 @@
>
> #include "../pci.h"
>
> +#ifdef CONFIG_PCIEASPM
> +
> #ifdef MODULE_PARAM_PREFIX
> #undef MODULE_PARAM_PREFIX
> #endif
> @@ -1517,3 +1519,5 @@ bool pcie_aspm_support_enabled(void)
> {
> return aspm_support_enabled;
> }
> +
> +#endif /* CONFIG_PCIEASPM */
--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer
On Sun, Feb 25, 2024 at 10:44:14PM -0800, Kuppuswamy Sathyanarayanan wrote: > On 2/23/24 12:58 PM, Bjorn Helgaas wrote: > > From: "David E. Box" <david.e.box@linux.intel.com> > > > > Some ASPM-related tasks, such as save and restore of LTR and L1SS > > capabilities, still need to be performed when CONFIG_PCIEASPM is not > > enabled. To prepare for these changes, wrap the current code in aspm.c > > with an #ifdef and always build the file. > > Since save/restore needs to be called even if CONFIG_PCIEASPM is > not set, why not just leave it in pci.c? We could do that, but we're accumulating various bits of ASPM-related suspend/resume functionality (LTR, L1SS, etc) that seem like they fit better in aspm.c. Bjorn
© 2016 - 2025 Red Hat, Inc.