@@ -117,7 +117,6 @@ struct intel_sdvo {
117117
118118 enum port port ;
119119
120- bool has_hdmi_monitor ;
121120 bool has_hdmi_audio ;
122121
123122 /* DDC bus used by this SDVO encoder */
@@ -1303,10 +1302,13 @@ static void i9xx_adjust_sdvo_tv_clock(struct intel_crtc_state *pipe_config)
13031302 pipe_config -> clock_set = true;
13041303}
13051304
1306- static bool intel_has_hdmi_sink (struct intel_sdvo * sdvo ,
1305+ static bool intel_has_hdmi_sink (struct intel_sdvo_connector * intel_sdvo_connector ,
13071306 const struct drm_connector_state * conn_state )
13081307{
1309- return sdvo -> has_hdmi_monitor &&
1308+ struct drm_connector * connector = conn_state -> connector ;
1309+
1310+ return intel_sdvo_connector -> is_hdmi &&
1311+ connector -> display_info .is_hdmi &&
13101312 READ_ONCE (to_intel_digital_connector_state (conn_state )-> force_audio ) != HDMI_AUDIO_OFF_DVI ;
13111313}
13121314
@@ -1401,7 +1403,7 @@ static int intel_sdvo_compute_config(struct intel_encoder *encoder,
14011403 pipe_config -> pixel_multiplier =
14021404 intel_sdvo_get_pixel_multiplier (adjusted_mode );
14031405
1404- pipe_config -> has_hdmi_sink = intel_has_hdmi_sink (intel_sdvo , conn_state );
1406+ pipe_config -> has_hdmi_sink = intel_has_hdmi_sink (intel_sdvo_connector , conn_state );
14051407
14061408 pipe_config -> has_audio =
14071409 intel_sdvo_has_audio (encoder , pipe_config , conn_state ) &&
@@ -1907,7 +1909,7 @@ intel_sdvo_mode_valid(struct drm_connector *connector,
19071909 struct intel_sdvo_connector * intel_sdvo_connector =
19081910 to_intel_sdvo_connector (connector );
19091911 int max_dotclk = to_i915 (connector -> dev )-> max_dotclk_freq ;
1910- bool has_hdmi_sink = intel_has_hdmi_sink (intel_sdvo , connector -> state );
1912+ bool has_hdmi_sink = intel_has_hdmi_sink (intel_sdvo_connector , connector -> state );
19111913 int clock = mode -> clock ;
19121914
19131915 if (mode -> flags & DRM_MODE_FLAG_DBLSCAN )
@@ -2096,7 +2098,6 @@ intel_sdvo_tmds_sink_detect(struct drm_connector *connector)
20962098 if (edid -> input & DRM_EDID_INPUT_DIGITAL ) {
20972099 status = connector_status_connected ;
20982100 if (intel_sdvo_connector -> is_hdmi ) {
2099- intel_sdvo -> has_hdmi_monitor = drm_detect_hdmi_monitor (edid );
21002101 intel_sdvo -> has_hdmi_audio = drm_detect_monitor_audio (edid );
21012102 }
21022103 } else
@@ -2148,7 +2149,6 @@ intel_sdvo_detect(struct drm_connector *connector, bool force)
21482149
21492150 intel_sdvo -> attached_output = response ;
21502151
2151- intel_sdvo -> has_hdmi_monitor = false;
21522152 intel_sdvo -> has_hdmi_audio = false;
21532153
21542154 if ((intel_sdvo_connector -> output_flag & response ) == 0 )
0 commit comments