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 tag 'pci-v4.19-fixes-2' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/helgaas/pci

Bjorn writes:
"PCI fixes:

- Fix ACPI hotplug issue that causes black screen crash at boot (Mika
Westerberg)

- Fix DesignWare "scheduling while atomic" issues (Jisheng Zhang)

- Add PPC contacts to MAINTAINERS for PCI core error handling (Bjorn
Helgaas)

- Sort Mobiveil MAINTAINERS entry (Lorenzo Pieralisi)"

* tag 'pci-v4.19-fixes-2' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
ACPI / hotplug / PCI: Don't scan for non-hotplug bridges if slot is not bridge
PCI: dwc: Fix scheduling while atomic issues
MAINTAINERS: Move mobiveil PCI driver entry where it belongs
MAINTAINERS: Update PPC contacts for PCI core error handling

+24 -18
+13 -7
MAINTAINERS
··· 9716 9716 S: Maintained 9717 9717 F: drivers/media/dvb-frontends/mn88473* 9718 9718 9719 - PCI DRIVER FOR MOBIVEIL PCIE IP 9720 - M: Subrahmanya Lingappa <l.subrahmanya@mobiveil.co.in> 9721 - L: linux-pci@vger.kernel.org 9722 - S: Supported 9723 - F: Documentation/devicetree/bindings/pci/mobiveil-pcie.txt 9724 - F: drivers/pci/controller/pcie-mobiveil.c 9725 - 9726 9719 MODULE SUPPORT 9727 9720 M: Jessica Yu <jeyu@kernel.org> 9728 9721 T: git git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux.git modules-next ··· 11130 11137 F: include/linux/switchtec.h 11131 11138 F: drivers/ntb/hw/mscc/ 11132 11139 11140 + PCI DRIVER FOR MOBIVEIL PCIE IP 11141 + M: Subrahmanya Lingappa <l.subrahmanya@mobiveil.co.in> 11142 + L: linux-pci@vger.kernel.org 11143 + S: Supported 11144 + F: Documentation/devicetree/bindings/pci/mobiveil-pcie.txt 11145 + F: drivers/pci/controller/pcie-mobiveil.c 11146 + 11133 11147 PCI DRIVER FOR MVEBU (Marvell Armada 370 and Armada XP SOC support) 11134 11148 M: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 11135 11149 M: Jason Cooper <jason@lakedaemon.net> ··· 11203 11203 11204 11204 PCI ENHANCED ERROR HANDLING (EEH) FOR POWERPC 11205 11205 M: Russell Currey <ruscur@russell.cc> 11206 + M: Sam Bobroff <sbobroff@linux.ibm.com> 11207 + M: Oliver O'Halloran <oohall@gmail.com> 11206 11208 L: linuxppc-dev@lists.ozlabs.org 11207 11209 S: Supported 11210 + F: Documentation/PCI/pci-error-recovery.txt 11211 + F: drivers/pci/pcie/aer.c 11212 + F: drivers/pci/pcie/dpc.c 11213 + F: drivers/pci/pcie/err.c 11208 11214 F: Documentation/powerpc/eeh-pci-error-recovery.txt 11209 11215 F: arch/powerpc/kernel/eeh*.c 11210 11216 F: arch/powerpc/platforms/*/eeh*.c
+4 -4
drivers/pci/controller/dwc/pcie-designware.c
··· 135 135 if (val & PCIE_ATU_ENABLE) 136 136 return; 137 137 138 - usleep_range(LINK_WAIT_IATU_MIN, LINK_WAIT_IATU_MAX); 138 + mdelay(LINK_WAIT_IATU); 139 139 } 140 140 dev_err(pci->dev, "Outbound iATU is not being enabled\n"); 141 141 } ··· 178 178 if (val & PCIE_ATU_ENABLE) 179 179 return; 180 180 181 - usleep_range(LINK_WAIT_IATU_MIN, LINK_WAIT_IATU_MAX); 181 + mdelay(LINK_WAIT_IATU); 182 182 } 183 183 dev_err(pci->dev, "Outbound iATU is not being enabled\n"); 184 184 } ··· 236 236 if (val & PCIE_ATU_ENABLE) 237 237 return 0; 238 238 239 - usleep_range(LINK_WAIT_IATU_MIN, LINK_WAIT_IATU_MAX); 239 + mdelay(LINK_WAIT_IATU); 240 240 } 241 241 dev_err(pci->dev, "Inbound iATU is not being enabled\n"); 242 242 ··· 282 282 if (val & PCIE_ATU_ENABLE) 283 283 return 0; 284 284 285 - usleep_range(LINK_WAIT_IATU_MIN, LINK_WAIT_IATU_MAX); 285 + mdelay(LINK_WAIT_IATU); 286 286 } 287 287 dev_err(pci->dev, "Inbound iATU is not being enabled\n"); 288 288
+1 -2
drivers/pci/controller/dwc/pcie-designware.h
··· 26 26 27 27 /* Parameters for the waiting for iATU enabled routine */ 28 28 #define LINK_WAIT_MAX_IATU_RETRIES 5 29 - #define LINK_WAIT_IATU_MIN 9000 30 - #define LINK_WAIT_IATU_MAX 10000 29 + #define LINK_WAIT_IATU 9 31 30 32 31 /* Synopsys-specific PCIe configuration registers */ 33 32 #define PCIE_PORT_LINK_CONTROL 0x710
+6 -5
drivers/pci/hotplug/acpiphp_glue.c
··· 457 457 /** 458 458 * enable_slot - enable, configure a slot 459 459 * @slot: slot to be enabled 460 + * @bridge: true if enable is for the whole bridge (not a single slot) 460 461 * 461 462 * This function should be called per *physical slot*, 462 463 * not per each slot object in ACPI namespace. 463 464 */ 464 - static void enable_slot(struct acpiphp_slot *slot) 465 + static void enable_slot(struct acpiphp_slot *slot, bool bridge) 465 466 { 466 467 struct pci_dev *dev; 467 468 struct pci_bus *bus = slot->bus; 468 469 struct acpiphp_func *func; 469 470 470 - if (bus->self && hotplug_is_native(bus->self)) { 471 + if (bridge && bus->self && hotplug_is_native(bus->self)) { 471 472 /* 472 473 * If native hotplug is used, it will take care of hotplug 473 474 * slot management and resource allocation for hotplug ··· 702 701 trim_stale_devices(dev); 703 702 704 703 /* configure all functions */ 705 - enable_slot(slot); 704 + enable_slot(slot, true); 706 705 } else { 707 706 disable_slot(slot); 708 707 } ··· 786 785 if (bridge) 787 786 acpiphp_check_bridge(bridge); 788 787 else if (!(slot->flags & SLOT_IS_GOING_AWAY)) 789 - enable_slot(slot); 788 + enable_slot(slot, false); 790 789 791 790 break; 792 791 ··· 974 973 975 974 /* configure all functions */ 976 975 if (!(slot->flags & SLOT_ENABLED)) 977 - enable_slot(slot); 976 + enable_slot(slot, false); 978 977 979 978 pci_unlock_rescan_remove(); 980 979 return 0;