Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 29 Jul 2014 18:49:36 +0000 (20:49 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 29 Jul 2014 18:49:36 +0000 (20:49 +0200)
Pull in drm-next with Dave's DP MST support so that I can merge some
conflicting patches which also touch the driver load sequencing around
interrupt handling.

Conflicts:
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_dp.c

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
19 files changed:
1  2 
Documentation/DocBook/drm.tmpl
drivers/gpu/drm/drm_crtc.c
drivers/gpu/drm/drm_edid.c
drivers/gpu/drm/i915/i915_debugfs.c
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_crt.c
drivers/gpu/drm/i915/intel_ddi.c
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_hdmi.c
drivers/gpu/drm/i915/intel_opregion.c
drivers/gpu/drm/i915/intel_sprite.c
drivers/gpu/drm/omapdrm/omap_plane.c
include/drm/drm_crtc.h

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 387279602fd90a3428eccb63a9296f233a1d444a,2a83833207b1be925531892549132202d9c53c06..6c4b25ce8bb0bb5a591496fc45ed52a4849c1296
@@@ -520,22 -516,24 +520,23 @@@ static int i915_drm_freeze(struct drm_d
                        return error;
                }
  
-               flush_delayed_work(&dev_priv->rps.delayed_resume_work);
-               intel_runtime_pm_disable_interrupts(dev);
-               dev_priv->enable_hotplug_processing = false;
-               intel_suspend_gt_powersave(dev);
                /*
                 * Disable CRTCs directly since we want to preserve sw state
 -               * for _thaw.
 +               * for _thaw. Also, power gate the CRTC power wells.
                 */
                drm_modeset_lock_all(dev);
 -              for_each_crtc(dev, crtc) {
 -                      dev_priv->display.crtc_disable(crtc);
 -              }
 +              for_each_crtc(dev, crtc)
 +                      intel_crtc_control(crtc, false);
                drm_modeset_unlock_all(dev);
  
+               intel_dp_mst_suspend(dev);
+               flush_delayed_work(&dev_priv->rps.delayed_resume_work);
+               intel_runtime_pm_disable_interrupts(dev);
+               intel_suspend_gt_powersave(dev);
                intel_modeset_suspend_hw(dev);
        }
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 9274ddfd78c72fd2e2e0af16e9acb0985dbe911e,e7a7953da6d1b071d1b4a5de2ca3f4b63159b8b9..0f05b88a75e32459743dbc95fca338adfb456d6e
@@@ -3620,7 -3679,10 +3718,8 @@@ intel_dp_detect(struct drm_connector *c
        enum drm_connector_status status;
        enum intel_display_power_domain power_domain;
        struct edid *edid = NULL;
+       bool ret;
  
 -      intel_runtime_pm_get(dev_priv);
 -
        power_domain = intel_display_port_power_domain(intel_encoder);
        intel_display_power_get(dev_priv, power_domain);
  
index bb9042bde7dde7f2abaf523e0f3429eb7781c179,1dfd1e518551442199ab5de5ae5ba12e29e283c9..b2837c5fccfcef012f92a073d2728b23378a172b
@@@ -880,12 -901,18 +914,21 @@@ void intel_edp_panel_off(struct intel_d
  void intel_edp_psr_enable(struct intel_dp *intel_dp);
  void intel_edp_psr_disable(struct intel_dp *intel_dp);
  void intel_dp_set_drrs_state(struct drm_device *dev, int refresh_rate);
 -void intel_edp_psr_exit(struct drm_device *dev);
 +void intel_edp_psr_invalidate(struct drm_device *dev,
 +                            unsigned frontbuffer_bits);
 +void intel_edp_psr_flush(struct drm_device *dev,
 +                       unsigned frontbuffer_bits);
  void intel_edp_psr_init(struct drm_device *dev);
  
+ int intel_dp_handle_hpd_irq(struct intel_digital_port *digport, bool long_hpd);
+ void intel_dp_add_properties(struct intel_dp *intel_dp, struct drm_connector *connector);
+ void intel_dp_mst_suspend(struct drm_device *dev);
+ void intel_dp_mst_resume(struct drm_device *dev);
+ int intel_dp_max_link_bw(struct intel_dp *intel_dp);
+ void intel_dp_hot_plug(struct intel_encoder *intel_encoder);
+ /* intel_dp_mst.c */
+ int intel_dp_mst_encoder_init(struct intel_digital_port *intel_dig_port, int conn_id);
+ void intel_dp_mst_encoder_cleanup(struct intel_digital_port *intel_dig_port);
  /* intel_dsi.c */
  void intel_dsi_init(struct drm_device *dev);
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge