Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 82358
b: refs/heads/master
c: 6c723d5
h: refs/heads/master
v: v3
  • Loading branch information
Shaohua Li authored and Greg Kroah-Hartman committed Feb 1, 2008
1 parent 6e75670 commit 312edbd
Show file tree
Hide file tree
Showing 11 changed files with 901 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 5c796ae7a7ebe56967ed9b9963d7c16d733635ff
refs/heads/master: 6c723d5bd89f03fc3ef627d50f89ade054d2ee3b
5 changes: 5 additions & 0 deletions trunk/drivers/pci/pci-sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include <linux/topology.h>
#include <linux/mm.h>
#include <linux/capability.h>
#include <linux/aspm.h>
#include "pci.h"

static int sysfs_initialized; /* = 0 */
Expand Down Expand Up @@ -650,6 +651,8 @@ int __must_check pci_create_sysfs_dev_files (struct pci_dev *pdev)
if (pcibios_add_platform_entries(pdev))
goto err_rom_file;

pcie_aspm_create_sysfs_dev_files(pdev);

return 0;

err_rom_file:
Expand Down Expand Up @@ -679,6 +682,8 @@ void pci_remove_sysfs_dev_files(struct pci_dev *pdev)
if (!sysfs_initialized)
return;

pcie_aspm_remove_sysfs_dev_files(pdev);

if (pdev->cfg_size < 4096)
sysfs_remove_bin_file(&pdev->dev.kobj, &pci_config_attr);
else
Expand Down
4 changes: 4 additions & 0 deletions trunk/drivers/pci/pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#include <linux/spinlock.h>
#include <linux/string.h>
#include <linux/log2.h>
#include <linux/aspm.h>
#include <asm/dma.h> /* isa_dma_bridge_buggy */
#include "pci.h"

Expand Down Expand Up @@ -519,6 +520,9 @@ pci_set_power_state(struct pci_dev *dev, pci_power_t state)
if (need_restore)
pci_restore_bars(dev);

if (dev->bus->self)
pcie_aspm_pm_state_change(dev->bus->self);

return 0;
}

Expand Down
20 changes: 20 additions & 0 deletions trunk/drivers/pci/pcie/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,23 @@ config HOTPLUG_PCI_PCIE
When in doubt, say N.

source "drivers/pci/pcie/aer/Kconfig"

#
# PCI Express ASPM
#
config PCIEASPM
bool "PCI Express ASPM support(Experimental)"
depends on PCI && EXPERIMENTAL
default y
help
This enables PCI Express ASPM (Active State Power Management) and
Clock Power Management. ASPM supports state L0/L0s/L1.

When in doubt, say N.
config PCIEASPM_DEBUG
bool "Debug PCI Express ASPM"
depends on PCIEASPM
default n
help
This enables PCI Express ASPM debug support. It will add per-device
interface to control ASPM.
3 changes: 3 additions & 0 deletions trunk/drivers/pci/pcie/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
# Makefile for PCI-Express PORT Driver
#

# Build PCI Express ASPM if needed
obj-$(CONFIG_PCIEASPM) += aspm.o

pcieportdrv-y := portdrv_core.o portdrv_pci.o portdrv_bus.o

obj-$(CONFIG_PCIEPORTBUS) += pcieportdrv.o
Expand Down
Loading

0 comments on commit 312edbd

Please sign in to comment.