aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_hdmi.c
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2013-03-19 04:47:30 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-03-19 04:47:30 -0400
commit0d4a42f6bd298e826620585e766a154ab460617a (patch)
tree406d8f7778691d858dbe3e48e4bbb10e99c0a58a /drivers/gpu/drm/i915/intel_hdmi.c
parentd62b4892f3d9f7dd2002e5309be10719d6805b0f (diff)
parenta937536b868b8369b98967929045f1df54234323 (diff)
Merge tag 'v3.9-rc3' into drm-intel-next-queued
Backmerge so that I can merge Imre Deak's coalesced sg entries fixes, which depend upon the new for_each_sg_page introduce in commit a321e91b6d73ed011ffceed384c40d2785cf723b Author: Imre Deak <imre.deak@intel.com> Date: Wed Feb 27 17:02:56 2013 -0800 lib/scatterlist: add simple page iterator The merge itself is just two trivial conflicts: Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_hdmi.c')
-rw-r--r--drivers/gpu/drm/i915/intel_hdmi.c34
1 files changed, 2 insertions, 32 deletions
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index 4d222ec58b81..c882839cd51e 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -349,7 +349,7 @@ static void intel_hdmi_set_avi_infoframe(struct drm_encoder *encoder,
349 avi_if.body.avi.ITC_EC_Q_SC |= DIP_AVI_RGB_QUANT_RANGE_FULL; 349 avi_if.body.avi.ITC_EC_Q_SC |= DIP_AVI_RGB_QUANT_RANGE_FULL;
350 } 350 }
351 351
352 avi_if.body.avi.VIC = drm_mode_cea_vic(adjusted_mode); 352 avi_if.body.avi.VIC = drm_match_cea_mode(adjusted_mode);
353 353
354 intel_set_infoframe(encoder, &avi_if); 354 intel_set_infoframe(encoder, &avi_if);
355} 355}
@@ -777,7 +777,7 @@ bool intel_hdmi_mode_fixup(struct drm_encoder *encoder,
777 if (intel_hdmi->color_range_auto) { 777 if (intel_hdmi->color_range_auto) {
778 /* See CEA-861-E - 5.1 Default Encoding Parameters */ 778 /* See CEA-861-E - 5.1 Default Encoding Parameters */
779 if (intel_hdmi->has_hdmi_sink && 779 if (intel_hdmi->has_hdmi_sink &&
780 drm_mode_cea_vic(adjusted_mode) > 1) 780 drm_match_cea_mode(adjusted_mode) > 1)
781 intel_hdmi->color_range = HDMI_COLOR_RANGE_16_235; 781 intel_hdmi->color_range = HDMI_COLOR_RANGE_16_235;
782 else 782 else
783 intel_hdmi->color_range = 0; 783 intel_hdmi->color_range = 0;
@@ -789,28 +789,6 @@ bool intel_hdmi_mode_fixup(struct drm_encoder *encoder,
789 return true; 789 return true;
790} 790}
791 791
792static bool g4x_hdmi_connected(struct intel_hdmi *intel_hdmi)
793{
794 struct drm_device *dev = intel_hdmi_to_dev(intel_hdmi);
795 struct drm_i915_private *dev_priv = dev->dev_private;
796 struct intel_digital_port *intel_dig_port = hdmi_to_dig_port(intel_hdmi);
797 uint32_t bit;
798
799 switch (intel_dig_port->port) {
800 case PORT_B:
801 bit = PORTB_HOTPLUG_LIVE_STATUS;
802 break;
803 case PORT_C:
804 bit = PORTC_HOTPLUG_LIVE_STATUS;
805 break;
806 default:
807 bit = 0;
808 break;
809 }
810
811 return I915_READ(PORT_HOTPLUG_STAT) & bit;
812}
813
814static enum drm_connector_status 792static enum drm_connector_status
815intel_hdmi_detect(struct drm_connector *connector, bool force) 793intel_hdmi_detect(struct drm_connector *connector, bool force)
816{ 794{
@@ -823,13 +801,6 @@ intel_hdmi_detect(struct drm_connector *connector, bool force)
823 struct edid *edid; 801 struct edid *edid;
824 enum drm_connector_status status = connector_status_disconnected; 802 enum drm_connector_status status = connector_status_disconnected;
825 803
826
827 if (IS_G4X(dev) && !g4x_hdmi_connected(intel_hdmi))
828 return status;
829 else if (HAS_PCH_SPLIT(dev) &&
830 !ibx_digital_port_connected(dev_priv, intel_dig_port))
831 return status;
832
833 intel_hdmi->has_hdmi_sink = false; 804 intel_hdmi->has_hdmi_sink = false;
834 intel_hdmi->has_audio = false; 805 intel_hdmi->has_audio = false;
835 intel_hdmi->rgb_quant_range_selectable = false; 806 intel_hdmi->rgb_quant_range_selectable = false;
@@ -968,7 +939,6 @@ static void intel_hdmi_destroy(struct drm_connector *connector)
968static const struct drm_encoder_helper_funcs intel_hdmi_helper_funcs = { 939static const struct drm_encoder_helper_funcs intel_hdmi_helper_funcs = {
969 .mode_fixup = intel_hdmi_mode_fixup, 940 .mode_fixup = intel_hdmi_mode_fixup,
970 .mode_set = intel_hdmi_mode_set, 941 .mode_set = intel_hdmi_mode_set,
971 .disable = intel_encoder_noop,
972}; 942};
973 943
974static const struct drm_connector_funcs intel_hdmi_connector_funcs = { 944static const struct drm_connector_funcs intel_hdmi_connector_funcs = {