1. 21 4月, 2008 19 次提交
    • S
      PCI: add PCI Express ASPM support · 7d715a6c
      Shaohua Li 提交于
      PCI Express ASPM defines a protocol for PCI Express components in the D0
      state to reduce Link power by placing their Links into a low power state
      and instructing the other end of the Link to do likewise. This
      capability allows hardware-autonomous, dynamic Link power reduction
      beyond what is achievable by software-only controlled power management.
      However, The device should be configured by software appropriately.
      Enabling ASPM will save power, but will introduce device latency.
      
      This patch adds ASPM support in Linux. It introduces a global policy for
      ASPM, a sysfs file /sys/module/pcie_aspm/parameters/policy can control
      it. The interface can be used as a boot option too. Currently we have
      below setting:
              -default, BIOS default setting
              -powersave, highest power saving mode, enable all available ASPM
      state and clock power management
              -performance, highest performance, disable ASPM and clock power
      management
      By default, the 'default' policy is used currently.
      
      In my test, power difference between powersave mode and performance mode
      is about 1.3w in a system with 3 PCIE links.
      
      Note: some devices might not work well with aspm, either because chipset
      issue or device issue. The patch provide API (pci_disable_link_state),
      driver can disable ASPM for specific device.
      Signed-off-by: NShaohua Li <shaohua.li@intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      7d715a6c
    • B
      PCI: remove "pci=routeirq" noise from dmesg · 657472e9
      Bjorn Helgaas 提交于
      The "pci=routeirq" option was added in 2004, and I don't get any valid
      reports anymore.  The option is still mentioned in kernel-parameters.txt.
      Signed-off-by: NBjorn Helgaas <bjorn.helgaas@hp.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      657472e9
    • G
      PCI: Include PCI domain in PCI bus names on x86/x86_64 · cb3576fa
      Gary Hade 提交于
      The PCI bus names included in /proc/iomem and /proc/ioports are
      of the form 'PCI Bus #XX' where XX is the bus number.  This patch
      changes the naming to 'PCI Bus XXXX:YY' where XXXX is the domain
      number and YY is the bus number.  For example, PCI bus 14 in
      domain 0 will show as 'PCI Bus 0000:14' instead of 'PCI Bus #14'.
      This change makes the naming consistent with other architectures
      such as ia64 where multiple PCI domain support has been around
      longer.
      Signed-off-by: NGary Hade <garyhade@us.ibm.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      cb3576fa
    • A
      PCI: #if 0 pci_cleanup_aer_correct_error_status() · 21c68474
      Adrian Bunk 提交于
      #if 0 the no longer used pci_cleanup_aer_correct_error_status().
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Cc: Stephen Hemminger <shemminger@linux-foundation.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      21c68474
    • Y
      PCI: pcie AER: don't check _OSC when acpi is disabled · 4c44bac8
      Yinghai Lu 提交于
      [PATCH] pcie AER: don't check _OSC when acpi is disabled
      
      when acpi=off or pci=noacpi, get warning
      
      AER service couldn't init device 0000:00:0a.0:pcie01 - no _OSC support
      AER service couldn't init device 0000:00:0e.0:pcie01 - no _OSC support
      AER service couldn't init device 0000:00:0f.0:pcie01 - no _OSC support
      AER service couldn't init device 0000:80:0b.0:pcie01 - no _OSC support
      AER service couldn't init device 0000:80:0e.0:pcie01 - no _OSC support
      AER service couldn't init device 0000:80:0f.0:pcie01 - no _OSC support
      
      so don't check _OSC in aer_osc_setup
      Signed-off-by: NYinghai Lu <yinghai.lu@sun.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      4c44bac8
    • G
      PCI: remove global list of PCI devices · 5ff580c1
      Greg Kroah-Hartman 提交于
      This patch finally removes the global list of PCI devices.  We are
      relying entirely on the list held in the driver core now, and do not
      need a separate "shadow" list as no one uses it.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      5ff580c1
    • J
      PCI: remove parisc consumer of the pci global_list · c71c68a0
      James Bottomley 提交于
      Remove the parisc usage of the global_list, as it's not needed anymore.
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      c71c68a0
    • G
      PCI: remove pcibios_fixup_ghosts() · 6355f3d1
      Greg Kroah-Hartman 提交于
      This function was obviously never being used since early 2.5 days as any
      device that it would try to remove would never really be removed from
      the system due to the PCI device list being held in the driver core, not
      the general list of PCI devices.
      
      As we have not had a single report of a problem here in 4 years, I think
      it's safe to remove now.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      6355f3d1
    • G
      PCI: add is_added flag to struct pci_dev · 8a1bc901
      Greg Kroah-Hartman 提交于
      This lets us check if the device is really added to the driver core or
      not, which is what we need when walking some of the bus lists.  The flag
      is there in anticipation of getting rid of the other PCI device list,
      which is what we used to check in this situation.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      8a1bc901
    • G
      PCI: make no_pci_devices() use the pci_bus_type list · 70308923
      Greg Kroah-Hartman 提交于
      no_pci_devices() should use the driver core list of PCI devices, not our
      "separate" one.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      70308923
    • G
      PCI: remove initial bios sort of PCI devices on x86 · 1ba6ab11
      Greg Kroah-Hartman 提交于
      We currently keep 2 lists of PCI devices in the system, one in the
      driver core, and one all on its own.  This second list is sorted at boot
      time, in "BIOS" order, to try to remain compatible with older kernels
      (2.2 and earlier days).  There was also a "nosort" option to turn this
      sorting off, to remain compatible with even older kernel versions, but
      that just ends up being what we have been doing from 2.5 days...
      
      Unfortunately, the second list of devices is not really ever used to 
      determine the probing order of PCI devices or drivers[1].  That is done
      using the driver core list instead.  This change happened back in the
      early 2.5 days.
      
      Relying on BIOS ording for the binding of drivers to specific device
      names is problematic for many reasons, and userspace tools like udev
      exist to properly name devices in a persistant manner if that is needed,
      no reliance on the BIOS is needed.
      
      Matt Domsch and others at Dell noticed this back in 2006, and added a
      boot option to sort the PCI device lists (both of them) in a
      breadth-first manner to help remain compatible with the 2.4 order, if
      needed for any reason.  This option is not going away, as some systems
      rely on them.
      
      This patch removes the sorting of the internal PCI device list in "BIOS"
      mode, as it's not needed at all anymore, and hasn't for many years.
      I've also removed the PCI flags for this from some other arches that for
      some reason defined them, but never used them.
      
      This should not change the ordering of any drivers or device probing.
      
      [1] The old-style pci_get_device and pci_find_device() still used this
      sorting order, but there are very few drivers that use these functions,
      as they are deprecated for use in this manner.  If for some reason, a
      driver rely on the order and uses these functions, the breadth-first
      boot option will resolve any problem.
      
      Cc: Matt Domsch <Matt_Domsch@dell.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      1ba6ab11
    • G
      PCI Hotplug: the ibm driver is not dependant on PCI_LEGACY · 3b57eff0
      Greg Kroah-Hartman 提交于
      This was marked incorrectly for some reason.  Allow the ibmphp driver to
      be built even if PCI_LEGACY is not enabled.
      
      Cc: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      3b57eff0
    • G
      PCI Hotplug: make cpcihp driver use modern apis · 33ae6ef2
      Greg Kroah-Hartman 提交于
      This removes the depandancy of the cpcihp driver from the PCI_LEGACY
      config option by removing its usage of the pci_find_bus() function.
      
      
      Cc: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
      Signed-off-by: NScott Murray <scottm@somanetworks.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      33ae6ef2
    • G
      PCI: clean up search.c a lot · 95247b57
      Greg Kroah-Hartman 提交于
      This cleans up the search.c file, now using the pci list of devices that
      are created for the driver core, instead of relying on our separate list
      of devices.  It's better to use the functions already created for this
      kind of thing, instead of rolling our own all the time.
      
      This work is done in anticipation of getting rid of that second list of
      pci devices all together.
      
      And it ends up saving code, always a nice benefit.
      
      This also removes one compiler warning for when CONFIG_PCI_LEGACY is
      enabled as we no longer internally use the deprecated functions anymore.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      95247b57
    • G
      PCI: remove pci_get_device_reverse · 34220909
      Greg Kroah-Hartman 提交于
      This removes the pci_get_device_reverse function as there should not be
      any need to walk pci devices backwards anymore.  All users of this call
      are now gone from the tree, so it is safe to remove it.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      34220909
    • G
      PCI: remove pci_get_device_reverse from calgary driver · a2b5d877
      Greg Kroah-Hartman 提交于
      This isn't needed, we can just walk the devices in bus order with no
      problems at all, as we really want to remove pci_get_device_reverse from
      the kernel tree.
      Acked-by: NMuli Ben-Yehuda <muli@il.ibm.com>
      Cc: Jon Mason <jdmason@kudzu.us>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      a2b5d877
    • G
      PCI: remove pci_find_present · 448432c4
      Greg Kroah-Hartman 提交于
      No one is using this function anymore for quite some time, so remove it.
      Everyone calls pci_dev_present() instead anyway...
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      448432c4
    • A
      PCI: #if 0 pci_assign_resource_fixed() · 2baad5f9
      Adrian Bunk 提交于
      An unused function that bloated the kernel only when CONFIG_EMBEDDED was
      enabled...
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      2baad5f9
    • R
      PCI: doc/pci: create Documentation/PCI/ and move files into it · 4b5ff469
      Randy Dunlap 提交于
      Create Documentation/PCI/ and move PCI-related files to it.
      Fix a few instances of trailing whitespace.
      Update references to the new file locations.
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      4b5ff469
  2. 19 4月, 2008 21 次提交