1. 05 3月, 2018 2 次提交
  2. 28 2月, 2018 3 次提交
  3. 27 2月, 2018 1 次提交
  4. 23 2月, 2018 1 次提交
    • F
      PCI: Add ACS quirk for Ampere root ports · 4ef76ad0
      Feng Kan 提交于
      The Ampere Computing PCIe root port does not support ACS at this point.
      However, the hardware provides isolation and source validation through the
      SMMU. The stream ID generated by the PCIe ports contain both the
      bus/device/function number as well as the port ID in its 3 most significant
      bits. Turn on ACS but disable all the peer-to-peer features.
      
      APM is being rebranded to Ampere.  The Vendor and Device IDs change, but
      the functionality stays the same.
      Signed-off-by: NFeng Kan <fkan@apm.com>
      Signed-off-by: NBjorn Helgaas <helgaas@kernel.org>
      4ef76ad0
  5. 22 2月, 2018 1 次提交
  6. 17 2月, 2018 1 次提交
    • B
      PCI: Probe for device reset support during enumeration · 5b0764ca
      Bjorn Helgaas 提交于
      Previously we called pci_probe_reset_function() in this path:
      
        pci_sysfs_init                              # late_initcall
          for_each_pci_dev(dev)
            pci_create_sysfs_dev_files(dev)
              pci_create_capabilities_sysfs(dev)
                pci_probe_reset_function
                  pci_dev_specific_reset
                  pcie_has_flr
                    pcie_capability_read_dword
      
      pci_sysfs_init() is a late_initcall, and a driver may have already claimed
      one of these devices and enabled runtime power management for it, so the
      device could already be in D3 by the time we get to pci_sysfs_init().
      
      The device itself should respond to the config read even while it's in
      D3hot, but if an upstream bridge is also in D3hot, the read won't even
      reach the device because the bridge won't forward it downstream to the
      device.  If the bridge is a PCIe port, it should complete the read as an
      Unsupported Request, which may be reported to the CPU as an exception or as
      invalid data.
      
      Avoid this case by probing for reset support from pci_init_capabilities(),
      before a driver can claim the device.  The device may be in D3hot, but any
      bridges leading to it should be in D0, so the device's config space should
      be fully accessible at that point.
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      5b0764ca
  7. 12 2月, 2018 1 次提交
    • L
      vfs: do bulk POLL* -> EPOLL* replacement · a9a08845
      Linus Torvalds 提交于
      This is the mindless scripted replacement of kernel use of POLL*
      variables as described by Al, done by this script:
      
          for V in IN OUT PRI ERR RDNORM RDBAND WRNORM WRBAND HUP RDHUP NVAL MSG; do
              L=`git grep -l -w POLL$V | grep -v '^t' | grep -v /um/ | grep -v '^sa' | grep -v '/poll.h$'|grep -v '^D'`
              for f in $L; do sed -i "-es/^\([^\"]*\)\(\<POLL$V\>\)/\\1E\\2/" $f; done
          done
      
      with de-mangling cleanups yet to come.
      
      NOTE! On almost all architectures, the EPOLL* constants have the same
      values as the POLL* constants do.  But they keyword here is "almost".
      For various bad reasons they aren't the same, and epoll() doesn't
      actually work quite correctly in some cases due to this on Sparc et al.
      
      The next patch from Al will sort out the final differences, and we
      should be all done.
      Scripted-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a9a08845
  8. 10 2月, 2018 10 次提交
  9. 09 2月, 2018 10 次提交
  10. 08 2月, 2018 10 次提交