[vivid][PATCH] UBUNTU: [Config] CONFIG_PCIEASPM_DEBUG=y
Chris J Arges
chris.j.arges at canonical.com
Fri Dec 5 19:51:31 UTC 2014
Here are the device attributes that get added and their permissions:
static DEVICE_ATTR(link_state, 0644, link_state_show, link_state_store);
static DEVICE_ATTR(clk_ctl, 0644, clk_ctl_show, clk_ctl_store);
These are only added if link_state->{aspm_support,clkpm_capable} are
true respectively.
So this does allow for storing those variables. And looking through the
kernel I don't see many examples of this pattern; in addition the
parameter checking seems a bit weak:
static ssize_t link_state_store(struct device *dev,
struct device_attribute *attr,
const char *buf,
size_t n)
{
struct pci_dev *pdev = to_pci_dev(dev);
struct pcie_link_state *link, *root = pdev->link_state->root;
u32 val = buf[0] - '0', state = 0;
if (aspm_disabled)
return -EPERM;
if (n < 1 || val > 3)
return -EINVAL;
...
static ssize_t clk_ctl_store(struct device *dev,
struct device_attribute *attr,
const char *buf,
size_t n)
{
struct pci_dev *pdev = to_pci_dev(dev);
int state;
if (n < 1)
return -EINVAL;
state = buf[0]-'0';
...
--chris
On 12/05/2014 12:48 PM, Chris J Arges wrote:
> BugLink: http://bugs.launchpad.net/bugs/1398544
>
> CONFIG_PCIEASPM_DEBUG can be used to enable/disable ASPM settings per PCIE
> device. This config option allows for easier debugging of bugs in BIOS.
> Enabling this adds sysfs entires to access ASPM settings for PCIe devices.
>
> Signed-off-by: Chris J Arges <chris.j.arges at canonical.com>
> ---
> debian.master/config/config.common.ubuntu | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/debian.master/config/config.common.ubuntu b/debian.master/config/config.common.ubuntu
> index 0f4fd6e..2d2c68f 100644
> --- a/debian.master/config/config.common.ubuntu
> +++ b/debian.master/config/config.common.ubuntu
> @@ -5182,7 +5182,7 @@ CONFIG_PCI200SYN=m
> CONFIG_PCIEAER=y
> # CONFIG_PCIEAER_INJECT is not set
> CONFIG_PCIEASPM=y
> -# CONFIG_PCIEASPM_DEBUG is not set
> +CONFIG_PCIEASPM_DEBUG=y
> CONFIG_PCIEASPM_DEFAULT=y
> # CONFIG_PCIEASPM_PERFORMANCE is not set
> # CONFIG_PCIEASPM_POWERSAVE is not set
>
More information about the kernel-team
mailing list