1. 13 1月, 2010 1 次提交
  2. 18 12月, 2009 1 次提交
    • A
      drm: convert drm_ioctl to unlocked_ioctl · ed8b6704
      Arnd Bergmann 提交于
      drm_ioctl is called with the Big Kernel Lock held,
      which shows up very high in statistics on vfs_ioctl.
      
      Moving the lock into the drm_ioctl function itself
      makes sure we blame the right subsystem and it gets
      us one step closer to eliminating the locked version
      of fops->ioctl.
      
      Since drm_ioctl does not require the lock itself,
      we only need to hold it while calling the specific
      handler. The 32 bit conversion handlers do not
      interact with any other code, so they don't need
      the BKL here either and can just call drm_ioctl.
      
      As a bonus, this cleans up all the other users
      of drm_ioctl which now no longer have to find
      the inode or call lock_kernel.
      
      [airlied: squashed the non-driver bits
      of the second patch in here, this provides
      the flag for drivers to use to select unlocked
      ioctls - but doesn't modify any drivers].
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: David Airlie <airlied@linux.ie>
      Cc: dri-devel@lists.sourceforge.net
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      ed8b6704
  3. 17 12月, 2009 4 次提交
  4. 18 11月, 2009 1 次提交
  5. 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
  6. 26 10月, 2009 1 次提交
  7. 18 9月, 2009 4 次提交
  8. 05 9月, 2009 3 次提交
  9. 11 7月, 2009 1 次提交
  10. 02 7月, 2009 1 次提交
  11. 23 6月, 2009 1 次提交
    • J
      drm/i915: correct suspend/resume ordering · 9e06dd39
      Jesse Barnes 提交于
      We need to save register state *after* idling GEM, clearing the ring,
      and uninstalling the IRQ handler, or we might end up saving bogus
      fence regs, for one.  Our restore ordering should already be correct,
      since we do GEM, ring and IRQ init after restoring the last register
      state, which prevents us from clobbering things.
      
      I put this together to potentially address a bug, but I haven't heard
      back if it fixes it yet.  However I think it stands on its own, so I'm
      sending it in.
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NEric Anholt <eric@anholt.net>
      9e06dd39
  12. 18 4月, 2009 1 次提交
  13. 28 3月, 2009 2 次提交
  14. 13 3月, 2009 2 次提交
  15. 24 2月, 2009 1 次提交
  16. 23 2月, 2009 1 次提交
  17. 20 2月, 2009 1 次提交
  18. 08 2月, 2009 1 次提交
  19. 29 12月, 2008 4 次提交
    • H
      drm/i915: fix sparse warnings: make symbols static · b358d0a6
      Hannes Eder 提交于
      Signed-off-by: NHannes Eder <hannes@hanneseder.net>
      Signed-off-by: NEric Anholt <eric@anholt.net>
      Signed-off-by: NDave Airlie <airlied@linux.ie>
      b358d0a6
    • J
      DRM: i915: add mode setting support · 79e53945
      Jesse Barnes 提交于
      This commit adds i915 driver support for the DRM mode setting APIs.
      Currently, VGA, LVDS, SDVO DVI & VGA, TV and DVO LVDS outputs are
      supported.  HDMI, DisplayPort and additional SDVO output support will
      follow.
      
      Support for the mode setting code is controlled by the new 'modeset'
      module option.  A new config option, CONFIG_DRM_I915_KMS controls the
      default behavior, and whether a PCI ID list is built into the module for
      use by user level module utilities.
      
      Note that if mode setting is enabled, user level drivers that access
      display registers directly or that don't use the kernel graphics memory
      manager will likely corrupt kernel graphics memory, disrupt output
      configuration (possibly leading to hangs and/or blank displays), and
      prevent panic/oops messages from appearing.  So use caution when
      enabling this code; be sure your user level code supports the new
      interfaces.
      
      A new SysRq key, 'g', provides emergency support for switching back to
      the kernel's framebuffer console; which is useful for testing.
      
      Co-authors: Dave Airlie <airlied@linux.ie>, Hong Liu <hong.liu@intel.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NEric Anholt <eric@anholt.net>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      79e53945
    • J
      drm/i915: add GEM GTT mapping support · de151cf6
      Jesse Barnes 提交于
      Use the new core GEM object mapping code to allow GTT mapping of GEM
      objects on i915.  The fault handler will make sure a fence register is
      allocated too, if the object in question is tiled.
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NEric Anholt <eric@anholt.net>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      de151cf6
    • D
      drm: move to kref per-master structures. · 7c1c2871
      Dave Airlie 提交于
      This is step one towards having multiple masters sharing a drm
      device in order to get fast-user-switching to work.
      
      It splits out the information associated with the drm master
      into a separate kref counted structure, and allocates this when
      a master opens the device node. It also allows the current master
      to abdicate (say while VT switched), and a new master to take over
      the hardware.
      
      It moves the Intel and radeon drivers to using the sarea from
      within the new master structures.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      7c1c2871
  20. 18 10月, 2008 5 次提交
  21. 14 7月, 2008 1 次提交
    • D
      drm: reorganise drm tree to be more future proof. · c0e09200
      Dave Airlie 提交于
      With the coming of kernel based modesetting and the memory manager stuff,
      the everything in one directory approach was getting very ugly and
      starting to be unmanageable.
      
      This restructures the drm along the lines of other kernel components.
      
      It creates a drivers/gpu/drm directory and moves the hw drivers into
      subdirectores. It moves the includes into an include/drm, and
      sets up the unifdef for the userspace headers we should be exporting.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      c0e09200
  22. 25 6月, 2008 1 次提交
  23. 07 5月, 2008 1 次提交