1. 20 4月, 2016 2 次提交
  2. 15 3月, 2016 1 次提交
  3. 11 3月, 2016 1 次提交
  4. 05 2月, 2016 1 次提交
  5. 21 1月, 2016 1 次提交
  6. 16 1月, 2016 1 次提交
  7. 11 12月, 2015 1 次提交
  8. 18 11月, 2015 1 次提交
  9. 23 10月, 2015 1 次提交
    • H
      PCI: Turn off Request Attributes to avoid Chelsio T5 Completion erratum · c56d4450
      Hariprasad Shenai 提交于
      The Chelsio T5 has a PCIe compliance erratum that causes Malformed TLP or
      Unexpected Completion errors in some systems, which may cause device access
      timeouts.
      
      Per PCIe r3.0, sec 2.2.9, "Completion headers must supply the same values
      for the Attribute as were supplied in the header of the corresponding
      Request, except as explicitly allowed when IDO is used."
      
      Instead of copying the Attributes from the Request to the Completion, the
      T5 always generates Completions with zero Attributes.  The receiver of a
      Completion whose Attributes don't match the Request may accept it (which
      itself seems non-compliant based on sec 2.3.2), or it may handle it as a
      Malformed TLP or an Unexpected Completion, which will probably lead to a
      device access timeout.
      
      Work around this by disabling "Relaxed Ordering" and "No Snoop" in the Root
      Port so it always generate Requests with zero Attributes.
      
      This does affect all other devices which are downstream of that Root Port,
      but these are performance optimizations that should not make a functional
      difference.
      
      Note that Configuration Space accesses are never supposed to have TLP
      Attributes, so we're safe waiting till after any Configuration Space
      accesses to do the Root Port "fixup".
      
      Based on original work by Casey Leedom <leedom@chelsio.com>
      
      [bhelgaas: changelog, comments, rename to pci_find_pcie_root_port(), rework
      to use pci_upstream_bridge() and check for Root Port device type, edit
      diagnostics to clarify intent and devices affected]
      Signed-off-by: NHariprasad Shenai <hariprasad@chelsio.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      c56d4450
  10. 25 9月, 2015 2 次提交
  11. 25 8月, 2015 1 次提交
    • Z
      PCI: Disable async suspend/resume for JMicron multi-function SATA/AHCI · 91f15fb3
      Zhang Rui 提交于
      On multi-function JMicron SATA/PATA/AHCI devices, the PATA controller at
      function 1 doesn't work if it is powered on before the SATA controller at
      function 0.  The result is that PATA doesn't work after resume, and we
      print messages like this:
      
        pata_jmicron 0000:02:00.1: Refused to change power state, currently in D3
        irq 17: nobody cared (try booting with the "irqpoll" option)
      
      Async resume was introduced in v3.15 by 76569faa ("PM / sleep:
      Asynchronous threads for resume_noirq").  Prior to that, we powered on
      the functions in order, so this problem shouldn't happen.
      
      e6b7e41c ("ata: Disabling the async PM for JMicron chip 363/361")
      solved the problem for JMicron 361 and 363 devices.  With async suspend
      disabled, we always power on function 0 before function 1.
      
      Barto then reported the same problem with a JMicron 368 (see comment #57 in
      the bugzilla).
      
      Rather than extending the blacklist piecemeal, disable async suspend for
      all JMicron multi-function SATA/PATA/AHCI devices.
      
      This quirk could stay in the ahci and pata_jmicron drivers, but it's likely
      the problem will occur even if pata_jmicron isn't loaded until after the
      suspend/resume.  Making it a PCI quirk ensures that we'll preserve the
      power-on order even if the drivers aren't loaded.
      
      [bhelgaas: changelog, limit to multi-function, limit to IDE/ATA]
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=81551Reported-and-tested-by: NBarto <mister.freeman@laposte.net>
      Signed-off-by: NZhang Rui <rui.zhang@intel.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      CC: stable@vger.kernel.org	# v3.15+
      91f15fb3
  12. 24 8月, 2015 1 次提交
    • K
      PCI: Set MPS to match upstream bridge · 27d868b5
      Keith Busch 提交于
      Firmware typically configures the PCIe fabric with a consistent Max Payload
      Size setting based on the devices present at boot.  A hot-added device
      typically has the power-on default MPS setting (128 bytes), which may not
      match the fabric.
      
      The previous Linux default, in the absence of any "pci=pcie_bus_*" options,
      was PCIE_BUS_TUNE_OFF, in which we never touch MPS, even for hot-added
      devices.
      
      Add a new default setting, PCIE_BUS_DEFAULT, in which we make sure every
      device's MPS setting matches the upstream bridge.  This makes it more
      likely that a hot-added device will work in a system with optimized MPS
      configuration.
      
      Note that if we hot-add a device that only supports 128-byte MPS, it still
      likely won't work because we don't reconfigure the rest of the fabric.
      Booting with "pci=pcie_bus_peer2peer" is a workaround for this because it
      sets MPS to 128 for everything.
      
      [bhelgaas: changelog, new default, rework for pci_configure_device() path]
      Tested-by: NKeith Busch <keith.busch@intel.com>
      Tested-by: NJordan Hargrave <jharg93@gmail.com>
      Signed-off-by: NKeith Busch <keith.busch@intel.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Acked-by: NYinghai Lu <yinghai@kernel.org>
      27d868b5
  13. 12 8月, 2015 1 次提交
  14. 10 8月, 2015 1 次提交
  15. 22 7月, 2015 1 次提交
  16. 15 7月, 2015 9 次提交
  17. 22 5月, 2015 1 次提交
  18. 16 5月, 2015 1 次提交
  19. 07 5月, 2015 1 次提交
  20. 24 4月, 2015 1 次提交
  21. 09 4月, 2015 1 次提交
  22. 24 3月, 2015 1 次提交
    • A
      PCI: Add ACS quirks for Intel 1G NICs · d748804f
      Alex Williamson 提交于
      Intel has verified that there is no peer-to-peer between functions for the
      below selection of 82580, 82576, 82575, I350, and 82571 multi-port devices.
      This adds the necessary quirks to consider the functions isolated from each
      other.  82571 quad-port devices are omitted due to likely lack of
      ACS/isolation in the onboard switch, rendering quirks for the downstream
      endpoints useless.
      Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      CC: John Ronciak <john.ronciak@intel.com>
      d748804f
  23. 04 2月, 2015 1 次提交
  24. 24 1月, 2015 2 次提交
    • A
      PCI: Add Wellsburg (X99) to Intel PCH root port ACS quirk · 78e88358
      Alex Williamson 提交于
      Intel has confirmed that the Wellsburg chipset, while not reporting ACS,
      does provide the proper isolation through the RCBA/BSPR registers, so the
      same quirk works for this set of device IDs.
      Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Acked-by: NDon Dugger <donald.d.dugger@intel.com>
      78e88358
    • A
      PCI: Add DMA alias quirk for Adaptec 3405 · d3d2ab43
      Alex Williamson 提交于
      The Adaptec 3405 is actually an Intel 80333 I/O processor where the exposed
      device at 0e.0 is actually the address translation unit of the I/O
      processor and a hidden, private device at 01.0 masters the DMA for the
      device.  Create a fixed alias between the exposed and hidden devfn so we
      can enable the IOMMU.
      
      Scenarios like this are potentially likely for any device incorporating
      this I/O processor, so this little bit of abstraction with the fixed alias
      table should make future additions trivial.
      
      Without this fix, booting a system with the Intel IOMMU enabled and an
      Adaptec 3405 at 02:0e.0 results in a flood of errors like this:
      
        dmar: DRHD: handling fault status reg 3
        dmar: DMAR:[DMA Write] Request device [02:01.0] fault addr ffbff000
        DMAR:[fault reason 02] Present bit in context entry is clear
      
      [bhelgaas: changelog, comment]
      Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      CC: Adaptec OEM Raid Solutions <aacraid@adaptec.com>
      d3d2ab43
  25. 17 1月, 2015 3 次提交
  26. 04 11月, 2014 1 次提交
  27. 02 10月, 2014 1 次提交