search for: intel_broken_d3_bridges

Displaying 3 results from an estimated 3 matches for "intel_broken_d3_bridges".

2019 Sep 27
2
[RFC PATCH] pci: prevent putting pcie devices into lower device states on certain intel bridges
...if the client device + * is put into D1/D2/D3hot before putting the client into D3cold via + * platform means (generally ACPI). + * + * skipping this makes runpm work perfectly fine on such devices. + * + * As far as we know only skylake and kaby lake SoCs are affected. + */ +static unsigned short intel_broken_d3_bridges[] = { + /* kbl */ + 0x1901, +}; + +static inline bool intel_broken_pci_pm(struct pci_bus *bus) +{ + struct pci_dev *bridge; + int i; + + if (!bus || !bus->self) + return false; + + bridge = bus->self; + if (bridge->vendor != PCI_VENDOR_ID_INTEL) + return false; + + for (i = 0; i < ARR...
2019 Sep 27
0
[RFC PATCH] pci: prevent putting pcie devices into lower device states on certain intel bridges
...t here, e.g., maybe we're missing some delay like the ones Mika is adding to the reset paths? > + * > + * skipping this makes runpm work perfectly fine on such devices. > + * > + * As far as we know only skylake and kaby lake SoCs are affected. > + */ > +static unsigned short intel_broken_d3_bridges[] = { > + /* kbl */ > + 0x1901, > +}; > + > +static inline bool intel_broken_pci_pm(struct pci_bus *bus) > +{ > + struct pci_dev *bridge; > + int i; > + > + if (!bus || !bus->self) > + return false; > + > + bridge = bus->self; > + if (bridge->vend...
2019 Sep 27
2
[RFC PATCH] pci: prevent putting pcie devices into lower device states on certain intel bridges
...ck online (doing a rescan via sysfs gets the device detected again) > > + * > > + * skipping this makes runpm work perfectly fine on such devices. > > + * > > + * As far as we know only skylake and kaby lake SoCs are affected. > > + */ > > +static unsigned short intel_broken_d3_bridges[] = { > > + /* kbl */ > > + 0x1901, > > +}; > > + > > +static inline bool intel_broken_pci_pm(struct pci_bus *bus) > > +{ > > + struct pci_dev *bridge; > > + int i; > > + > > + if (!bus || !bus->self) > > +...