1. 21 Apr, 2008 19 commits
    • Shaohua Li's avatar
      PCI: add PCI Express ASPM support · 7d715a6c
      Shaohua Li authored
      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: default avatarShaohua Li <shaohua.li@intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      7d715a6c
    • Bjorn Helgaas's avatar
      PCI: remove "pci=routeirq" noise from dmesg · 657472e9
      Bjorn Helgaas authored
      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: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      657472e9
    • Gary Hade's avatar
      PCI: Include PCI domain in PCI bus names on x86/x86_64 · cb3576fa
      Gary Hade authored
      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: default avatarGary Hade <garyhade@us.ibm.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      cb3576fa
    • Adrian Bunk's avatar
      PCI: #if 0 pci_cleanup_aer_correct_error_status() · 21c68474
      Adrian Bunk authored
      #if 0 the no longer used pci_cleanup_aer_correct_error_status().
      Signed-off-by: default avatarAdrian Bunk <bunk@kernel.org>
      Cc: Stephen Hemminger <shemminger@linux-foundation.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      21c68474
    • Yinghai Lu's avatar
      PCI: pcie AER: don't check _OSC when acpi is disabled · 4c44bac8
      Yinghai Lu authored
      [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: default avatarYinghai Lu <yinghai.lu@sun.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      4c44bac8
    • Greg Kroah-Hartman's avatar
      PCI: remove global list of PCI devices · 5ff580c1
      Greg Kroah-Hartman authored
      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: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      5ff580c1
    • James Bottomley's avatar
      PCI: remove parisc consumer of the pci global_list · c71c68a0
      James Bottomley authored
      Remove the parisc usage of the global_list, as it's not needed anymore.
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      c71c68a0
    • Greg Kroah-Hartman's avatar
      PCI: remove pcibios_fixup_ghosts() · 6355f3d1
      Greg Kroah-Hartman authored
      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: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      6355f3d1
    • Greg Kroah-Hartman's avatar
      PCI: add is_added flag to struct pci_dev · 8a1bc901
      Greg Kroah-Hartman authored
      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: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      8a1bc901
    • Greg Kroah-Hartman's avatar
      PCI: make no_pci_devices() use the pci_bus_type list · 70308923
      Greg Kroah-Hartman authored
      no_pci_devices() should use the driver core list of PCI devices, not our
      "separate" one.
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      70308923
    • Greg Kroah-Hartman's avatar
      PCI: remove initial bios sort of PCI devices on x86 · 1ba6ab11
      Greg Kroah-Hartman authored
      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: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      1ba6ab11
    • Greg Kroah-Hartman's avatar
      PCI Hotplug: the ibm driver is not dependant on PCI_LEGACY · 3b57eff0
      Greg Kroah-Hartman authored
      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: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      3b57eff0
    • Greg Kroah-Hartman's avatar
      PCI Hotplug: make cpcihp driver use modern apis · 33ae6ef2
      Greg Kroah-Hartman authored
      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: default avatarScott Murray <scottm@somanetworks.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      33ae6ef2
    • Greg Kroah-Hartman's avatar
      PCI: clean up search.c a lot · 95247b57
      Greg Kroah-Hartman authored
      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: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      95247b57
    • Greg Kroah-Hartman's avatar
      PCI: remove pci_get_device_reverse · 34220909
      Greg Kroah-Hartman authored
      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: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      34220909
    • Greg Kroah-Hartman's avatar
      PCI: remove pci_get_device_reverse from calgary driver · a2b5d877
      Greg Kroah-Hartman authored
      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: default avatarMuli Ben-Yehuda <muli@il.ibm.com>
      Cc: Jon Mason <jdmason@kudzu.us>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      a2b5d877
    • Greg Kroah-Hartman's avatar
      PCI: remove pci_find_present · 448432c4
      Greg Kroah-Hartman authored
      No one is using this function anymore for quite some time, so remove it.
      Everyone calls pci_dev_present() instead anyway...
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      448432c4
    • Adrian Bunk's avatar
      PCI: #if 0 pci_assign_resource_fixed() · 2baad5f9
      Adrian Bunk authored
      An unused function that bloated the kernel only when CONFIG_EMBEDDED was
      enabled...
      Signed-off-by: default avatarAdrian Bunk <bunk@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      2baad5f9
    • Randy Dunlap's avatar
      PCI: doc/pci: create Documentation/PCI/ and move files into it · 4b5ff469
      Randy Dunlap authored
      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: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      4b5ff469
  2. 19 Apr, 2008 4 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of... · 3925e6fc
      Linus Torvalds authored
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
        security: fix up documentation for security_module_enable
        Security: Introduce security= boot parameter
        Audit: Final renamings and cleanup
        SELinux: use new audit hooks, remove redundant exports
        Audit: internally use the new LSM audit hooks
        LSM/Audit: Introduce generic Audit LSM hooks
        SELinux: remove redundant exports
        Netlink: Use generic LSM hook
        Audit: use new LSM hooks instead of SELinux exports
        SELinux: setup new inode/ipc getsecid hooks
        LSM: Introduce inode_getsecid and ipc_getsecid hooks
      3925e6fc
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26 · 334d0945
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26: (1090 commits)
        [NET]: Fix and allocate less memory for ->priv'less netdevices
        [IPV6]: Fix dangling references on error in fib6_add().
        [NETLABEL]: Fix NULL deref in netlbl_unlabel_staticlist_gen() if ifindex not found
        [PKT_SCHED]: Fix datalen check in tcf_simp_init().
        [INET]: Uninline the __inet_inherit_port call.
        [INET]: Drop the inet_inherit_port() call.
        SCTP: Initialize partial_bytes_acked to 0, when all of the data is acked.
        [netdrvr] forcedeth: internal simplifications; changelog removal
        phylib: factor out get_phy_id from within get_phy_device
        PHY: add BCM5464 support to broadcom PHY driver
        cxgb3: Fix __must_check warning with dev_dbg.
        tc35815: Statistics cleanup
        natsemi: fix MMIO for PPC 44x platforms
        [TIPC]: Cleanup of TIPC reference table code
        [TIPC]: Optimized initialization of TIPC reference table
        [TIPC]: Remove inlining of reference table locking routines
        e1000: convert uint16_t style integers to u16
        ixgb: convert uint16_t style integers to u16
        sb1000.c: make const arrays static
        sb1000.c: stop inlining largish static functions
        ...
      334d0945
    • James Morris's avatar
      security: fix up documentation for security_module_enable · 7cea51be
      James Morris authored
      security_module_enable() can only be called during kernel init.
      Signed-off-by: default avatarJames Morris <jmorris@namei.org>
      7cea51be
    • Ahmed S. Darwish's avatar
      Security: Introduce security= boot parameter · 076c54c5
      Ahmed S. Darwish authored
      Add the security= boot parameter. This is done to avoid LSM
      registration clashes in case of more than one bult-in module.
      
      User can choose a security module to enable at boot. If no
      security= boot parameter is specified, only the first LSM
      asking for registration will be loaded. An invalid security
      module name will be treated as if no module has been chosen.
      
      LSM modules must check now if they are allowed to register
      by calling security_module_enable(ops) first. Modify SELinux
      and SMACK to do so.
      
      Do not let SMACK register smackfs if it was not chosen on
      boot. Smackfs assumes that smack hooks are registered and
      the initial task security setup (swapper->security) is done.
      Signed-off-by: default avatarAhmed S. Darwish <darwish.07@gmail.com>
      Acked-by: default avatarJames Morris <jmorris@namei.org>
      076c54c5
  3. 18 Apr, 2008 17 commits