From: Michael Ellerman <michael@ellerman.id.au>
To: Shaohua Li <shaohua.li@intel.com>
Cc: lkml <linux-kernel@vger.kernel.org>,
linux-pci <linux-pci@atrey.karlin.mff.cuni.cz>,
Greg KH <greg@kroah.com>,
"Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com>
Subject: Re: [RFC] PCIE ASPM support
Date: Tue, 08 Jan 2008 09:02:35 +1100 [thread overview]
Message-ID: <1199743355.7518.2.camel@concordia> (raw)
In-Reply-To: <1199340944.1642.26.camel@sli10-desk.sh.intel.com>
[-- Attachment #1: Type: text/plain, Size: 2341 bytes --]
On Thu, 2008-01-03 at 14:15 +0800, Shaohua Li wrote:
> PCI Express ASPM defines a protocol for PCI Express components in the D0
> state to reduce Link power by placing their Links into a low power state
> and instructing the other end of the Link to do likewise. This
> capability allows hardware-autonomous, dynamic Link power reduction
> beyond what is achievable by software-only controlled power management.
> However, The device should be configured by software appropriately.
> Enabling ASPM will save power, but will introduce device latency.
>
> This patch adds ASPM support in Linux. It introduces a global policy for
> ASPM, a sysfs file /sys/module/pcie_aspm/parameters/policy can control
> it. The interface can be used as a boot option too. Currently we have
> below setting:
> -default, BIOS default setting
> -powersave, highest power saving mode, enable all available ASPM state
> and clock power management
> -performance, highest performance, disable ASPM and clock power
> management
> By default, the 'default' policy is used currently.
>
> In my test, power difference between powersave mode and performance mode
> is about 1.3w in a system with 3 PCIE links.
>
> please review, any comments will be appreciated.
>
> Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Minor nit, but you do a lot of these:
+ return ((struct link_state *)pdev->link_state)->bios_aspm_state;
+ return ((struct link_state *)pdev->link_state)->bios_clk_state;
+ ((struct link_state*)pdev->link_state)->clk_pm_enabled = !!enable;
+ ((struct link_state*)pdev->link_state)->clk_pm_capable = capable;
+ ((struct link_state*)pdev->link_state)->clk_pm_enabled = enabled;
+ ((struct link_state*)pdev->link_state)->bios_clk_state = enabled;
+ ((struct link_state *)pdev->link_state)->enabled_state = state;
+ if (((struct link_state *)pdev->link_state)->support_state == 0)
+ if (((struct link_state *)pdev->link_state)->enabled_state == state)
+ ((struct link_state *)pdev->link_state)->enabled_state);
Which is a little hard on the eye.
cheers
--
Michael Ellerman
OzLabs, IBM Australia Development Lab
wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)
We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2008-01-07 22:02 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-03 6:15 [RFC] PCIE ASPM support Shaohua Li
2008-01-03 19:33 ` Kok, Auke
2008-01-04 1:32 ` Shaohua Li
2008-01-07 18:19 ` Kok, Auke
2008-01-08 1:34 ` Shaohua Li
2008-01-07 22:02 ` Michael Ellerman [this message]
2008-01-08 1:35 ` Shaohua Li
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=1199743355.7518.2.camel@concordia \
--to=michael@ellerman.id.au \
--cc=greg@kroah.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@atrey.karlin.mff.cuni.cz \
--cc=shaohua.li@intel.com \
--cc=venkatesh.pallipadi@intel.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.