All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nix <nix@esperi.org.uk>
To: "Wyborny\, Carolyn" <carolyn.wyborny@intel.com>
Cc: Matthew Garrett <mjg@redhat.com>, "Kirsher\,
	Jeffrey T" <jeffrey.t.kirsher@intel.com>,
	"davem\@davemloft.net" <davem@davemloft.net>,
	Chris Boot <bootc@bootc.net>,
	"netdev\@vger.kernel.org" <netdev@vger.kernel.org>,
	"gospo\@redhat.com" <gospo@redhat.com>,
	"sassmann\@redhat.com" <sassmann@redhat.com>
Subject: Re: [net-next 5/9] e1000e: Disable ASPM L1 on 82574
Date: Wed, 09 May 2012 15:02:55 +0100	[thread overview]
Message-ID: <87d36dbgfk.fsf@spindle.srvr.nix> (raw)
In-Reply-To: <87fwbea8pi.fsf@spindle.srvr.nix> (nix@esperi.org.uk's message of "Sat, 05 May 2012 17:33:45 +0100")

On 5 May 2012, nix@esperi.org.uk outgrape:

> The question here is how to fix it. It appears that the motherboard or
> BIOS on this machine does not grant _OSC control even (especially?) if
> you have turned on PCIe ASPM in the BIOS. But perhaps even if _OSC is
> not granted you should permit PCIe to be *disabled* by drivers, just not
> enabled? (The BIOS appears to be buggy in this area: if you turn off
> ASPM, save, and go back into setup, ASPM has turned itself back on
> again!)

This turned out to be me not knowing how to drive the BIOS's deeply
unintuitive configuration program. If I turn PCIe ASPM off in the BIOS,
the kernel does exactly the same as it does in my previous message (i.e.
decides that ASPM is disabled due to the failure of an _OSC request,
then refuses to change the ASPM link state of the e1000e), but since the
BIOS has already disabled ASPM, the card is not in crash-happy mode and
I don't need to force anything off by hand.

But if I turn ASPM on, as reported in my previous message the kernel
promptly bans itself from changing any PCIe ASPM link states whatsoever,
and the e1000e locks up about an hour later.

I presume that

May  5 17:06:53 spindle info: [    0.629699]  pci0000:00: Requesting ACPI _OSC control (0x1d)
May  5 17:06:53 spindle info: [    0.629941]  pci0000:00: ACPI _OSC request failed (AE_NOT_FOUND), returned control mask: 0x1d
May  5 17:06:53 spindle info: [    0.630373] ACPI _OSC control for PCIe not granted, disabling ASPM

is reporting some sort of BIOS bug, but it is at best confusing to have
the boot messages reporting that ASPM is disabled: better perhaps to
describe this as 'leaving ASPM on all devices how the BIOS set it' and
have the e1000e driver emit a giant flaming warning if it spots this
happening on an 82574L with ASPM turned on. (Or, alternatively, permit
ASPM to be turned off when the system is in this state, but not on,
whereupon the existing code in the e1000e driver will do the right
thing. But I don't know if that will break any laptops. This machine is
very much not a laptop.)

> I'm not sure what the right thing to do is here: I don't know enough
> about this area. But it does seem very strange that the only way I have
> to turn off PCIe ASPM reliably on this device is to tell the kernel to
> forcibly turn it *on*!

This is still strange, though it seems that turning ASPM completely off
in the BIOS will also serve.

  reply	other threads:[~2012-05-09 14:03 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-03  9:56 [net-next 0/9][pull request] Intel Wired LAN Dirver Updates Jeff Kirsher
2012-05-03  9:56 ` [net-next 1/9] e1000e: suggest a possible workaround to a device hang on 82577/8 Jeff Kirsher
2012-05-03  9:56 ` [net-next 2/9] e1000e: cleanup long [read|write]_reg_locked PHY ops function pointers Jeff Kirsher
2012-05-03  9:56 ` [net-next 3/9] e1000e: Resolve intermittent negotiation issue on 82574/82583 Jeff Kirsher
2012-05-03  9:56 ` [net-next 4/9] e1000e: Driver workaround for IPv6 Header Extension Erratum Jeff Kirsher
2012-05-03  9:56 ` [net-next 5/9] e1000e: Disable ASPM L1 on 82574 Jeff Kirsher
2012-05-03 10:08   ` Nix
2012-05-03 20:12     ` Wyborny, Carolyn
2012-05-03 20:17       ` Nix
2012-05-05 16:33         ` Nix
2012-05-09 14:02           ` Nix [this message]
2012-05-03  9:56 ` [net-next 6/9] e1000e: Remove special case for 82573/82574 ASPM L1 disablement Jeff Kirsher
2012-05-03  9:56 ` [net-next 7/9] ixgbevf: Add support to recognize 100mb link speed Jeff Kirsher
2012-05-03  9:56 ` [net-next 8/9] ixgbevf: Make sure jumbo frames are set correctly after PF reset Jeff Kirsher
2012-05-03  9:56 ` [net-next 9/9] ixgbevf: Update version string Jeff Kirsher
2012-05-03 17:30 ` [net-next 0/9][pull request] Intel Wired LAN Dirver Updates David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87d36dbgfk.fsf@spindle.srvr.nix \
    --to=nix@esperi.org.uk \
    --cc=bootc@bootc.net \
    --cc=carolyn.wyborny@intel.com \
    --cc=davem@davemloft.net \
    --cc=gospo@redhat.com \
    --cc=jeffrey.t.kirsher@intel.com \
    --cc=mjg@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=sassmann@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.