* [PATCH] PCI: Enable ASPM state clearing regardless of policy
@ 2011-03-10 18:54 Alex Williamson
2011-04-07 22:23 ` Andrew Morton
2011-04-08 19:50 ` Jesse Barnes
0 siblings, 2 replies; 4+ messages in thread
From: Alex Williamson @ 2011-03-10 18:54 UTC (permalink / raw)
To: linux-pci, jbarnes; +Cc: linux-kernel, alex.williamson, mjg
Commit 2f671e2d allowed us to clear ASPM state when the FADT
tells us it isn't supported, but we don't put this into effect
if the aspm_policy is set to POLICY_POWERSAVE. Enable the
state to be cleared regardless of policy.
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
---
drivers/pci/pcie/aspm.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
index 3188cd9..eb8ac5c 100644
--- a/drivers/pci/pcie/aspm.c
+++ b/drivers/pci/pcie/aspm.c
@@ -607,7 +607,7 @@ void pcie_aspm_init_link_state(struct pci_dev *pdev)
* the BIOS's expectation, we'll do so once pci_enable_device() is
* called.
*/
- if (aspm_policy != POLICY_POWERSAVE) {
+ if (aspm_policy != POLICY_POWERSAVE || aspm_clear_state) {
pcie_config_aspm_path(link);
pcie_set_clkpm(link, policy_to_clkpm_state(link));
}
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] PCI: Enable ASPM state clearing regardless of policy
2011-03-10 18:54 [PATCH] PCI: Enable ASPM state clearing regardless of policy Alex Williamson
@ 2011-04-07 22:23 ` Andrew Morton
2011-04-08 2:24 ` Alex Williamson
2011-04-08 19:50 ` Jesse Barnes
1 sibling, 1 reply; 4+ messages in thread
From: Andrew Morton @ 2011-04-07 22:23 UTC (permalink / raw)
To: Alex Williamson; +Cc: linux-pci, jbarnes, linux-kernel, mjg
On Thu, 10 Mar 2011 11:54:16 -0700
Alex Williamson <alex.williamson@redhat.com> wrote:
> Commit 2f671e2d allowed us to clear ASPM state when the FADT
> tells us it isn't supported, but we don't put this into effect
> if the aspm_policy is set to POLICY_POWERSAVE. Enable the
> state to be cleared regardless of policy.
>
> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
> ---
>
> drivers/pci/pcie/aspm.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
> index 3188cd9..eb8ac5c 100644
> --- a/drivers/pci/pcie/aspm.c
> +++ b/drivers/pci/pcie/aspm.c
> @@ -607,7 +607,7 @@ void pcie_aspm_init_link_state(struct pci_dev *pdev)
> * the BIOS's expectation, we'll do so once pci_enable_device() is
> * called.
> */
> - if (aspm_policy != POLICY_POWERSAVE) {
> + if (aspm_policy != POLICY_POWERSAVE || aspm_clear_state) {
> pcie_config_aspm_path(link);
> pcie_set_clkpm(link, policy_to_clkpm_state(link));
> }
hm. why. Presumably this change has some user-observeable effect.
What is that effect, and why is it desirable? ;)
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] PCI: Enable ASPM state clearing regardless of policy
2011-04-07 22:23 ` Andrew Morton
@ 2011-04-08 2:24 ` Alex Williamson
0 siblings, 0 replies; 4+ messages in thread
From: Alex Williamson @ 2011-04-08 2:24 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-pci, jbarnes, linux-kernel, mjg
On Thu, 2011-04-07 at 15:23 -0700, Andrew Morton wrote:
> On Thu, 10 Mar 2011 11:54:16 -0700
> Alex Williamson <alex.williamson@redhat.com> wrote:
>
> > Commit 2f671e2d allowed us to clear ASPM state when the FADT
> > tells us it isn't supported, but we don't put this into effect
> > if the aspm_policy is set to POLICY_POWERSAVE. Enable the
> > state to be cleared regardless of policy.
> >
> > Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
> > ---
> >
> > drivers/pci/pcie/aspm.c | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
> > index 3188cd9..eb8ac5c 100644
> > --- a/drivers/pci/pcie/aspm.c
> > +++ b/drivers/pci/pcie/aspm.c
> > @@ -607,7 +607,7 @@ void pcie_aspm_init_link_state(struct pci_dev *pdev)
> > * the BIOS's expectation, we'll do so once pci_enable_device() is
> > * called.
> > */
> > - if (aspm_policy != POLICY_POWERSAVE) {
> > + if (aspm_policy != POLICY_POWERSAVE || aspm_clear_state) {
> > pcie_config_aspm_path(link);
> > pcie_set_clkpm(link, policy_to_clkpm_state(link));
> > }
>
> hm. why. Presumably this change has some user-observeable effect.
>
> What is that effect, and why is it desirable? ;)
Without this, the ASPM clearing from 2f671e2d doesn't actually do
anything when aspm_policy is set to POLICY_POWERSAVE. A recent BIOS
update on one of my systems left ASPM state on a device while reporting
via the FADT that ASPM isn't supported. Exactly the situation 2f671e2d
is meant to fix, but didn't because the downstream kernel used powersave
as it's default policy. With this, the ASPM leftovers still get clear
and the system works again. Thanks,
Alex
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] PCI: Enable ASPM state clearing regardless of policy
2011-03-10 18:54 [PATCH] PCI: Enable ASPM state clearing regardless of policy Alex Williamson
2011-04-07 22:23 ` Andrew Morton
@ 2011-04-08 19:50 ` Jesse Barnes
1 sibling, 0 replies; 4+ messages in thread
From: Jesse Barnes @ 2011-04-08 19:50 UTC (permalink / raw)
To: Alex Williamson; +Cc: linux-pci, linux-kernel, mjg
On Thu, 10 Mar 2011 11:54:16 -0700
Alex Williamson <alex.williamson@redhat.com> wrote:
> Commit 2f671e2d allowed us to clear ASPM state when the FADT
> tells us it isn't supported, but we don't put this into effect
> if the aspm_policy is set to POLICY_POWERSAVE. Enable the
> state to be cleared regardless of policy.
>
> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
> ---
>
> drivers/pci/pcie/aspm.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
> index 3188cd9..eb8ac5c 100644
> --- a/drivers/pci/pcie/aspm.c
> +++ b/drivers/pci/pcie/aspm.c
> @@ -607,7 +607,7 @@ void pcie_aspm_init_link_state(struct pci_dev *pdev)
> * the BIOS's expectation, we'll do so once pci_enable_device() is
> * called.
> */
> - if (aspm_policy != POLICY_POWERSAVE) {
> + if (aspm_policy != POLICY_POWERSAVE || aspm_clear_state) {
> pcie_config_aspm_path(link);
> pcie_set_clkpm(link, policy_to_clkpm_state(link));
> }
>
>
Applied to my linux-next branch, thanks.
--
Jesse Barnes, Intel Open Source Technology Center
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-04-08 19:50 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-10 18:54 [PATCH] PCI: Enable ASPM state clearing regardless of policy Alex Williamson
2011-04-07 22:23 ` Andrew Morton
2011-04-08 2:24 ` Alex Williamson
2011-04-08 19:50 ` Jesse Barnes
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox