1. 26 Aug, 2013 4 commits
  2. 22 Aug, 2013 5 commits
    • Yijing Wang's avatar
      PCI: Don't restrict MPS for slots below Root Ports · d4aa68f6
      Yijing Wang authored
      When booting with "pci=pcie_bus_safe", we previously limited the
      fabric MPS to 128 when we found:
      
        (1) A hotplug-capable Downstream Port ("dev->is_hotplug_bridge &&
            pci_pcie_type(dev) != PCI_EXP_TYPE_ROOT_PORT"), or
      
        (2) A hotplug-capable Root Port with a slot that was either empty or
            contained a multi-function device ("dev->is_hotplug_bridge &&
            !list_is_singular(&dev->bus->devices)")
      
      Part (1) is valid, but part (2) is not.
      
      After a hot-add in the slot below a Root Port, we can reconfigure all
      MPS values in the fabric below the Root Port because the new device is
      the only thing below the Root Port and there are no active drivers.
      Therefore, there's no reason to limit the MPS for Root Ports, no
      matter what's in the slot.
      
      Test info:
      
          -+-[0000:40]-+-07.0-[0000:46]--+-00.0  Intel 82576 NIC
                                         \-00.1  Intel 82576 NIC
      
          0000:40:07.0 Root Port bridge to [bus 46] (MPS supported=256)
          0000:46:00.0 Endpoint                     (MPS supported=512)
          0000:46:00.1 Endpoint                     (MPS supported=512)
      
          # echo 0 > /sys/bus/pci/slots/7/power
          # echo 1 > /sys/bus/pci/slots/7/power
          pcieport 0000:40:07.0: PCI-E Max Payload Size set to 256/ 256 (was 256)
          pci 0000:46:00.0:      PCI-E Max Payload Size set to 256/ 512 (was 128)
          pci 0000:46:00.1:      PCI-E Max Payload Size set to 256/ 512 (was 128)
      
      Before this change, we set MPS to 128 for the Root Port and both NICs
      because the slot contained a multi-function device and
      
          dev->is_hotplug_bridge && !list_is_singular(&dev->bus->devices)
      
      was true.  After this change, we set it to 256.
      
      [bhelgaas: changelog, comments, split out upstream bridge check]
      Signed-off-by: default avatarYijing Wang <wangyijing@huawei.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Cc: Jon Mason <jdmason@kudzu.us>
      d4aa68f6
    • Bjorn Helgaas's avatar
      PCI: Simplify MPS test for Downstream Port · c2996948
      Bjorn Helgaas authored
      PCIe hotplug bridges are always either Root Ports or Downstream Ports.  No
      other device type can have a PCIe link leading downstream to a slot.
      
      Root Ports don't have an upstream bridge, so "dev->is_hotplug_bridge &&
      dev->bus->self" is true if and only if "dev" is a Downstream Port.  That
      means we can simplify this by looking at the type of "dev" itself, without
      looking upstream at all.
      
      No functional change.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      c2996948
    • Yijing Wang's avatar
      PCI: Remove unnecessary check for pcie_get_mps() failure · f6757711
      Yijing Wang authored
      After 59875ae4 ("PCI/core: Use PCI Express Capability accessors"),
      pcie_get_mps() never returns an error, so don't bother to check for it.
      
      No functional change.
      
      [bhelgaas: changelog, fix pcie_get_mps() doc]
      Signed-off-by: default avatarYijing Wang <wangyijing@huawei.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      f6757711
    • Bjorn Helgaas's avatar
      PCI: Simplify pcie_bus_configure_settings() interface · a58674ff
      Bjorn Helgaas authored
      Based on a patch by Jon Mason (see URL below).
      
      All users of pcie_bus_configure_settings() pass arguments of the form
      "bus, bus->self->pcie_mpss".  The "mpss" argument is redundant since we
      can easily look it up internally.  In addition, all callers check
      "bus->self" for NULL, which we can also do internally.
      
      This patch simplifies the interface and the callers.  No functional change.
      
      Reference: http://lkml.kernel.org/r/1317048850-30728-2-git-send-email-mason@myri.comSigned-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      a58674ff
    • Bjorn Helgaas's avatar
      PCI: Drop "PCI-E" prefix from Max Payload Size message · 2c25e34c
      Bjorn Helgaas authored
      The conventional spelling is "PCIe", but I think even that is superfluous,
      so remove the whole thing.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      2c25e34c
  3. 15 Aug, 2013 2 commits
  4. 14 Aug, 2013 8 commits
  5. 12 Aug, 2013 8 commits
  6. 09 Aug, 2013 1 commit
  7. 06 Aug, 2013 2 commits
  8. 05 Aug, 2013 1 commit
  9. 02 Aug, 2013 3 commits
  10. 01 Aug, 2013 3 commits
  11. 31 Jul, 2013 1 commit
  12. 30 Jul, 2013 1 commit
  13. 26 Jul, 2013 1 commit