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
  26extern void pcie_aspm_init_link_state(struct pci_dev *pdev);
  27extern void pcie_aspm_exit_link_state(struct pci_dev *pdev);
  28extern void pcie_aspm_pm_state_change(struct pci_dev *pdev);
  29extern void pci_disable_link_state(struct pci_dev *pdev, int state);
  30extern void pcie_no_aspm(void);
  31#else
  32static inline void pcie_aspm_init_link_state(struct pci_dev *pdev)
  33{
  34}
  35static inline void pcie_aspm_exit_link_state(struct pci_dev *pdev)
  36{
  37}
  38static inline void pcie_aspm_pm_state_change(struct pci_dev *pdev)
  39{
  40}
  41static inline void pci_disable_link_state(struct pci_dev *pdev, int state)
  42{
  43}
  44
  45static inline void pcie_no_aspm(void)
  46{
  47}
  48#endif
  49
  50#ifdef CONFIG_PCIEASPM_DEBUG /* this depends on CONFIG_PCIEASPM */
  51extern void pcie_aspm_create_sysfs_dev_files(struct pci_dev *pdev);
  52extern void pcie_aspm_remove_sysfs_dev_files(struct pci_dev *pdev);
  53#else
  54static inline void pcie_aspm_create_sysfs_dev_files(struct pci_dev *pdev)
  55{
  56}
  57static inline void pcie_aspm_remove_sysfs_dev_files(struct pci_dev *pdev)
  58{
  59}
  60#endif
  61#endif /* LINUX_ASPM_H */
  62