Merge branch 'drm-intel-next' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 14 Apr 2009 20:16:40 +0000 (13:16 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 14 Apr 2009 20:16:40 +0000 (13:16 -0700)
* 'drm-intel-next' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel:
  drm/i915: fix scheduling while holding the new active list spinlock
  drm/i915: Allow tiling of objects with bit 17 swizzling by the CPU.
  drm/i915: Correctly set the write flag for get_user_pages in pread.
  drm/i915: Fix use of uninitialized var in 40a5f0de
  drm/i915: indicate framebuffer restore key in SysRq help message
  drm/i915: sync hdmi detection by hdmi identifier with 2D
  drm/i915: Fix a mismerge of the IGD patch (new .find_pll hooks missed)
  drm/i915: Implement batch and ring buffer dumping

1  2 
drivers/gpu/drm/i915/i915_drv.h

@@@ -446,6 -446,9 +446,9 @@@ struct drm_i915_gem_object 
        uint32_t tiling_mode;
        uint32_t stride;
  
+       /** Record of address bit 17 of each page at last unbind. */
+       long *bit_17;
        /** AGP mapping type (AGP_USER_MEMORY or AGP_USER_CACHED_MEMORY */
        uint32_t agp_type;
  
@@@ -635,9 -638,13 +638,13 @@@ int i915_gem_attach_phys_object(struct 
  void i915_gem_detach_phys_object(struct drm_device *dev,
                                 struct drm_gem_object *obj);
  void i915_gem_free_all_phys_object(struct drm_device *dev);
+ int i915_gem_object_get_pages(struct drm_gem_object *obj);
+ void i915_gem_object_put_pages(struct drm_gem_object *obj);
  
  /* i915_gem_tiling.c */
  void i915_gem_detect_bit_6_swizzle(struct drm_device *dev);
+ void i915_gem_object_do_bit_17_swizzle(struct drm_gem_object *obj);
+ void i915_gem_object_save_bit_17_swizzle(struct drm_gem_object *obj);
  
  /* i915_gem_debug.c */
  void i915_gem_dump_object(struct drm_gem_object *obj, int len,
@@@ -666,12 -673,12 +673,12 @@@ extern int i915_restore_state(struct dr
  
  #ifdef CONFIG_ACPI
  /* i915_opregion.c */
 -extern int intel_opregion_init(struct drm_device *dev);
 +extern int intel_opregion_init(struct drm_device *dev, int resume);
  extern void intel_opregion_free(struct drm_device *dev);
  extern void opregion_asle_intr(struct drm_device *dev);
  extern void opregion_enable_asle(struct drm_device *dev);
  #else
 -static inline int intel_opregion_init(struct drm_device *dev) { return 0; }
 +static inline int intel_opregion_init(struct drm_device *dev, int resume) { return 0; }
  static inline void intel_opregion_free(struct drm_device *dev) { return; }
  static inline void opregion_asle_intr(struct drm_device *dev) { return; }
  static inline void opregion_enable_asle(struct drm_device *dev) { return; }