From: Bjorn Helgaas Date: Wed, 15 Aug 2018 19:59:06 +0000 (-0500) Subject: Merge branch 'pci/virtualization' X-Git-Tag: Ubuntu-5.10.0-12.13~7224^2~9 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=3a48dc6fc260c9cac302a9ffaeab95359431c485;p=mirror_ubuntu-hirsute-kernel.git Merge branch 'pci/virtualization' - To avoid bus errors, enable PASID only if entire path supports End-End TLP prefixes (Sinan Kaya) - Unify slot and bus reset functions and remove hotplug knowledge from callers (Sinan Kaya) - Add Function-Level Reset quirks for Intel and Samsung NVMe devices to fix guest reboot issues (Alex Williamson) - Add function 1 DMA alias quirk for Marvell 88SS9183 PCIe SSD Controller (Bjorn Helgaas) * pci/virtualization: PCI: Add function 1 DMA alias quirk for Marvell 88SS9183 PCI: Delay after FLR of Intel DC P3700 NVMe PCI: Disable Samsung SM961/PM961 NVMe before FLR PCI: Export pcie_has_flr() PCI: Rename pci_try_reset_bus() to pci_reset_bus() PCI: Deprecate pci_reset_bus() and pci_reset_slot() functions PCI: Unify try slot and bus reset API PCI: Hide pci_reset_bridge_secondary_bus() from drivers IB/hfi1: Use pci_try_reset_bus() for initiating PCI Secondary Bus Reset PCI: Handle error return from pci_reset_bridge_secondary_bus() PCI/IOV: Tidy pci_sriov_set_totalvfs() PCI: Enable PASID only if entire path supports End-End TLP prefixes # Conflicts: # drivers/pci/hotplug/pciehp_hpc.c --- 3a48dc6fc260c9cac302a9ffaeab95359431c485 diff --cc drivers/pci/hotplug/pciehp_hpc.c index 5b15e76f3564,8dae23221344..7136e3430925 --- a/drivers/pci/hotplug/pciehp_hpc.c +++ b/drivers/pci/hotplug/pciehp_hpc.c @@@ -777,16 -743,18 +778,16 @@@ int pciehp_reset_slot(struct slot *slot pcie_write_cmd(ctrl, 0, ctrl_mask); ctrl_dbg(ctrl, "%s: SLOTCTRL %x write cmd %x\n", __func__, pci_pcie_cap(ctrl->pcie->port) + PCI_EXP_SLTCTL, 0); - if (pciehp_poll_mode) - del_timer_sync(&ctrl->poll_timer); - pci_reset_bridge_secondary_bus(ctrl->pcie->port); + rc = pci_bridge_secondary_bus_reset(ctrl->pcie->port); pcie_capability_write_word(pdev, PCI_EXP_SLTSTA, stat_mask); pcie_write_cmd_nowait(ctrl, ctrl_mask, ctrl_mask); ctrl_dbg(ctrl, "%s: SLOTCTRL %x write cmd %x\n", __func__, pci_pcie_cap(ctrl->pcie->port) + PCI_EXP_SLTCTL, ctrl_mask); - if (pciehp_poll_mode) - int_poll_timeout(&ctrl->poll_timer); + + up_write(&ctrl->reset_lock); - return 0; + return rc; } int pcie_init_notification(struct controller *ctrl) diff --cc drivers/pci/quirks.c index 6b635022f2fe,6994544125ff..b2e6c02385e5 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@@ -25,9 -25,9 +25,10 @@@ #include #include #include + #include #include #include +#include #include /* isa_dma_bridge_buggy */ #include "pci.h"