1. 14 6月, 2012 1 次提交
  2. 22 5月, 2012 1 次提交
  3. 18 5月, 2012 1 次提交
  4. 17 5月, 2012 1 次提交
  5. 16 5月, 2012 2 次提交
  6. 08 5月, 2012 1 次提交
  7. 02 5月, 2012 1 次提交
  8. 01 5月, 2012 8 次提交
  9. 13 4月, 2012 1 次提交
  10. 03 3月, 2012 1 次提交
  11. 02 3月, 2012 1 次提交
  12. 29 2月, 2012 1 次提交
  13. 25 2月, 2012 2 次提交
  14. 24 2月, 2012 4 次提交
  15. 15 2月, 2012 3 次提交
  16. 04 2月, 2012 1 次提交
  17. 13 1月, 2012 1 次提交
  18. 12 1月, 2012 1 次提交
  19. 07 1月, 2012 8 次提交
    • B
      x86/PCI: amd: factor out MMCONFIG discovery · 24d25dbf
      Bjorn Helgaas 提交于
      This factors out the AMD native MMCONFIG discovery so we can use it
      outside amd_bus.c.
      
      amd_bus.c reads AMD MSRs so it can remove the MMCONFIG area from the
      PCI resources.  We may also need the MMCONFIG information to work
      around BIOS defects in the ACPI MCFG table.
      
      Cc: Borislav Petkov <borislav.petkov@amd.com>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: stable@kernel.org       # 2.6.34+
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      24d25dbf
    • B
      x86/PCI: convert to pci_create_root_bus() and pci_scan_root_bus() · 2cd6975a
      Bjorn Helgaas 提交于
      x86 has two kinds of PCI root bus scanning:
      
      (1) ACPI-based, using _CRS resources.  This used pci_create_bus(), not
          pci_scan_bus(), because ACPI hotplug needed to split the
          pci_bus_add_devices() into a separate host bridge .start() method.
      
          This patch parses the _CRS resources earlier, so we can build a list of
          resources and pass it to pci_create_root_bus().
      
          Note that as before, we parse the _CRS even if we aren't going to use
          it so we can print it for debugging purposes.
      
      (2) All other, which used either default resources (ioport_resource and
          iomem_resource) or information read from the hardware via amd_bus.c or
          similar.  This used pci_scan_bus().
      
          This patch converts x86_pci_root_bus_res_quirks() (previously called
          from pcibios_fixup_bus()) to x86_pci_root_bus_resources(), which builds
          a list of resources before we call pci_scan_root_bus().
      
          We also use x86_pci_root_bus_resources() if we have ACPI but are
          ignoring _CRS.
      
      CC: Yinghai Lu <yinghai.lu@oracle.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      2cd6975a
    • B
      x86/PCI: use pci_scan_bus() instead of pci_scan_bus_parented() · 46fbade0
      Bjorn Helgaas 提交于
      This doesn't change any functionality, but it makes a subsequent patch
      slightly simpler.
      
      pci_scan_bus(NULL, ...) and pci_scan_bus_parented() are identical except
      that pci_scan_bus() also calls pci_bus_add_devices():
      
        pci_scan_bus_parented
          pci_create_bus
          pci_scan_child_bus
      
        pci_scan_bus
          pci_create_bus
          pci_scan_child_bus
          pci_bus_add_devices
      
      All callers of pcibios_scan_root() call pci_bus_add_devices() explicitly,
      and we don't pass a parent device, so we might as well use pci_scan_bus().
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      46fbade0
    • B
      x86/PCI: read Broadcom CNB20LE host bridge info before PCI scan · 6361d72b
      Bjorn Helgaas 提交于
      We currently read the CNB20LE aperture information in a PCI quirk,
      which happens after we've already created the root bus.  This patch
      changes it to read the apertures earlier so we can create the root
      bus with the correct resources.
      
      I believe the CNB20LE lives at "pci 0000:00:00" based on
      https://lkml.org/lkml/2010/8/13/220
      
      CC: Ira W. Snyder <iws@ovro.caltech.edu>
      CC: Yinghai Lu <yinghai@kernel.org>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      6361d72b
    • A
      x86/PCI: amd: Kill misleading message about enablement of IO access to PCI ECS] · ca3671a8
      Andreas Herrmann 提交于
      Commit 24d9b70b (x86: Use PCI method
      for enabling AMD extended config space before MSR method) added a
      message when IO access to PCI ECS was enabled via access to the NB_CFG
      PCI register.  This can lead to a bogus message like
      
      [    0.365177] Extended Config Space enabled on 0 nodes
      
      which is misleading because IO ECS access is subsequently enabled for
      AMD CPUs (that support this) by modifying the corresponding NB_CFG
      MSR.
      
      Furthermore it's not "Extended Config Space" that is enabled by this
      register setting. It's the IO access that is enabled for extended
      configruation space.
      
      IMHO the ambiguous message needs to be cancelled.
      
      Cc: Jan Beulich <jbeulich@novell.com>
      Cc: Robert Richter <robert.richter@amd.com>
      Signed-off-by: NAndreas Herrmann <andreas.herrmann3@amd.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      ca3671a8
    • M
      PCI: x86: use generic pcibios_set_master() · b9a276ad
      Myron Stowe 提交于
      This patch removes x86's architecture-specific 'pcibios_set_master()'
      routine and lets the default PCI core based implementation handle PCI
      device 'latency timer' setup.
      
      No functional change.
      Signed-off-by: NMyron Stowe <myron.stowe@redhat.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      b9a276ad
    • M
      PCI: Pull PCI 'latency timer' setup up into the core · 96c55900
      Myron Stowe 提交于
      The 'latency timer' of PCI devices, both Type 0 and Type 1,
      is setup in architecture-specific code [see: 'pcibios_set_master()'].
      There are two approaches being taken by all the architectures - check
      if the 'latency timer' is currently set between 16 and 255 and if not
      bring it within bounds, or, do nothing (and then there is the
      gratuitously different PA-RISC implementation).
      
      There is nothing architecture-specific about PCI's 'latency timer' so
      this patch pulls its setup functionality up into the PCI core by
      creating a generic 'pcibios_set_master()' function using the '__weak'
      attribute which can be used by all architectures as a default which,
      if necessary, can then be over-ridden by architecture-specific code.
      
      No functional change.
      Signed-off-by: NMyron Stowe <myron.stowe@redhat.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      96c55900
    • G
      x86/PCI: Ignore CPU non-addressable _CRS reserved memory resources · ae5cd864
      Gary Hade 提交于
      This assures that a _CRS reserved host bridge window or window region is
      not used if it is not addressable by the CPU.  The new code either trims
      the window to exclude the non-addressable portion or totally ignores the
      window if the entire window is non-addressable.
      
      The current code has been shown to be problematic with 32-bit non-PAE
      kernels on systems where _CRS reserves resources above 4GB.
      Signed-off-by: NGary Hade <garyhade@us.ibm.com>
      Reviewed-by: NBjorn Helgaas <bhelgaas@google.com>
      Cc: Thomas Renninger <trenn@novell.com>
      Cc: linux-kernel@vger.kernel.org
      Cc: stable@kernel.org
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      ae5cd864