]> Pileus Git - ~andy/linux/commitdiff
Merge tag 'drm-intel-fixes-2014-02-11' of ssh://git.freedesktop.org/git/drm-intel...
authorDave Airlie <airlied@redhat.com>
Tue, 11 Feb 2014 23:51:16 +0000 (09:51 +1000)
committerDave Airlie <airlied@redhat.com>
Tue, 11 Feb 2014 23:51:16 +0000 (09:51 +1000)
3 regression fixes in i915

* tag 'drm-intel-fixes-2014-02-11' of ssh://git.freedesktop.org/git/drm-intel:
  drm/i915: Pair va_copy with va_end in i915_error_vprintf
  drm/i915: Fix intel_pipe_to_cpu_transcoder for UMS
  drm/i915: Disable dp aux irq on g4x

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

index 4a2bf8e3f739bff7b2b9f6e018100ec98e8b9c0e,c0cba20ea6af78f637ed95e45e14b314ce3c2fa5..df77e20e3c3d00ee9173d4c160274f0e837c26de
@@@ -1831,6 -1831,14 +1831,14 @@@ struct drm_i915_file_private 
  
  /* Early gen2 have a totally busted CS tlb and require pinned batches. */
  #define HAS_BROKEN_CS_TLB(dev)                (IS_I830(dev) || IS_845G(dev))
+ /*
+  * dp aux and gmbus irq on gen4 seems to be able to generate legacy interrupts
+  * even when in MSI mode. This results in spurious interrupt warnings if the
+  * legacy irq no. is shared with another device. The kernel then disables that
+  * interrupt source and so prevents the other device from working properly.
+  */
+ #define HAS_AUX_IRQ(dev) (INTEL_INFO(dev)->gen >= 5)
+ #define HAS_GMBUS_IRQ(dev) (INTEL_INFO(dev)->gen >= 5)
  
  /* With the 945 and later, Y tiling got adjusted so that it was 32 128-byte
   * rows, which changed the alignment requirements and fence programming.
@@@ -2376,8 -2384,8 +2384,8 @@@ extern void intel_i2c_reset(struct drm_
  
  /* intel_opregion.c */
  struct intel_encoder;
 -extern int intel_opregion_setup(struct drm_device *dev);
  #ifdef CONFIG_ACPI
 +extern int intel_opregion_setup(struct drm_device *dev);
  extern void intel_opregion_init(struct drm_device *dev);
  extern void intel_opregion_fini(struct drm_device *dev);
  extern void intel_opregion_asle_intr(struct drm_device *dev);
@@@ -2386,7 -2394,6 +2394,7 @@@ extern int intel_opregion_notify_encode
  extern int intel_opregion_notify_adapter(struct drm_device *dev,
                                         pci_power_t state);
  #else
 +static inline int intel_opregion_setup(struct drm_device *dev) { return 0; }
  static inline void intel_opregion_init(struct drm_device *dev) { return; }
  static inline void intel_opregion_fini(struct drm_device *dev) { return; }
  static inline void intel_opregion_asle_intr(struct drm_device *dev) { return; }