1. 15 Feb, 2011 1 commit
  2. 12 Feb, 2011 3 commits
    • Michael Karcher's avatar
      ACPI / Video: Probe for output switch method when searching video devices. · ed764e7c
      Michael Karcher authored
      This patch reverts one hunk of 677bd810
      "ACPI video: remove output switching control", namely the removal of
      probing for _DOS/_DOD when searching for video devices.
      
      This is needed on some Fujitsu Laptops (at least S7110, P8010) for the
      ACPI backlight interface to work, as an these machines, neither ROM nor
      posting methods are available, and after removal of output switching,
      none of the caps triggers, which prevents the backlight search from
      being entered.
      
      Tested on a Fujitsu Lifebook S7110 and Fujitsu Lifebook P8010.
      This probably fixes https://bugzilla.kernel.org/show_bug.cgi?id=27312
      for the people who have no entry in /sys/class/backlight.
      
      This is the complete list of public (starting with "_") methods implemented
      on the S7110, BIOS rev 1.34:
      
      \_SB_.PCI0.GFX0._ADR
      \_SB_.PCI0.GFX0._DOS
      \_SB_.PCI0.GFX0._DOD
      \_SB_.PCI0.GFX0.CRT._ADR
      \_SB_.PCI0.GFX0.CRT._DCS
      \_SB_.PCI0.GFX0.CRT._DGS
      \_SB_.PCI0.GFX0.CRT._DSS
      \_SB_.PCI0.GFX0.LCD._ADR
      \_SB_.PCI0.GFX0.LCD._BCL
      \_SB_.PCI0.GFX0.LCD._BCM
      \_SB_.PCI0.GFX0.LCD._BQC
      \_SB_.PCI0.GFX0.LCD._DCS
      \_SB_.PCI0.GFX0.LCD._DGS
      \_SB_.PCI0.GFX0.LCD._DSS
      \_SB_.PCI0.GFX0.LCD._PS0
      \_SB_.PCI0.GFX0.LCD._PS3
      \_SB_.PCI0.GFX0.TV._ADR
      \_SB_.PCI0.GFX0.TV._DCS
      \_SB_.PCI0.GFX0.TV._DGS
      \_SB_.PCI0.GFX0.TV._DSS
      \_SB_.PCI0.GFX0.DVI._ADR
      \_SB_.PCI0.GFX0.DVI._DCS
      \_SB_.PCI0.GFX0.DVI._DGS
      \_SB_.PCI0.GFX0.DVI._DSS
      Signed-off-by: default avatarMichael Karcher <kernel@mkarcher.dialup.fu-berlin.de>
      Acked-by: default avatarZhang Rui <rui.zhang@intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      ed764e7c
    • Rafael J. Wysocki's avatar
      ACPI / Wakeup: Enable button GPEs unconditionally during initialization · 2a5d2428
      Rafael J. Wysocki authored
      Commit 9630bdd9 (ACPI: Use GPE reference counting to support shared
      GPEs) introduced a suspend regression where boxes resume immediately
      after being suspended due to the lid or sleep button wakeup status
      not being cleared properly.  This happens if the GPEs corresponding
      to those devices are not enabled all the time, which apparently is
      expected by some BIOSes.
      
      To fix this problem, enable button and lid GPEs unconditionally
      during initialization and keep them enabled all the time, regardless
      of whether or not the ACPI button driver is used.
      
      References: https://bugzilla.kernel.org/show_bug.cgi?id=27372Reported-and-tested-by: default avatarFerenc Wágner <wferi@niif.hu>
      Cc: stable@kernel.org
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      2a5d2428
    • Rafael J. Wysocki's avatar
      ACPI / ACPICA: Avoid crashing if _PRW is defined for the root object · 2d559513
      Rafael J. Wysocki authored
      Some ACPI BIOSes define _PRW for the root object which causes
      acpi_setup_gpe_for_wake() to crash when trying to dereference the
      bogus device_node pointer.  Avoid the crash by checking if
      wake_device is not the root object before attempting to set up the
      "implicit notify" mechanism for it.
      
      The problem was introduced by commit bba63a29
      (ACPICA: Implicit notify support) that added the wake_device argument
      to acpi_setup_gpe_for_wake().
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      2d559513
  3. 08 Feb, 2011 2 commits
    • Rafael J. Wysocki's avatar
      ACPI: Fix acpi_os_read_memory() and acpi_os_write_memory() (v2) · 884b821f
      Rafael J. Wysocki authored
      The functions acpi_os_read_memory() and acpi_os_write_memory() do
      two wrong things.  First, they shouldn't call rcu_read_unlock()
      before the looked up address is actually used for I/O, because in
      that case the iomap it belongs to may be removed before the I/O
      is done.  Second, if they have to create a new mapping, they should
      check the returned virtual address and tell the caller that the
      operation failed if it is NULL (in fact, I think they even should not
      attempt to map an address that's not present in one of the existing
      ACPI iomaps, because that may cause problems to happen when they are
      called from nonpreemptible context and their callers ought to know
      what they are doing and map the requisite memory regions beforehand).
      
      Make these functions call rcu_read_unlock() when the I/O is complete
      (or if it's necessary to map the given address "on the fly") and
      return an error code if the requested physical address is not present
      in the existing ACPI iomaps and cannot be mapped.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      884b821f
    • Linus Torvalds's avatar
      Linux 2.6.38-rc4 · 100b33c8
      Linus Torvalds authored
      100b33c8
  4. 07 Feb, 2011 28 commits
  5. 06 Feb, 2011 6 commits