[RESEND][Quantal] [Precise SRU] drm/radeon: fix unintended display toggles

Alex Hung alex.hung at canonical.com
Mon Feb 25 11:00:03 UTC 2013


SRU Justification:

Impact:
  An additional KEY_SWITCHVIDEOMODE keycode is sent with when
  brightness up/down hotkey are pressed on some systems with AMD's
  VGA chips. It toggles displays unintendedly when multiple monitors
  are connected or causes LCD panel flickers with no external monitors.

Fix:
  The standard video events may be overloaded for device specific
  purposes. For example AMD ACPI interface overloads
  ACPI_VIDEO_NOTIFY_PROBE (0x81) to signal AMD-specific events.
  This patch gives the handlers the chance to examine the event and
  block the keypress if the event is device specific. 

  The patches are included in upstream and are cherry-picked from Linus's repo.

Test:
  I tested on ASUS 1015U, and it removed the additional keycode.

Note:

The following changes since commit 965b38cd16f964011172991c2e67b76562828b74:

  UBUNTU: Ubuntu-lts-3.5.0-25.38

are available in the git repository at:
  git://kernel.ubuntu.com/alexhung/ubuntu-precise.git quantal-ati

for you to fetch upto bf241ddc8f9ee72fda14fe053e800b10e6c24b3c including the following patches:

  drm/radeon: block the keypress on ATIF events
  ACPI video: allow events handlers to veto the keypress
  drm/radeon: re-organize the acpi notifier callback
  drm/radeon: implement handler for ACPI event
  drm/radeon: implement wrapper for GET_SYSTEM_PARAMS
  drm/radeon: implement radeon_atif_verify_interface
  drm/radeon: refactor radeon_atif_call
  drm/radeon: add backlight control for atom devices (v2)
  drm/radeon: rework legacy backlight control
  drm/radeon: track whether the GPU controls the backlight (v2)
  drm/radeon: add a license header to radeon_apci.c
  drm/radeon: add new AMD ACPI header and update relevant code (v2)

Please note drm/radeon: implement radeon_atif_verify_interface (5213fc0f09) has resolved conflicts.

BugLink: http://bugs.launchpad.net/bugs/1110219




More information about the kernel-team mailing list