1. 17 12月, 2009 3 次提交
    • K
    • K
      drm/i915: Implement IS_* macros using static tables · cfdf1fa2
      Kristian Høgsberg 提交于
      Instead of using the IS_I9XX etc macros that expand to a ton of
      comparisons, use new struct intel_device_info to capture the
      capabilities of the different chipsets.  The drm_i915_private struct
      will be initialized to point to the device info that correspond to
      the actual device and this way, testing for a specific capability is
      just a matter of checking a bit field.
      Signed-off-by: NKristian Høgsberg <krh@bitplanet.net>
      Signed-off-by: NEric Anholt <eric@anholt.net>
      cfdf1fa2
    • Z
      drm/i915: Update LVDS connector status when receiving ACPI LID event · a2565377
      Zhao Yakui 提交于
      Dirk reports that nothing is displayed on LVDS when using ubuntu 9.1 after
      close/reopen the LID. And I also reproduce this issue on another laptop.
      After some tests and debug, it seems that it is related with that the
      LVDS status is not updated in time in course of suspend/resume.
      
      Now the LID state is used to check whether the LVDS is connected or
      disconnected. And when the LID is closed, it means that the LVDS is
      disconnected. When it is reopened, it means that the LVDS is connected.
      At the same time on some distributions the LID event is also used to put
      the system into suspend state. When the LID is closed, the system will enter
      the suspend state. When the LID is reopened, the system will be resumed.
      
      In such case when the LID is closed, user-space script will receive the LID
      notification event and  detect the LVDS as disconnected. Then the system will
      enter the suspended state. When the LID is reopened, the system will be
      resumed. As the LVDS status is not updated in course of resume, it will cause
      that the LVDS connector is marked as unused and disabled. After the resume is
      finished,user-space script will try to configure the display mode for LVDS.
      But unfortunately as the LVDS status is not updated in time and it is still
      marked as disconnected, the LVDS and its corresponding CRTC will be disabled
      again in the function of drm_helper_disable_unused_functions after changing
      mode for LVDS.
      
      So we had better check and update the status of LVDS connector after receiving
      the LID notication event. Then after the system is resumed from suspended
      state, we can set the display mode for LVDS correctly.
      Signed-off-by: NZhao Yakui <yakui.zhao@intel.com>
      Reported-by: NDirk Hohndel <hohndel@infradead.org>
      Reviewed-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      CC: stable@kernel.org
      Signed-off-by: NEric Anholt <eric@anholt.net>
      a2565377
  2. 08 12月, 2009 2 次提交
  3. 02 12月, 2009 2 次提交
  4. 01 12月, 2009 2 次提交
  5. 26 11月, 2009 1 次提交
  6. 13 11月, 2009 1 次提交
  7. 06 11月, 2009 8 次提交
  8. 03 11月, 2009 1 次提交
    • L
      i915: fix intel graphics suspend breakage due to resume/lid event confusion · c9354c85
      Linus Torvalds 提交于
      In commit c1c7af60 ("drm/i915: force
      mode set at lid open time") the intel graphics driver was taught to
      restore the LVDS mode on lid open.
      
      That caused problems with interaction with the suspend/resume code,
      which commonly runs at the same time (suspend is often caused by the lid
      close event, while lid open is commonly a resume event), which was
      worked around with in commit 06891e27
      ("drm/i915: fix suspend/resume breakage in lid notifier").
      
      However, in the meantime the lid event code had also grown a user event
      notifier (commit 06324194: "drm/i915:
      generate a KMS uevent at lid open/close time"), and now _that_ causes
      problems with suspend/resume and some versions of Xorg reacting to those
      uevents by setting the mode.
      
      So this effectively reverts that commit 06324194, and makes the lid
      open protection logic against suspend/resume more explicit.  This fixes
      at least one laptop. See
      
      	http://bugzilla.kernel.org/show_bug.cgi?id=14484
      
      for more details.
      Acked-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Cc: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
      Cc: Eric Anholt <eric@anholt.net>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c9354c85
  9. 24 10月, 2009 1 次提交
  10. 16 10月, 2009 1 次提交
  11. 14 10月, 2009 4 次提交
  12. 29 9月, 2009 1 次提交
  13. 22 9月, 2009 2 次提交
  14. 21 9月, 2009 1 次提交
    • D
      drm/vgaarb: add VGA arbitration support to the drm and kms. · 28d52043
      Dave Airlie 提交于
      VGA arb requires DRM support for non-kms drivers, to turn on/off
      irqs when disabling the mem/io regions.
      
      VGA arb requires KMS support for GPUs where we can turn off VGA
      decoding. Currently we know how to do this for intel and radeon
      kms drivers, which allows them to be removed from the arbiter.
      
      This patch comes from Fedora rawhide kernel.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      28d52043
  15. 18 9月, 2009 10 次提交