Merge tag 'v3.6-rc7' into drm-intel-next-queued
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 24 Sep 2012 16:07:48 +0000 (18:07 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 24 Sep 2012 16:17:12 +0000 (18:17 +0200)
Manual backmerge of -rc7 to resolve a silent conflict leading to
compile failure in drivers/gpu/drm/i915/intel_hdmi.c.

This is due to the bugfix in -rc7:

commit b98b60167279df3acac9422c3c9820d9ebbcf9fb
Author: Wang Xingchao <xingchao.wang@intel.com>
Date:   Thu Sep 13 07:43:22 2012 +0800

    drm/i915: HDMI - Clear Audio Enable bit for Hot Plug

Since this code moved around a lot in -next git put that snippet at
the wrong spot. I've tried to fix this by making the conflict explicit
by merging a version for next with:

commit 3cce574f0190dd149472059fb69267cf83d290f9
Author: Wang Xingchao <xingchao.wang@intel.com>
Date:   Thu Sep 13 11:19:00 2012 +0800

    drm/i915: HDMI - Clear Audio Enable bit for Hot Plug unconditionally

But that failed to solve the entire problem. To avoid pushing out
further -nightly branch to our QA where this is broken, do the
backmerge and manually add the stuff git adds to -next from the patch
in -fixes.

Note that this doesn't show up in git's merge diff (and hence is also
not handled by git rerere), which adds to the reasons why I'd like to
fix this with a verbose backmerge. The git merge diff only shows a
bunch of trivial conflicts of the "code changed in lines next to each
another" kind.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
17 files changed:
1  2 
drivers/gpu/drm/ast/ast_mode.c
drivers/gpu/drm/drm_crtc.c
drivers/gpu/drm/drm_edid.c
drivers/gpu/drm/exynos/exynos_drm_vidi.c
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/i915_gem_gtt.c
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/i915/intel_lvds.c
drivers/gpu/drm/i915/intel_pm.c
drivers/gpu/drm/radeon/atombios_dp.c
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
drivers/staging/omapdrm/omap_connector.c
include/drm/drm_crtc.h
include/drm/drm_fourcc.h

Simple merge
Simple merge
Simple merge
index 67cdea70c56141e03c7e7f21f6d281a80caf141a,914c0dfabe6048113abc150b38e06a107eb33c5b..491394fd94cd122db4523ea7f0c82e2749414a4d
@@@ -1618,7 -1586,8 +1618,8 @@@ int i915_driver_load(struct drm_device 
  
        spin_lock_init(&dev_priv->irq_lock);
        spin_lock_init(&dev_priv->error_lock);
 -      spin_lock_init(&dev_priv->rps_lock);
 +      spin_lock_init(&dev_priv->rps.lock);
+       spin_lock_init(&dev_priv->dpio_lock);
  
        if (IS_IVYBRIDGE(dev) || IS_HASWELL(dev))
                dev_priv->num_pipe = 3;
Simple merge
Simple merge
Simple merge
Simple merge
index a69d9a223162a58d5f0e6fab9e49bafbc88d448b,ace757af913366db3e7cff4e670fa9c804c84d08..1474f84fdbd058ca2d5bd54cbfe6ee5f5c9c865a
@@@ -2491,43 -2508,35 +2491,39 @@@ intel_dp_init(struct drm_device *dev, i
        intel_connector_attach_encoder(intel_connector, intel_encoder);
        drm_sysfs_connector_add(connector);
  
 +      intel_encoder->enable = intel_enable_dp;
 +      intel_encoder->pre_enable = intel_pre_enable_dp;
 +      intel_encoder->disable = intel_disable_dp;
 +      intel_encoder->post_disable = intel_post_disable_dp;
 +      intel_encoder->get_hw_state = intel_dp_get_hw_state;
 +      intel_connector->get_hw_state = intel_connector_get_hw_state;
 +
        /* Set up the DDC bus. */
 -      switch (output_reg) {
 -              case DP_A:
 -                      name = "DPDDC-A";
 -                      break;
 -              case DP_B:
 -              case PCH_DP_B:
 -                      dev_priv->hotplug_supported_mask |=
 -                              DPB_HOTPLUG_INT_STATUS;
 -                      name = "DPDDC-B";
 -                      break;
 -              case DP_C:
 -              case PCH_DP_C:
 -                      dev_priv->hotplug_supported_mask |=
 -                              DPC_HOTPLUG_INT_STATUS;
 -                      name = "DPDDC-C";
 -                      break;
 -              case DP_D:
 -              case PCH_DP_D:
 -                      dev_priv->hotplug_supported_mask |=
 -                              DPD_HOTPLUG_INT_STATUS;
 -                      name = "DPDDC-D";
 -                      break;
 +      switch (port) {
 +      case PORT_A:
 +              name = "DPDDC-A";
 +              break;
 +      case PORT_B:
 +              dev_priv->hotplug_supported_mask |= DPB_HOTPLUG_INT_STATUS;
 +              name = "DPDDC-B";
 +              break;
 +      case PORT_C:
 +              dev_priv->hotplug_supported_mask |= DPC_HOTPLUG_INT_STATUS;
 +              name = "DPDDC-C";
 +              break;
 +      case PORT_D:
 +              dev_priv->hotplug_supported_mask |= DPD_HOTPLUG_INT_STATUS;
 +              name = "DPDDC-D";
 +              break;
 +      default:
 +              WARN(1, "Invalid port %c\n", port_name(port));
 +              break;
        }
  
-       intel_dp_i2c_init(intel_dp, intel_connector, name);
        /* Cache some DPCD data in the eDP case */
        if (is_edp(intel_dp)) {
-               bool ret;
                struct edp_power_seq    cur, vbt;
                u32 pp_on, pp_off, pp_div;
-               struct edid *edid;
  
                pp_on = I915_READ(PCH_PP_ON_DELAYS);
                pp_off = I915_READ(PCH_PP_OFF_DELAYS);
Simple merge
Simple merge
Simple merge
Simple merge
index 9c2287b71d29dbea4da97af0a0518e37f6086083,55e9c865585058e9195e3eeef9aa8c554b57c886..38be186c249a8ed8e3fbed927ec6ed17633ea2f1
@@@ -180,11 -203,14 +203,11 @@@ static int omap_connector_get_modes(str
                } else {
                        drm_mode_connector_update_edid_property(
                                        connector, NULL);
 -                      connector->display_info.raw_edid = NULL;
 -                      kfree(edid);
                }
 +              kfree(edid);
        } else {
                struct drm_display_mode *mode = drm_mode_create(dev);
-               struct omap_video_timings timings;
+               struct omap_video_timings timings = {0};
  
                dssdrv->get_timings(dssdev, &timings);
  
Simple merge
index fac7235281f11c8526e4559b6897497bbd54c2cc,f4621184a9b404f8f7a81dfb130258def67cbd58..646ae5f39f42a75b7ac5dcf2cf7cafd51cf3341b
  #define DRM_FORMAT_NV21               fourcc_code('N', 'V', '2', '1') /* 2x2 subsampled Cb:Cr plane */
  #define DRM_FORMAT_NV16               fourcc_code('N', 'V', '1', '6') /* 2x1 subsampled Cr:Cb plane */
  #define DRM_FORMAT_NV61               fourcc_code('N', 'V', '6', '1') /* 2x1 subsampled Cb:Cr plane */
 +#define DRM_FORMAT_NV24               fourcc_code('N', 'V', '2', '4') /* non-subsampled Cr:Cb plane */
 +#define DRM_FORMAT_NV42               fourcc_code('N', 'V', '4', '2') /* non-subsampled Cb:Cr plane */
  
- /* 2 non contiguous plane YCbCr */
- #define DRM_FORMAT_NV12M      fourcc_code('N', 'M', '1', '2') /* 2x2 subsampled Cr:Cb plane */
+ /* special NV12 tiled format */
  #define DRM_FORMAT_NV12MT     fourcc_code('T', 'M', '1', '2') /* 2x2 subsampled Cr:Cb plane 64x32 macroblocks */
  
  /*