linux/include/linux/pci-aspm.h
<<
>>
Prefs
   1/*
   2 *      aspm.h
   3 *
   4 *      PCI Express ASPM defines and function prototypes
   5 *
   6 *      Copyright (C) 2007 Intel Corp.
   7 *              Zhang Yanmin (yanmin.zhang@intel.com)
   8 *              Shaohua Li (shaohua.li@intel.com)
   9 *
  10 *      For more information, please consult the following manuals (look at
  11 *      http://www.pcisig.com/ for how to get them):
  12 *
  13 *      PCI Express Specification
  14 */
  15
  16#ifndef LINUX_ASPM_H
  17#define LINUX_ASPM_H
  18
  19#include <linux/pci.h>
  20
  21#define PCIE_LINK_STATE_L0S     1
  22#define PCIE_LINK_STATE_L1      2
  23#define PCIE_LINK_STATE_CLKPM   4
  24
  25#ifdef CONFIG_PCIEASPM
  26void pcie_aspm_init_link_state(struct pci_dev *pdev);
  27void pcie_aspm_exit_link_state(struct pci_dev *pdev);
  28void pcie_aspm_pm_state_change(struct pci_dev *pdev);
  29void pcie_aspm_powersave_config_link(struct pci_dev *pdev);
  30void pci_disable_link_state(struct pci_dev *pdev, int state);
  31void pci_disable_link_state_locked(struct pci_dev *pdev, int state);
  32void pcie_clear_aspm(struct pci_bus *bus);
  33void pcie_no_aspm(void);
  34#else
  35static inline void pcie_aspm_init_link_state(struct pci_dev *pdev)
  36{
  37}
  38static inline void pcie_aspm_exit_link_state(struct pci_dev *pdev)
  39{
  40}
  41static inline void pcie_aspm_pm_state_change(struct pci_dev *pdev)
  42{
  43}
  44static inline void pcie_aspm_powersave_config_link(struct pci_dev *pdev)
  45{
  46}
  47static inline void pci_disable_link_state(struct pci_dev *pdev, int state)
  48{
  49}
  50static inline void pcie_clear_aspm(struct pci_bus *bus)
  51{
  52}
  53static inline void pcie_no_aspm(void)
  54{
  55}
  56#endif
  57
  58#ifdef CONFIG_PCIEASPM_DEBUG /* this depends on CONFIG_PCIEASPM */
  59void pcie_aspm_create_sysfs_dev_files(struct pci_dev *pdev);
  60void pcie_aspm_remove_sysfs_dev_files(struct pci_dev *pdev);
  61#else
  62static inline void pcie_aspm_create_sysfs_dev_files(struct pci_dev *pdev)
  63{
  64}
  65static inline void pcie_aspm_remove_sysfs_dev_files(struct pci_dev *pdev)
  66{
  67}
  68#endif
  69#endif /* LINUX_ASPM_H */
  70