Skip to content
  1. Sep 27, 2007
  2. Sep 25, 2007
  3. Sep 23, 2007
    • Thomas Gleixner's avatar
      ACPI: disable lower idle C-states across suspend/resume · b04e7bdb
      Thomas Gleixner authored
      
      
      device_suspend() calls ACPI suspend functions, which seems to have undesired
      side effects on lower idle C-states. It took me some time to realize that
      especially the VAIO BIOSes (both Andrews jinxed UP and my elfstruck SMP one)
      show this effect. I'm quite sure that other bug reports against suspend/resume
      about turning the system into a brick have the same root cause.
      
      After fishing in the dark for quite some time, I realized that removing the ACPI
      processor module before suspend (this removes the lower C-state functionality)
      made the problem disappear. Interestingly enough the propability of having a
      bricked box is influenced by various factors (interrupts, size of the ram image,
      ...). Even adding a bunch of printks in the wrong places made the problem go
      away. The previous periodic tick implementation simply pampered over the
      problem, which explains why the dyntick / clockevents changes made this more
      prominent.
      
      We avoid complex functionality during the boot process and we have to do the
      same during suspend/resume. It is a similar scenario and equaly fragile.
      
      Add suspend / resume functions to the ACPI processor code and disable the lower
      idle C-states across suspend/resume. Fall back to the default idle
      implementation (halt) instead.
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Tested-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Len Brown <lenb@kernel.org>
      Cc: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
      Cc: Rafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b04e7bdb
  4. Sep 22, 2007
  5. Sep 21, 2007
  6. Sep 18, 2007
    • Maik Broemme's avatar
      ACPI: video: remove dmesg spam · 7f10cc4e
      Maik Broemme authored
      
      
      i am actually heavily using the ACPI video extension for my Thinkpad X61
      Tablet. I have bound the input events triggered by the brightness
      up/down keys to a simple
      
      echo <value> > /sys/class/backlight/acpi_video1/brightness
      
      but everytime the event is triggered and acpi_video_device_lcd_set_level()
      is called i got a notificication in my kernel log like:
      
      set_level status: 0
      set_level status: 0
      set_level status: 0
      set_level status: 0
      ...
      
      Signed-off-by: default avatarMaik Broemme <mbroemme@plusserver.de>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      7f10cc4e
    • Zhang Rui's avatar
      ACPI: video: _DOS=0 by default to prevent hotkey hang · a21101c4
      Zhang Rui authored
      In the past, the Linux/ACPI video driver invoked _DOS
      (Display Output Switch) with the parameter 1
      to tell the BIOS to switch the video output display for us.
      
      But this conflicts with Linux native graphics drivers,
      and can cause all sorts of issues, including hanging the system.
      
      http://bugzilla.kernel.org/show_bug.cgi?id=6001
      
      
      
      Here we change the Linux default to evaluate _DOS=0,
      which tells the BIOS to simply send us a hotkey event
      and not touch the graphics hardware.
      
      The acpi video driver sends the display switch hotkey
      event up through the intput layer, and X can interpret
      that and use its native graphics driver to switch the display.
      
      For the case where Linux has no native graphics driver running,
      or the graphics driver doesn't know how to switch video and
      the BIOS (safely) does, the previous behaviour can be restored with:
      
      # echo 1 > /proc/acpi/video/*/DOS
      
      Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      a21101c4
  7. Sep 16, 2007
  8. Sep 03, 2007
  9. Aug 31, 2007
  10. Aug 28, 2007
  11. Aug 27, 2007
    • Hugh Dickins's avatar
      reverse CONFIG_ACPI_PROC_EVENT default · 721ebe00
      Hugh Dickins authored
      
      
      Sigh.  Again an ACPI assault on the Thinkpad's Fn+F4 to suspend to RAM.
      The default and text for CONFIG_THINKPAD_ACPI_INPUT_ENABLED were fixed
      in -rc3, but now commit 14e04fb3 ("ACPI:
      Schedule /proc/acpi/event for removal") introduces the ACPI_PROC_EVENT
      config entry, and defaults it to 'n' to disable it again.
      
      Change default to y, and add comment to make it clearer that n is for
      future distros.
      
      Signed-off-by: default avatarHugh Dickins <hugh@veritas.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Len Brown <len.brown@intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      721ebe00
  12. Aug 25, 2007
  13. Aug 24, 2007
  14. Aug 23, 2007
    • Len Brown's avatar
      ACPI: Schedule /proc/acpi/event for removal · 14e04fb3
      Len Brown authored
      
      
      Schedule /proc/acpi/event for removal in 6 months.
      
      Re-name acpi_bus_generate_event() to acpi_bus_generate_proc_event()
      to make sure there is no confusion that it is for /proc/acpi/event only.
      
      Add CONFIG_ACPI_PROC_EVENT to allow removal of /proc/acpi/event.
      There is no functional change if CONFIG_ACPI_PROC_EVENT=y
      
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      14e04fb3
    • Zhang Rui's avatar
      ACPI: don't duplicate input events on netlink · 962ce8ca
      Zhang Rui authored
      
      
      The previous events patch added a netlink event for every
      user of the legacy /proc/acpi/event interface.
      
      However, some users of /proc/acpi/event are really input events,
      and they already report their events via the input layer.
      
      Introduce a new interface, acpi_bus_generate_netlink_event(),
      which is explicitly called by devices that want to repoprt
      events via netlink.  This allows the input-like events
      to opt-out of generating netlink events.  In summary:
      
      events that are sent via netlink:
      	ac/battery/sbs
      	thermal
      	processor
      	thinkpad_acpi dock/bay
      
      events that are sent via input layer:
      	button
      	video hotkey
      	thinkpad_acpi hotkey
      	asus_acpi/asus-laptop hotkey
      	sonypi/sonylaptop
      
      Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      962ce8ca
    • Ingo Molnar's avatar
      sched: sched_clock_idle_[sleep|wakeup]_event() · 2aa44d05
      Ingo Molnar authored
      
      
      construct a more or less wall-clock time out of sched_clock(), by
      using ACPI-idle's existing knowledge about how much time we spent
      idling. This allows the rq clock to work around TSC-stops-in-C2,
      TSC-gets-corrupted-in-C3 type of problems.
      
      ( Besides the scheduler's statistics this also benefits blktrace and
        printk-timestamps as well. )
      
      Furthermore, the precise before-C2/C3-sleep and after-C2/C3-wakeup
      callbacks allow the scheduler to get out the most of the period where
      the CPU has a reliable TSC. This results in slightly more precise
      task statistics.
      
      the ACPI bits were acked by Len.
      
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Acked-by: default avatarLen Brown <len.brown@intel.com>
      2aa44d05
  15. Aug 20, 2007
  16. Aug 15, 2007
  17. Aug 14, 2007
  18. Aug 12, 2007
    • Len Brown's avatar
      ACPI: thermal: add DMI hooks to handle AOpen's broken Award BIOS · 0b5bfa1c
      Len Brown authored
      Use DMI to:
      1. enable polling (BIOS thermal events are broken)
      2. disable active trip points (BIOS fan control is broken)
      3. disable passive trip point (BIOS hard-codes it too low)
      
      The actual temperature reading does work,
      and with the aid of polling, the critical
      trip point should work too.
      
      http://bugzilla.kernel.org/show_bug.cgi?id=8842
      
      
      
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      0b5bfa1c
    • Len Brown's avatar
      ACPI: thermal: create "thermal.act=" to disable or override active trip point · f8707ec9
      Len Brown authored
      
      
      thermal.act=-1 disables all active trip points
      in all ACPI thermal zones.
      
      thermal.act=C, where C > 0, overrides all lowest temperature
      active trip points in all thermal zones to C degrees Celsius.
      Raising this trip-point may allow you to keep your system silent
      up to a higher temperature.  However, it will not allow you to
      raise the lowest temperature trip point above the next higher
      trip point (if there is one).  Lowering this trip point may
      kick in the fan sooner.
      
      Note that overriding this trip-point will disable any BIOS attempts
      to implement hysteresis around the lowest temperature trip point.
      This may result in the fan starting and stopping frequently
      if temperature frequently crosses C.
      
      WARNING: raising trip points above the manufacturer's defaults
      may cause the system to run at higher temperature and shorten
      its life.
      
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      f8707ec9
Loading