Re: [PATCH] pci: Don't enable aspm before drivers have had a chanceto veto it

From: Jesse Barnes
Date: Fri Jun 18 2010 - 13:10:17 EST


On Fri, 18 Jun 2010 20:05:42 +0300
Maxim Levitsky <maximlevitsky@xxxxxxxxx> wrote:

> On Fri, 2010-06-18 at 09:12 -0700, Jesse Barnes wrote:
> > On Fri, 18 Jun 2010 15:06:51 +0300
> > Maxim Levitsky <maximlevitsky@xxxxxxxxx> wrote:
> >
> > > On Wed, 2010-06-09 at 16:05 -0400, Matthew Garrett wrote:
> > > > The aspm code will currently set the configured aspm policy before drivers
> > > > have had an opportunity to indicate that their hardware doesn't support it.
> > > > Unfortunately, putting some hardware in L0 or L1 can result in the hardware
> > > > no longer responding to any requests, even after aspm is disabled. It makes
> > > > more sense to leave aspm policy at the BIOS defaults at initial setup time,
> > > > reconfiguring it after pci_enable_device() is called. This allows the
> > > > driver to blacklist individual devices beforehand.
> > > >
> > > > Signed-off-by: Matthew Garrett <mjg@xxxxxxxxxx>
> > > > ---
> > >
> > > Hi,
> > >
> > > I recently discovered that my aspire one wireless troubles (card just
> > > dies after a while) are caused by ASPM L0S state.
> > > The device (AR5001) seems to have a hardware bug, and it also disables
> > > L0S in windows driver.
> > >
> > > Unfortenuly BIOS (news at 11) enables L0S.
> > >
> > > Its easy to disable ASPM from driver. It just a matter of calling
> > > pci_disable_link_state.
> > >
> > > However, that depends on CONFIG_PCIEASPM.
> > >
> > > How about making pci_disable_link_state always available or even better,
> > > just make CONFIG_PCIEASPM unconditional?
> >
> > The former is ok with me. Care to post a patch?
> It not that simple at first glance.
> This functions uses plenty of code from the aspm.c, therefore care
> should be taken to do that properly.
>
> Of course the easy solution is to compile all code in always, and just
> disable it by runtime switch (it even exists, aspm_disabled)
> Or, another easy solution is to make ath5k depend on CONFIG_PCIEASPM
>
> What do you think?

I do like the idea of getting rid of config options. I just want to
make sure we don't regress people, so I need to double check the
default behavior, especially for non-x86 and see whether it'll
generally be a no-op or not.

--
Jesse Barnes, Intel Open Source Technology Center
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/