]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
drm/dp_mst: Remove drm_dp_mst_has_audio()
authorLyude Paul <lyude@redhat.com>
Mon, 6 Apr 2020 20:06:42 +0000 (16:06 -0400)
committerLyude Paul <lyude@redhat.com>
Tue, 7 Apr 2020 18:30:13 +0000 (14:30 -0400)
Drive-by fix I noticed the other day - drm_dp_mst_has_audio() only ever
made sense back when we still had to validate ports before accessing
them in order to (attempt to) avoid NULL dereferences. Since we have
proper reference counting that guarantees we always can safely access
the MST port, there's no use in keeping this function around as all it
does is validate the port pointer before checking the audio status.

Note - drm_dp_mst_port->has_audio is technically protected by
drm_device->mode_config.connection_mutex, since it's only ever updated
from drm_dp_mst_get_edid(). Additionally, we change the declaration for
port in struct intel_connector to be properly typed, so we can directly
access it.

Changes since v1:
* Change type of intel_connector->port in a separate patch - Sean Paul

Cc: "Lee, Shawn C" <shawn.c.lee@intel.com>
Reviewed-by: Sean Paul <sean@poorly.run>
Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200406200646.1263435-2-lyude@redhat.com
drivers/gpu/drm/drm_dp_mst_topology.c
drivers/gpu/drm/i915/display/intel_display_debugfs.c
drivers/gpu/drm/i915/display/intel_dp_mst.c
include/drm/drm_dp_mst_helper.h

index 80067ea5c50e197c22ec0e298ec728696d87e169..3842336f63a5280dc0cfdc5ead37bb0b00c194d3 100644 (file)
@@ -4062,27 +4062,6 @@ out:
 }
 EXPORT_SYMBOL(drm_dp_mst_detect_port);
 
-/**
- * drm_dp_mst_port_has_audio() - Check whether port has audio capability or not
- * @mgr: manager for this port
- * @port: unverified pointer to a port.
- *
- * This returns whether the port supports audio or not.
- */
-bool drm_dp_mst_port_has_audio(struct drm_dp_mst_topology_mgr *mgr,
-                                       struct drm_dp_mst_port *port)
-{
-       bool ret = false;
-
-       port = drm_dp_mst_topology_get_port_validated(mgr, port);
-       if (!port)
-               return ret;
-       ret = port->has_audio;
-       drm_dp_mst_topology_put_port(port);
-       return ret;
-}
-EXPORT_SYMBOL(drm_dp_mst_port_has_audio);
-
 /**
  * drm_dp_mst_get_edid() - get EDID for an MST port
  * @connector: toplevel connector to get EDID for
index 424f4e52f78370a96ef73dbbdd64a12145d61ad3..9f736420d83f5f79cbbcac6e734bb7f01c7a25b5 100644 (file)
@@ -631,15 +631,9 @@ static void intel_dp_info(struct seq_file *m,
 }
 
 static void intel_dp_mst_info(struct seq_file *m,
-                         struct intel_connector *intel_connector)
+                             struct intel_connector *intel_connector)
 {
-       struct intel_encoder *intel_encoder = intel_attached_encoder(intel_connector);
-       struct intel_dp_mst_encoder *intel_mst =
-               enc_to_mst(intel_encoder);
-       struct intel_digital_port *intel_dig_port = intel_mst->primary;
-       struct intel_dp *intel_dp = &intel_dig_port->dp;
-       bool has_audio = drm_dp_mst_port_has_audio(&intel_dp->mst_mgr,
-                                       intel_connector->port);
+       bool has_audio = intel_connector->port->has_audio;
 
        seq_printf(m, "\taudio support: %s\n", yesno(has_audio));
 }
index 44f3fd251ca1f1ccc4bd9600c7ba50a26b0efd67..35debce713661f91dbdf3cedb4ceae7169cd6acf 100644 (file)
@@ -158,8 +158,7 @@ static int intel_dp_mst_compute_config(struct intel_encoder *encoder,
        pipe_config->has_pch_encoder = false;
 
        if (intel_conn_state->force_audio == HDMI_AUDIO_AUTO)
-               pipe_config->has_audio =
-                       drm_dp_mst_port_has_audio(&intel_dp->mst_mgr, port);
+               pipe_config->has_audio = connector->port->has_audio;
        else
                pipe_config->has_audio =
                        intel_conn_state->force_audio == HDMI_AUDIO_ON;
index e36e53de269e3caeff07108cdf3b5eb5a85fd4ac..e689f8d258690e8e325d2f1765a2265357e4dd3d 100644 (file)
@@ -732,8 +732,6 @@ drm_dp_mst_detect_port(struct drm_connector *connector,
                       struct drm_dp_mst_topology_mgr *mgr,
                       struct drm_dp_mst_port *port);
 
-bool drm_dp_mst_port_has_audio(struct drm_dp_mst_topology_mgr *mgr,
-                                       struct drm_dp_mst_port *port);
 struct edid *drm_dp_mst_get_edid(struct drm_connector *connector, struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port);