diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_hdmi.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_hdmi.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index 4dea833f9d1b..e039702c1907 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c | |||
@@ -513,12 +513,14 @@ static void intel_hdmi_set_spd_infoframe(struct drm_encoder *encoder, | |||
513 | 513 | ||
514 | static void | 514 | static void |
515 | intel_hdmi_set_hdmi_infoframe(struct drm_encoder *encoder, | 515 | intel_hdmi_set_hdmi_infoframe(struct drm_encoder *encoder, |
516 | const struct intel_crtc_state *crtc_state) | 516 | const struct intel_crtc_state *crtc_state, |
517 | const struct drm_connector_state *conn_state) | ||
517 | { | 518 | { |
518 | union hdmi_infoframe frame; | 519 | union hdmi_infoframe frame; |
519 | int ret; | 520 | int ret; |
520 | 521 | ||
521 | ret = drm_hdmi_vendor_infoframe_from_display_mode(&frame.vendor.hdmi, | 522 | ret = drm_hdmi_vendor_infoframe_from_display_mode(&frame.vendor.hdmi, |
523 | conn_state->connector, | ||
522 | &crtc_state->base.adjusted_mode); | 524 | &crtc_state->base.adjusted_mode); |
523 | if (ret < 0) | 525 | if (ret < 0) |
524 | return; | 526 | return; |
@@ -585,7 +587,7 @@ static void g4x_set_infoframes(struct drm_encoder *encoder, | |||
585 | 587 | ||
586 | intel_hdmi_set_avi_infoframe(encoder, crtc_state); | 588 | intel_hdmi_set_avi_infoframe(encoder, crtc_state); |
587 | intel_hdmi_set_spd_infoframe(encoder, crtc_state); | 589 | intel_hdmi_set_spd_infoframe(encoder, crtc_state); |
588 | intel_hdmi_set_hdmi_infoframe(encoder, crtc_state); | 590 | intel_hdmi_set_hdmi_infoframe(encoder, crtc_state, conn_state); |
589 | } | 591 | } |
590 | 592 | ||
591 | static bool hdmi_sink_is_deep_color(const struct drm_connector_state *conn_state) | 593 | static bool hdmi_sink_is_deep_color(const struct drm_connector_state *conn_state) |
@@ -726,7 +728,7 @@ static void ibx_set_infoframes(struct drm_encoder *encoder, | |||
726 | 728 | ||
727 | intel_hdmi_set_avi_infoframe(encoder, crtc_state); | 729 | intel_hdmi_set_avi_infoframe(encoder, crtc_state); |
728 | intel_hdmi_set_spd_infoframe(encoder, crtc_state); | 730 | intel_hdmi_set_spd_infoframe(encoder, crtc_state); |
729 | intel_hdmi_set_hdmi_infoframe(encoder, crtc_state); | 731 | intel_hdmi_set_hdmi_infoframe(encoder, crtc_state, conn_state); |
730 | } | 732 | } |
731 | 733 | ||
732 | static void cpt_set_infoframes(struct drm_encoder *encoder, | 734 | static void cpt_set_infoframes(struct drm_encoder *encoder, |
@@ -769,7 +771,7 @@ static void cpt_set_infoframes(struct drm_encoder *encoder, | |||
769 | 771 | ||
770 | intel_hdmi_set_avi_infoframe(encoder, crtc_state); | 772 | intel_hdmi_set_avi_infoframe(encoder, crtc_state); |
771 | intel_hdmi_set_spd_infoframe(encoder, crtc_state); | 773 | intel_hdmi_set_spd_infoframe(encoder, crtc_state); |
772 | intel_hdmi_set_hdmi_infoframe(encoder, crtc_state); | 774 | intel_hdmi_set_hdmi_infoframe(encoder, crtc_state, conn_state); |
773 | } | 775 | } |
774 | 776 | ||
775 | static void vlv_set_infoframes(struct drm_encoder *encoder, | 777 | static void vlv_set_infoframes(struct drm_encoder *encoder, |
@@ -822,7 +824,7 @@ static void vlv_set_infoframes(struct drm_encoder *encoder, | |||
822 | 824 | ||
823 | intel_hdmi_set_avi_infoframe(encoder, crtc_state); | 825 | intel_hdmi_set_avi_infoframe(encoder, crtc_state); |
824 | intel_hdmi_set_spd_infoframe(encoder, crtc_state); | 826 | intel_hdmi_set_spd_infoframe(encoder, crtc_state); |
825 | intel_hdmi_set_hdmi_infoframe(encoder, crtc_state); | 827 | intel_hdmi_set_hdmi_infoframe(encoder, crtc_state, conn_state); |
826 | } | 828 | } |
827 | 829 | ||
828 | static void hsw_set_infoframes(struct drm_encoder *encoder, | 830 | static void hsw_set_infoframes(struct drm_encoder *encoder, |
@@ -855,7 +857,7 @@ static void hsw_set_infoframes(struct drm_encoder *encoder, | |||
855 | 857 | ||
856 | intel_hdmi_set_avi_infoframe(encoder, crtc_state); | 858 | intel_hdmi_set_avi_infoframe(encoder, crtc_state); |
857 | intel_hdmi_set_spd_infoframe(encoder, crtc_state); | 859 | intel_hdmi_set_spd_infoframe(encoder, crtc_state); |
858 | intel_hdmi_set_hdmi_infoframe(encoder, crtc_state); | 860 | intel_hdmi_set_hdmi_infoframe(encoder, crtc_state, conn_state); |
859 | } | 861 | } |
860 | 862 | ||
861 | void intel_dp_dual_mode_set_tmds_output(struct intel_hdmi *hdmi, bool enable) | 863 | void intel_dp_dual_mode_set_tmds_output(struct intel_hdmi *hdmi, bool enable) |