···20152015 the default.20162016 off: Turn ECRC off20172017 on: Turn ECRC on.20182018+ realloc reallocate PCI resources if allocations done by BIOS20192019+ are erroneous.2018202020192021 pcie_aspm= [PCIE] Forcibly enable or disable PCIe Active State Power20202022 Management.
+2
drivers/pci/pci.c
···34833483 pci_no_msi();34843484 } else if (!strcmp(str, "noaer")) {34853485 pci_no_aer();34863486+ } else if (!strncmp(str, "realloc", 7)) {34873487+ pci_realloc();34863488 } else if (!strcmp(str, "nodomains")) {34873489 pci_no_domains();34883490 } else if (!strncmp(str, "cbiosize=", 9)) {
+2
drivers/pci/pci.h
···146146static inline void pci_msi_init_pci_dev(struct pci_dev *dev) { }147147#endif148148149149+extern void pci_realloc(void);150150+149151static inline int pci_no_d1d2(struct pci_dev *dev)150152{151153 unsigned int parent_dstates = 0;
+15
drivers/pci/setup-bus.c
···4747 (head)->next = NULL; \4848} while (0)49495050+int pci_realloc_enable = 0;5151+#define pci_realloc_enabled() pci_realloc_enable5252+void pci_realloc(void)5353+{5454+ pci_realloc_enable = 1;5555+}5656+5057/**5158 * add_to_list() - add a new resource tracker to the list5259 * @head: Head of the list···10321025 return depth;10331026}1034102710281028+10351029/*10361030 * first try will not touch pci bridge res10371031 * second and later try will clear small leaf bridge res···10761068 /* any device complain? */10771069 if (!head.next)10781070 goto enable_and_dump;10711071+10721072+ /* don't realloc if asked to do so */10731073+ if (!pci_realloc_enabled()) {10741074+ free_list(resource_list_x, &head);10751075+ goto enable_and_dump;10761076+ }10771077+10791078 failed_type = 0;10801079 for (list = head.next; list;) {10811080 failed_type |= list->flags;