mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-26 06:33:19 -04:00
PCI/ACPI: Request _OSC control once for each root bridge (v3)
Move the evaluation of acpi_pci_osc_control_set() (to request control of PCI Express native features) into acpi_pci_root_add() to avoid calling it many times for the same root complex with the same arguments. Additionally, check if all of the requisite _OSC support bits are set before calling acpi_pci_osc_control_set() for a given root complex. References: https://bugzilla.kernel.org/show_bug.cgi?id=20232 Reported-by: Ozan Caglayan <ozan@pardus.org.tr> Tested-by: Ozan Caglayan <ozan@pardus.org.tr> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
This commit is contained in:
parent
6e8af08dfa
commit
415e12b237
10 changed files with 72 additions and 46 deletions
|
|
@ -40,4 +40,10 @@ static inline acpi_handle acpi_find_root_bridge_handle(struct pci_dev *pdev)
|
|||
{ return NULL; }
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ACPI_APEI
|
||||
extern bool aer_acpi_firmware_first(void);
|
||||
#else
|
||||
static inline bool aer_acpi_firmware_first(void) { return false; }
|
||||
#endif
|
||||
|
||||
#endif /* _PCI_ACPI_H_ */
|
||||
|
|
|
|||
|
|
@ -994,6 +994,9 @@ extern void pci_restore_msi_state(struct pci_dev *dev);
|
|||
extern int pci_msi_enabled(void);
|
||||
#endif
|
||||
|
||||
extern bool pcie_ports_disabled;
|
||||
extern bool pcie_ports_auto;
|
||||
|
||||
#ifndef CONFIG_PCIEASPM
|
||||
static inline int pcie_aspm_enabled(void)
|
||||
{
|
||||
|
|
@ -1003,6 +1006,14 @@ static inline int pcie_aspm_enabled(void)
|
|||
extern int pcie_aspm_enabled(void);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PCIEAER
|
||||
void pci_no_aer(void);
|
||||
bool pci_aer_available(void);
|
||||
#else
|
||||
static inline void pci_no_aer(void) { }
|
||||
static inline bool pci_aer_available(void) { return false; }
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_PCIE_ECRC
|
||||
static inline void pcie_set_ecrc_checking(struct pci_dev *dev)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue