summaryrefslogtreecommitdiffstats
path: root/include/linux/pci.h
diff options
context:
space:
mode:
authorAaron Lu <aaron.lu@intel.com>2015-03-25 14:37:06 +0800
committerBjorn Helgaas <bhelgaas@google.com>2015-04-08 16:25:25 -0500
commite33caa82e221b0bbeba373b507e3f134dc2efa1a (patch)
tree5a5b5cb497a21c0342ac0a7d2956b366020fef68 /include/linux/pci.h
parent3390e0850b711d163b35508464cfbe0a4477dfe2 (diff)
downloadop-kernel-dev-e33caa82e221b0bbeba373b507e3f134dc2efa1a.zip
op-kernel-dev-e33caa82e221b0bbeba373b507e3f134dc2efa1a.tar.gz
PCI/ACPI: Optimize device state transition delays
The PCI "ACPI additions for FW latency optimizations" ECN (link below) defines two functions in the PCI _DSM: Function 8, "Reset Delay," applies to the entire hierarchy below a PCI host bridge. If it returns one, the OS may assume that all devices in the hierarchy have already completed power-on reset delays. Function 9, "Device Readiness Durations," applies only to the object where it is located. It returns delay durations required after various events if the device requires less time than the spec requires. Delays from this function take precedence over the Reset Delay function. Add support for Reset Delay and part of Device Readiness Durations. [bhelgaas: changelog, comments] Link: https://www.pcisig.com/specifications/conventional/pci_firmware/ECN_fw_latency_optimization_final.pdf Signed-off-by: Aaron Lu <aaron.lu@intel.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'include/linux/pci.h')
-rw-r--r--include/linux/pci.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 211e9da..c5aa7b8 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -406,6 +406,7 @@ struct pci_host_bridge {
struct list_head windows; /* resource_entry */
void (*release_fn)(struct pci_host_bridge *);
void *release_data;
+ unsigned int ignore_reset_delay:1; /* for entire hierarchy */
};
#define to_pci_host_bridge(n) container_of(n, struct pci_host_bridge, dev)
OpenPOWER on IntegriCloud