1. 16 Jul, 2008 2 commits
  2. 15 Jul, 2008 1 commit
    • Alok Kataria's avatar
      x86/PCI: ACPI based PCI gap calculation · 809d9a8f
      Alok Kataria authored
      Using ACPI to find free address space allows us to find a gap for the
      unallocated PCI resources or MMIO resources for hotplug devices within
      the BIOS allowed PCI regions.
      
      It works by evaluating the _CRS object under PCI0 looking for producer
      resources.  Then searches the e820 memory space for a gap within these
      producer resources.
      Signed-off-by: default avatarAlok N Kataria <akataria@vmware.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Len Brown <lenb@kernel.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      809d9a8f
  3. 14 Jul, 2008 3 commits
  4. 08 Jul, 2008 1 commit
  5. 07 Jul, 2008 9 commits
  6. 03 Jul, 2008 1 commit
  7. 30 Jun, 2008 1 commit
  8. 27 Jun, 2008 6 commits
    • Adrian Bunk's avatar
      PCI: remove unused arch pcibios_update_resource() functions · 0aea5313
      Adrian Bunk authored
      Russell King did the following back in 2003:
      
      <--  snip  -->
      
          [PCI] pci-9: Kill per-architecture pcibios_update_resource()
      
          Kill pcibios_update_resource(), replacing it with pci_update_resource().
          pci_update_resource() uses pcibios_resource_to_bus() to convert a
          resource to a device BAR - the transformation should be exactly the
          same as the transformation used for the PCI bridges.
      
          pci_update_resource "knows" about 64-bit BARs, but doesn't attempt to
          set the high 32-bits to anything non-zero - currently no architecture
          attempts to do something different.  If anyone cares, please fix; I'm
          going to reflect current behaviour for the time being.
      
          Ivan pointed out the following architectures need to examine their
          pcibios_update_resource() implementation - they should make sure that
          this new implementation does the right thing.  #warning's have been
          added where appropriate.
      
              ia64
              mips
              mips64
      
          This cset also includes a fix for the problem reported by AKPM where
          64-bit arch compilers complain about the resource mask being placed
          in a u32.
      
      <--  snip  -->
      
      This patch removes the unused pcibios_update_resource() functions the
      kernel gained since, from FRV, m68k, mips & sh architectures.
      Signed-off-by: default avatarAdrian Bunk <bunk@kernel.org>
      Acked-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarGreg Ungerer <gerg@uclinux.org>
      Acked-by: default avatarPaul Mundt <lethal@linux-sh.org>
      Acked-by: default avatarRalf Baechle <ralf@linux-mips.org>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      0aea5313
    • David Howells's avatar
      PCI: fix pci_setup_device()'s sprinting into a const buffer · 8b285ce8
      David Howells authored
      Make pci_setup_device() write the bus ID directly into the allotted storage,
      rather than using pci_name() as the address as that now returns a const
      pointer.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      8b285ce8
    • Wang Chen's avatar
      PCI: Fix comment of pci_dynids · 9433f6dd
      Wang Chen authored
      struct pci_driver has no field of driver_data.
      It's in pci_device_id.
      Signed-off-by: default avatarWang Chen <wangchen@cn.fujitsu.com>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      9433f6dd
    • Kenji Kaneshige's avatar
      pciehp: use get_service_data · b9708940
      Kenji Kaneshige authored
      Current pciehp driver saves its private data pointer into pci_dev
      structure using pci_set_drvdata()/pci_get_drvdata(). But because
      pciehp is not a pci device driver but a PCI Express service driver, it
      should save its private data pointer into pcie_device structure using
      set_service_data()/get_service_data().
      Signed-off-by: default avatarKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      b9708940
    • Kenji Kaneshige's avatar
      pciehp: remove needless command completed interrupt setting · 3aa50c44
      Kenji Kaneshige authored
      Currently, pciehp driver enables command completed interrupt as follows.
      
      (1) Don't enable at initialization.
      (2) Enable command completed interrupt whenever pciehp issues a
          command, if the command doesn't attempt to disable the interrupt.
      (3) Disable command completed interrupt at driver unloading.
      
      Once we enable command completed interrupt, we don't need to re-enable
      it for every command. So we can simplify above steps as follows:
      
      (1) Enable command completed interrupt at initialization.
      (2) No special sequence for command completed interrupt.
      (3) Disable command completed interrupt at driver unloading.
      Signed-off-by: default avatarKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      3aa50c44
    • Kenji Kaneshige's avatar
      pciehp: fix interrupt initialization · c4635eb0
      Kenji Kaneshige authored
      Current pciehp driver's intialization sequence is as follows:
      
      (1) initialize controller data structure
      (2) install interrupt handler
      (3) enable software notification
      (4) initialize controller specific slot data structure
      (5) initialize generic slot data structure and register it to pci hotplug core
      
      The interrupt handler of pciehp assumes that controller specific slot
      data structure is already initialized. However, it is installed at (2)
      before initializing controller specific slot data structure at
      (4). Because of this, pciehp driver cannot handle the following cases
      properly.
      
      - If devices that shares IRQ with pciehp raise interrupts between (2) and (4).
      - If hotplug events (e.g. MRL open) happen between (3) and (4).
      
      We already have a workaround for this problem ("pciehp: fix NULL
      dereference in interrupt handler: dbd79aed).
      But we still need fundamental fix.
      
      This patch fix the problem by changing the initilization sequence as follows:
      
      (1) initialize controller data structure
      (2) initialize controller specific slot data structure
      (3) install interrupt handler
      (4) enable software notification
      (5) initialize generic slot data structure and register it to pci hotplug core
      Signed-off-by: default avatarKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
      Acked-by: default avatarAlex Chiang <achiang@hp.com>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      c4635eb0
  9. 25 Jun, 2008 10 commits
  10. 16 Jun, 2008 1 commit
  11. 12 Jun, 2008 2 commits
    • Rafael J. Wysocki's avatar
      Suspend-related patches for 2.6.27 · d8f3de0d
      Rafael J. Wysocki authored
      ACPI PM: Add possibility to change suspend sequence
      
      There are some systems out there that don't work correctly with
      our current suspend/hibernation code ordering.  Provide a workaround
      for these systems allowing them to pass 'acpi_sleep=old_ordering' in
      the kernel command line so that it will use the pre-ACPI 2.0 ("old")
      suspend code ordering.
      
      Unfortunately, this requires us to add a platform hook to the
      resuming of devices for recovering the platform in case one of the
      device drivers' .suspend() routines returns error code.  Namely,
      ACPI 1.0 specifies that _PTS should be called before suspending
      devices, but _WAK still should be called before resuming them in
      order to undo the changes made by _PTS.  However, if there is an
      error during suspending devices, they are automatically resumed
      without returning control to the PM core, so the _WAK has to be
      called from within device_resume() in that cases.
      
      The patch also reorders and refactors the ACPI suspend/hibernation
      code to avoid duplication as far as reasonably possible.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: default avatarPavel Machek <pavel@suse.cz>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      d8f3de0d
    • Jesse Barnes's avatar
      Merge branch 'suspend' of... · 53eb2fbe
      Jesse Barnes authored
      Merge branch 'suspend' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 into linux-next
      53eb2fbe
  12. 11 Jun, 2008 3 commits