@@ -117,8 +117,6 @@ struct intel_sdvo {
117117
118118 enum port port ;
119119
120- bool has_hdmi_audio ;
121-
122120 /* DDC bus used by this SDVO encoder */
123121 u8 ddc_bus ;
124122
@@ -1328,15 +1326,18 @@ static bool intel_sdvo_has_audio(struct intel_encoder *encoder,
13281326 const struct intel_crtc_state * crtc_state ,
13291327 const struct drm_connector_state * conn_state )
13301328{
1331- struct intel_sdvo * intel_sdvo = to_sdvo (encoder );
1329+ struct drm_connector * connector = conn_state -> connector ;
1330+ struct intel_sdvo_connector * intel_sdvo_connector =
1331+ to_intel_sdvo_connector (connector );
13321332 const struct intel_digital_connector_state * intel_conn_state =
13331333 to_intel_digital_connector_state (conn_state );
13341334
13351335 if (!crtc_state -> has_hdmi_sink )
13361336 return false;
13371337
13381338 if (intel_conn_state -> force_audio == HDMI_AUDIO_AUTO )
1339- return intel_sdvo -> has_hdmi_audio ;
1339+ return intel_sdvo_connector -> is_hdmi &&
1340+ connector -> display_info .has_audio ;
13401341 else
13411342 return intel_conn_state -> force_audio == HDMI_AUDIO_ON ;
13421343}
@@ -2057,8 +2058,6 @@ static enum drm_connector_status
20572058intel_sdvo_tmds_sink_detect (struct drm_connector * connector )
20582059{
20592060 struct intel_sdvo * intel_sdvo = intel_attached_sdvo (to_intel_connector (connector ));
2060- struct intel_sdvo_connector * intel_sdvo_connector =
2061- to_intel_sdvo_connector (connector );
20622061 enum drm_connector_status status ;
20632062 struct edid * edid ;
20642063
@@ -2095,12 +2094,9 @@ intel_sdvo_tmds_sink_detect(struct drm_connector *connector)
20952094 status = connector_status_unknown ;
20962095 if (edid != NULL ) {
20972096 /* DDC bus is shared, match EDID to connector type */
2098- if (edid -> input & DRM_EDID_INPUT_DIGITAL ) {
2097+ if (edid -> input & DRM_EDID_INPUT_DIGITAL )
20992098 status = connector_status_connected ;
2100- if (intel_sdvo_connector -> is_hdmi ) {
2101- intel_sdvo -> has_hdmi_audio = drm_detect_monitor_audio (edid );
2102- }
2103- } else
2099+ else
21042100 status = connector_status_disconnected ;
21052101 kfree (edid );
21062102 }
@@ -2149,8 +2145,6 @@ intel_sdvo_detect(struct drm_connector *connector, bool force)
21492145
21502146 intel_sdvo -> attached_output = response ;
21512147
2152- intel_sdvo -> has_hdmi_audio = false;
2153-
21542148 if ((intel_sdvo_connector -> output_flag & response ) == 0 )
21552149 ret = connector_status_disconnected ;
21562150 else if (IS_TMDS (intel_sdvo_connector ))
0 commit comments