Merge remote branch 'keithp/drm-intel-next' of ../drm-next into drm-core-next
authorDave Airlie <airlied@redhat.com>
Fri, 20 May 2011 01:30:02 +0000 (11:30 +1000)
committerDave Airlie <airlied@redhat.com>
Fri, 20 May 2011 01:30:02 +0000 (11:30 +1000)
* 'keithp/drm-intel-next' of ../drm-next:
  drm/i915: initialize gen6 rps work queue on Sandy Bridge and Ivy Bridge
  drm/i915/sdvo: Reorder i2c initialisation before ddc proxy
  drm/i915: FDI link training broken on Ironlake by Ivybridge integration
  drm/i915: enable rc6 by default
  drm/i915: add fbc enable flag, but disable by default
  drm/i915: clean up unused ring_get_irq/ring_put_irq functions
  drm/i915: fix user irq miss in BSD ring on g4x

1  2 
drivers/gpu/drm/i915/intel_display.c

index 565eb2cc0042daa36a2ad9e6a3f93297c74a6ebb,455d88578ea419dbc24701aa7b1f3ffa83725e66..311fffede6f8a3b42cdb131c73115394fc1dfd76
@@@ -1731,6 -1731,11 +1731,11 @@@ static void intel_update_fbc(struct drm
        intel_fb = to_intel_framebuffer(fb);
        obj = intel_fb->obj;
  
+       if (!i915_enable_fbc) {
+               DRM_DEBUG_KMS("fbc disabled per module param (default off)\n");
+               dev_priv->no_fbc_reason = FBC_MODULE_PARAM;
+               goto out_disable;
+       }
        if (intel_fb->obj->base.size > dev_priv->cfb_size) {
                DRM_DEBUG_KMS("framebuffer too large, disabling "
                              "compression\n");
@@@ -2051,12 -2056,12 +2056,12 @@@ static void intel_fdi_normal_train(stru
        /* enable normal train */
        reg = FDI_TX_CTL(pipe);
        temp = I915_READ(reg);
-       if (IS_GEN6(dev)) {
-               temp &= ~FDI_LINK_TRAIN_NONE;
-               temp |= FDI_LINK_TRAIN_NONE | FDI_TX_ENHANCE_FRAME_ENABLE;
-       } else if (IS_IVYBRIDGE(dev)) {
+       if (IS_IVYBRIDGE(dev)) {
                temp &= ~FDI_LINK_TRAIN_NONE_IVB;
                temp |= FDI_LINK_TRAIN_NONE_IVB | FDI_TX_ENHANCE_FRAME_ENABLE;
+       } else {
+               temp &= ~FDI_LINK_TRAIN_NONE;
+               temp |= FDI_LINK_TRAIN_NONE | FDI_TX_ENHANCE_FRAME_ENABLE;
        }
        I915_WRITE(reg, temp);
  
@@@ -3332,11 -3337,11 +3337,11 @@@ static unsigned long intel_calculate_wm
                1000;
        entries_required = DIV_ROUND_UP(entries_required, wm->cacheline_size);
  
 -      DRM_DEBUG_KMS("FIFO entries required for mode: %d\n", entries_required);
 +      DRM_DEBUG_KMS("FIFO entries required for mode: %ld\n", entries_required);
  
        wm_size = fifo_size - (entries_required + wm->guard_size);
  
 -      DRM_DEBUG_KMS("FIFO watermark level: %d\n", wm_size);
 +      DRM_DEBUG_KMS("FIFO watermark level: %ld\n", wm_size);
  
        /* Don't promote wm_size to unsigned... */
        if (wm_size > (long)wm->max_wm)
@@@ -3658,13 -3663,13 +3663,13 @@@ static bool g4x_check_srwm(struct drm_d
                      display_wm, cursor_wm);
  
        if (display_wm > display->max_wm) {
 -              DRM_DEBUG_KMS("display watermark is too large(%d), disabling\n",
 +              DRM_DEBUG_KMS("display watermark is too large(%d/%ld), disabling\n",
                              display_wm, display->max_wm);
                return false;
        }
  
        if (cursor_wm > cursor->max_wm) {
 -              DRM_DEBUG_KMS("cursor watermark is too large(%d), disabling\n",
 +              DRM_DEBUG_KMS("cursor watermark is too large(%d/%ld), disabling\n",
                              cursor_wm, cursor->max_wm);
                return false;
        }