Merge intel drm-intel-next branch
Dave Airlie [Mon, 7 Sep 2009 10:27:20 +0000 (20:27 +1000)]
Merge remote branch 'anholt/drm-intel-next' of ../anholt-2.6 into drm-next

Conflicts:
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_sdvo.c

12 files changed:
1  2 
drivers/gpu/drm/drm_sysfs.c
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_lvds.c
drivers/gpu/drm/i915/intel_sdvo.c
drivers/gpu/drm/radeon/r100.c
drivers/gpu/drm/radeon/r300.c
drivers/gpu/drm/radeon/radeon.h
drivers/gpu/drm/radeon/radeon_cp.c
drivers/gpu/drm/radeon/radeon_drv.h

Simple merge
Simple merge
Simple merge
@@@ -3105,6 -3549,20 +3547,11 @@@ static void intel_crtc_init(struct drm_
        intel_crtc->cursor_addr = 0;
        intel_crtc->dpms_mode = DRM_MODE_DPMS_OFF;
        drm_crtc_helper_add(&intel_crtc->base, &intel_helper_funcs);
 -      intel_crtc->mode_set.crtc = &intel_crtc->base;
 -      intel_crtc->mode_set.connectors = (struct drm_connector **)(intel_crtc + 1);
 -      intel_crtc->mode_set.num_connectors = 0;
+       intel_crtc->busy = false;
+       setup_timer(&intel_crtc->idle_timer, intel_crtc_idle_timer,
+                   (unsigned long)intel_crtc);
 -
 -      if (i915_fbpercrtc) {
 -
 -
 -
 -      }
  }
  
  int intel_get_pipe_from_crtc_id(struct drm_device *dev, void *data,
@@@ -96,6 -116,12 +116,9 @@@ struct intel_crtc 
        uint32_t cursor_addr;
        u8 lut_r[256], lut_g[256], lut_b[256];
        int dpms_mode;
 -      struct intel_framebuffer *fbdev_fb;
 -      /* a mode_set for fbdev users on this crtc */
 -      struct drm_mode_set mode_set;
+       bool busy; /* is scanout buffer being updated frequently? */
+       struct timer_list idle_timer;
+       bool lowfreq_avail;
  };
  
  #define to_intel_crtc(x) container_of(x, struct intel_crtc, base)
Simple merge
  #include "intel_sdvo_regs.h"
  
  #undef SDVO_DEBUG
 -#define I915_SDVO     "i915_sdvo"
++
+ static char *tv_format_names[] = {
+       "NTSC_M"   , "NTSC_J"  , "NTSC_443",
+       "PAL_B"    , "PAL_D"   , "PAL_G"   ,
+       "PAL_H"    , "PAL_I"   , "PAL_M"   ,
+       "PAL_N"    , "PAL_NC"  , "PAL_60"  ,
+       "SECAM_B"  , "SECAM_D" , "SECAM_G" ,
+       "SECAM_K"  , "SECAM_K1", "SECAM_L" ,
+       "SECAM_60"
+ };
+ #define TV_FORMAT_NUM  (sizeof(tv_format_names) / sizeof(*tv_format_names))
  struct intel_sdvo_priv {
        u8 slave_addr;
  
@@@ -1515,10 -1576,11 +1576,11 @@@ static enum drm_connector_status intel_
        struct intel_output *intel_output = to_intel_output(connector);
        struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv;
  
-       intel_sdvo_write_cmd(intel_output, SDVO_CMD_GET_ATTACHED_DISPLAYS, NULL, 0);
+       intel_sdvo_write_cmd(intel_output,
+                            SDVO_CMD_GET_ATTACHED_DISPLAYS, NULL, 0);
        status = intel_sdvo_read_response(intel_output, &response, 2);
  
 -      DRM_DEBUG("SDVO response %d %d\n", response & 0xff, response >> 8);
 +      DRM_DEBUG_KMS("SDVO response %d %d\n", response & 0xff, response >> 8);
  
        if (status != SDVO_CMD_STATUS_SUCCESS)
                return connector_status_unknown;
@@@ -2002,11 -2112,13 +2112,12 @@@ intel_sdvo_output_setup(struct intel_ou
  
                sdvo_priv->controlled_output = 0;
                memcpy(bytes, &sdvo_priv->caps.output_flags, 2);
 -              DRM_DEBUG_KMS(I915_SDVO,
 -                              "%s: Unknown SDVO output type (0x%02x%02x)\n",
 -                                SDVO_NAME(sdvo_priv),
 -                                bytes[0], bytes[1]);
 +              DRM_DEBUG_KMS("%s: Unknown SDVO output type (0x%02x%02x)\n",
 +                            SDVO_NAME(sdvo_priv),
 +                            bytes[0], bytes[1]);
                ret = false;
        }
+       intel_output->crtc_mask = (1 << 0) | (1 << 1);
  
        if (ret && registered)
                ret = drm_sysfs_connector_add(connector) == 0 ? true : false;
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge