Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
PCI: conditional resource-reallocation through kernel parameter pci=realloc

+21
+2
Documentation/kernel-parameters.txt
··· 2015 2015 the default. 2016 2016 off: Turn ECRC off 2017 2017 on: Turn ECRC on. 2018 + realloc reallocate PCI resources if allocations done by BIOS 2019 + are erroneous. 2018 2020 2019 2021 pcie_aspm= [PCIE] Forcibly enable or disable PCIe Active State Power 2020 2022 Management.
+2
drivers/pci/pci.c
··· 3483 3483 pci_no_msi(); 3484 3484 } else if (!strcmp(str, "noaer")) { 3485 3485 pci_no_aer(); 3486 + } else if (!strncmp(str, "realloc", 7)) { 3487 + pci_realloc(); 3486 3488 } else if (!strcmp(str, "nodomains")) { 3487 3489 pci_no_domains(); 3488 3490 } else if (!strncmp(str, "cbiosize=", 9)) {
+2
drivers/pci/pci.h
··· 146 146 static inline void pci_msi_init_pci_dev(struct pci_dev *dev) { } 147 147 #endif 148 148 149 + extern void pci_realloc(void); 150 + 149 151 static inline int pci_no_d1d2(struct pci_dev *dev) 150 152 { 151 153 unsigned int parent_dstates = 0;
+15
drivers/pci/setup-bus.c
··· 47 47 (head)->next = NULL; \ 48 48 } while (0) 49 49 50 + int pci_realloc_enable = 0; 51 + #define pci_realloc_enabled() pci_realloc_enable 52 + void pci_realloc(void) 53 + { 54 + pci_realloc_enable = 1; 55 + } 56 + 50 57 /** 51 58 * add_to_list() - add a new resource tracker to the list 52 59 * @head: Head of the list ··· 1032 1025 return depth; 1033 1026 } 1034 1027 1028 + 1035 1029 /* 1036 1030 * first try will not touch pci bridge res 1037 1031 * second and later try will clear small leaf bridge res ··· 1076 1068 /* any device complain? */ 1077 1069 if (!head.next) 1078 1070 goto enable_and_dump; 1071 + 1072 + /* don't realloc if asked to do so */ 1073 + if (!pci_realloc_enabled()) { 1074 + free_list(resource_list_x, &head); 1075 + goto enable_and_dump; 1076 + } 1077 + 1079 1078 failed_type = 0; 1080 1079 for (list = head.next; list;) { 1081 1080 failed_type |= list->flags;