Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 91678
b: refs/heads/master
c: 7d715a6
h: refs/heads/master
v: v3
  • Loading branch information
Shaohua Li authored and Greg Kroah-Hartman committed Apr 21, 2008
1 parent ea5bc5a commit 9a74b72
Show file tree
Hide file tree
Showing 11 changed files with 922 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: 657472e9ccd9fccb82b775eb691c4b25b27451da
refs/heads/master: 7d715a6c1ae5785d00fb9a876b5abdfc43abc44b
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/pci-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/pci-aspm.h>
#include <asm/dma.h> /* isa_dma_bridge_buggy */
#include "pci.h"

Expand Down Expand Up @@ -501,6 +502,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 && PCIEPORTBUS
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 9a74b72

Please sign in to comment.