OSDN Git Service

drm/i915/hdmi: stop caching has_audio in struct intel_hdmi
authorJani Nikula <jani.nikula@intel.com>
Tue, 30 May 2023 09:08:17 +0000 (12:08 +0300)
committerJani Nikula <jani.nikula@intel.com>
Fri, 2 Jun 2023 10:21:36 +0000 (13:21 +0300)
Use the information stored in display info.

Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/710286536d6b07ba8aa068b65b2b2c0c7743220e.1685437500.git.jani.nikula@intel.com
drivers/gpu/drm/i915/display/intel_display_debugfs.c
drivers/gpu/drm/i915/display/intel_display_types.h
drivers/gpu/drm/i915/display/intel_hdmi.c

index 1416b82..2a4df62 100644 (file)
@@ -252,13 +252,11 @@ static void intel_dp_mst_info(struct seq_file *m,
 }
 
 static void intel_hdmi_info(struct seq_file *m,
-                           struct intel_connector *intel_connector)
+                           struct intel_connector *connector)
 {
-       struct intel_encoder *intel_encoder = intel_attached_encoder(intel_connector);
-       struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(intel_encoder);
+       bool has_audio = connector->base.display_info.has_audio;
 
-       seq_printf(m, "\taudio support: %s\n",
-                  str_yes_no(intel_hdmi->has_audio));
+       seq_printf(m, "\taudio support: %s\n", str_yes_no(has_audio));
 }
 
 static void intel_connector_info(struct seq_file *m,
index c5bd0c7..1ae1519 100644 (file)
@@ -1587,7 +1587,6 @@ struct intel_hdmi {
                int max_tmds_clock;
        } dp_dual_mode;
        bool has_hdmi_sink;
-       bool has_audio;
        struct intel_connector *attached_connector;
        struct cec_notifier *cec_notifier;
 };
index c2464f9..89a6b57 100644 (file)
@@ -2169,7 +2169,7 @@ static bool intel_hdmi_has_audio(struct intel_encoder *encoder,
                                 const struct intel_crtc_state *crtc_state,
                                 const struct drm_connector_state *conn_state)
 {
-       struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
+       struct drm_connector *connector = conn_state->connector;
        const struct intel_digital_connector_state *intel_conn_state =
                to_intel_digital_connector_state(conn_state);
 
@@ -2177,7 +2177,7 @@ static bool intel_hdmi_has_audio(struct intel_encoder *encoder,
                return false;
 
        if (intel_conn_state->force_audio == HDMI_AUDIO_AUTO)
-               return intel_hdmi->has_audio;
+               return connector->display_info.has_audio;
        else
                return intel_conn_state->force_audio == HDMI_AUDIO_ON;
 }
@@ -2386,7 +2386,6 @@ intel_hdmi_unset_edid(struct drm_connector *connector)
        struct intel_hdmi *intel_hdmi = intel_attached_hdmi(to_intel_connector(connector));
 
        intel_hdmi->has_hdmi_sink = false;
-       intel_hdmi->has_audio = false;
 
        intel_hdmi->dp_dual_mode.type = DRM_DP_DUAL_MODE_NONE;
        intel_hdmi->dp_dual_mode.max_tmds_clock = 0;
@@ -2479,7 +2478,6 @@ intel_hdmi_set_edid(struct drm_connector *connector)
        /* FIXME: Get rid of drm_edid_raw() */
        edid = drm_edid_raw(drm_edid);
        if (edid && edid->input & DRM_EDID_INPUT_DIGITAL) {
-               intel_hdmi->has_audio = drm_detect_monitor_audio(edid);
                intel_hdmi->has_hdmi_sink = drm_detect_hdmi_monitor(edid);
 
                intel_hdmi_dp_dual_mode_detect(connector);