drm/i915/dp: stop caching has_audio in struct intel_dp
[platform/kernel/linux-starfive.git] / drivers / gpu / drm / i915 / display / intel_dp.c
index 4bec8cd..aa1445a 100644 (file)
@@ -2159,6 +2159,7 @@ static bool intel_dp_has_audio(struct intel_encoder *encoder,
 {
        struct drm_i915_private *i915 = to_i915(encoder->base.dev);
        struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
+       struct intel_connector *connector = intel_dp->attached_connector;
        const struct intel_digital_connector_state *intel_conn_state =
                to_intel_digital_connector_state(conn_state);
 
@@ -2166,7 +2167,7 @@ static bool intel_dp_has_audio(struct intel_encoder *encoder,
                return false;
 
        if (intel_conn_state->force_audio == HDMI_AUDIO_AUTO)
-               return intel_dp->has_audio;
+               return connector->base.display_info.has_audio;
        else
                return intel_conn_state->force_audio == HDMI_AUDIO_ON;
 }
@@ -4813,7 +4814,6 @@ intel_dp_set_edid(struct intel_dp *intel_dp)
        edid = drm_edid_raw(drm_edid);
        if (edid && edid->input & DRM_EDID_INPUT_DIGITAL) {
                intel_dp->has_hdmi_sink = drm_detect_hdmi_monitor(edid);
-               intel_dp->has_audio = drm_detect_monitor_audio(edid);
        }
 
        drm_dp_cec_set_edid(&intel_dp->aux, edid);
@@ -4829,7 +4829,6 @@ intel_dp_unset_edid(struct intel_dp *intel_dp)
        connector->detect_edid = NULL;
 
        intel_dp->has_hdmi_sink = false;
-       intel_dp->has_audio = false;
 
        intel_dp->dfp.max_bpc = 0;
        intel_dp->dfp.max_dotclock = 0;