aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/pci.h
diff options
context:
space:
mode:
authorJesse Barnes <jbarnes@virtuousgeek.org>2011-01-10 15:46:36 -0500
committerJesse Barnes <jbarnes@virtuousgeek.org>2011-05-11 18:18:48 -0400
commit48a92a8179b3e677fac07db7bd109e68f020468c (patch)
treea0d43c7fc33fd5c899ce81103097117c27dd3e60 /include/linux/pci.h
parentb48d4425b602f5f4978299474743dbea130d940d (diff)
PCI: add OBFF enable/disable support
OBFF (optimized buffer flush/fill), where supported, can help improve energy efficiency by giving devices information about when interrupts and other activity will have a reduced power impact. It requires support from both the device and system (i.e. not only does the device need to respond to OBFF messages, but the platform must be capable of generating and routing them to the end point). Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'include/linux/pci.h')
-rw-r--r--include/linux/pci.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 551ddcb5f940..45a035cccd93 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -833,6 +833,13 @@ static inline int pci_enable_wake(struct pci_dev *dev, pci_power_t state,
833void pci_enable_ido(struct pci_dev *dev, unsigned long type); 833void pci_enable_ido(struct pci_dev *dev, unsigned long type);
834void pci_disable_ido(struct pci_dev *dev, unsigned long type); 834void pci_disable_ido(struct pci_dev *dev, unsigned long type);
835 835
836enum pci_obff_signal_type {
837 PCI_EXP_OBFF_SIGNAL_L0,
838 PCI_EXP_OBFF_SIGNAL_ALWAYS,
839};
840int pci_enable_obff(struct pci_dev *dev, enum pci_obff_signal_type);
841void pci_disable_obff(struct pci_dev *dev);
842
836/* For use by arch with custom probe code */ 843/* For use by arch with custom probe code */
837void set_pcie_port_type(struct pci_dev *pdev); 844void set_pcie_port_type(struct pci_dev *pdev);
838void set_pcie_hotplug_bridge(struct pci_dev *pdev); 845void set_pcie_hotplug_bridge(struct pci_dev *pdev);
@@ -1220,6 +1227,15 @@ static inline void pci_disable_ido(struct pci_dev *dev, unsigned long type)
1220{ 1227{
1221} 1228}
1222 1229
1230static inline int pci_enable_obff(struct pci_dev *dev, unsigned long type)
1231{
1232 return 0;
1233}
1234
1235static inline void pci_disable_obff(struct pci_dev *dev)
1236{
1237}
1238
1223static inline int pci_request_regions(struct pci_dev *dev, const char *res_name) 1239static inline int pci_request_regions(struct pci_dev *dev, const char *res_name)
1224{ 1240{
1225 return -EIO; 1241 return -EIO;