Merge tag 'drm-intel-fixes-2013-06-11' of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes

Daniel writes:
Just tiny regression fixes here:
- Two fixes to fix sdvo hotplug which broke in the hpd storm detection
work.
- One fix to patch-up the sdvo lvds regression fixer from the last pull -
we need to prefer the vbt mode over edid modes.

* tag 'drm-intel-fixes-2013-06-11' of git://people.freedesktop.org/~danvet/drm-intel:
drm/i915: prefer VBT modes for SVDO-LVDS over EDID
drm/i915: Enable hotplug interrupts after querying hw capabilities.
drm/i915: Fix hotplug interrupt enabling for SDVOC

+14 -10
+14 -10
drivers/gpu/drm/i915/intel_sdvo.c
··· 1777 * arranged in priority order. 1778 */ 1779 intel_ddc_get_modes(connector, &intel_sdvo->ddc); 1780 - if (list_empty(&connector->probed_modes) == false) 1781 - goto end; 1782 1783 - /* Fetch modes from VBT */ 1784 if (dev_priv->sdvo_lvds_vbt_mode != NULL) { 1785 newmode = drm_mode_duplicate(connector->dev, 1786 dev_priv->sdvo_lvds_vbt_mode); ··· 1795 } 1796 } 1797 1798 - end: 1799 list_for_each_entry(newmode, &connector->probed_modes, head) { 1800 if (newmode->type & DRM_MODE_TYPE_PREFERRED) { 1801 intel_sdvo->sdvo_lvds_fixed_mode = ··· 2792 SDVOB_HOTPLUG_INT_STATUS_I915 : SDVOC_HOTPLUG_INT_STATUS_I915; 2793 } 2794 2795 - /* Only enable the hotplug irq if we need it, to work around noisy 2796 - * hotplug lines. 2797 - */ 2798 - if (intel_sdvo->hotplug_active) 2799 - intel_encoder->hpd_pin = HPD_SDVO_B ? HPD_SDVO_B : HPD_SDVO_C; 2800 - 2801 intel_encoder->compute_config = intel_sdvo_compute_config; 2802 intel_encoder->disable = intel_disable_sdvo; 2803 intel_encoder->mode_set = intel_sdvo_mode_set; ··· 2808 SDVO_NAME(intel_sdvo)); 2809 /* Output_setup can leave behind connectors! */ 2810 goto err_output; 2811 } 2812 2813 /*
··· 1777 * arranged in priority order. 1778 */ 1779 intel_ddc_get_modes(connector, &intel_sdvo->ddc); 1780 1781 + /* 1782 + * Fetch modes from VBT. For SDVO prefer the VBT mode since some 1783 + * SDVO->LVDS transcoders can't cope with the EDID mode. Since 1784 + * drm_mode_probed_add adds the mode at the head of the list we add it 1785 + * last. 1786 + */ 1787 if (dev_priv->sdvo_lvds_vbt_mode != NULL) { 1788 newmode = drm_mode_duplicate(connector->dev, 1789 dev_priv->sdvo_lvds_vbt_mode); ··· 1792 } 1793 } 1794 1795 list_for_each_entry(newmode, &connector->probed_modes, head) { 1796 if (newmode->type & DRM_MODE_TYPE_PREFERRED) { 1797 intel_sdvo->sdvo_lvds_fixed_mode = ··· 2790 SDVOB_HOTPLUG_INT_STATUS_I915 : SDVOC_HOTPLUG_INT_STATUS_I915; 2791 } 2792 2793 intel_encoder->compute_config = intel_sdvo_compute_config; 2794 intel_encoder->disable = intel_disable_sdvo; 2795 intel_encoder->mode_set = intel_sdvo_mode_set; ··· 2812 SDVO_NAME(intel_sdvo)); 2813 /* Output_setup can leave behind connectors! */ 2814 goto err_output; 2815 + } 2816 + 2817 + /* Only enable the hotplug irq if we need it, to work around noisy 2818 + * hotplug lines. 2819 + */ 2820 + if (intel_sdvo->hotplug_active) { 2821 + intel_encoder->hpd_pin = 2822 + intel_sdvo->is_sdvob ? HPD_SDVO_B : HPD_SDVO_C; 2823 } 2824 2825 /*