]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Revert "drm/i915/mst: Populate connector->ddc"
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 19 Sep 2023 09:56:59 +0000 (12:56 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 21 Sep 2023 11:31:11 +0000 (14:31 +0300)
This reverts commit 959fb1a686528df1b8fb0cc7bec8ff851b1594a5.

Looks like the core MST code might not call i2c_adapter() for us
in time, and thus creating the ddc symlink will fail. This will
in fact fail the entire connector registration, but the MST code
doesn't really seem to care about that and blindly plows ahead.
All we may get in the logs is a nearly back to back
register+unregister debug messages:
 [drm:drm_dp_mst_connector_late_register [drm_display_helper]] registering DPMST remote bus for card0-DP-7
 [drm:intel_dp_hpd_pulse [i915]] DPRX ESI: 42 00 00 02
 [drm:drm_dp_mst_connector_early_unregister [drm_display_helper]] unregistering DPMST remote bus for card0-DP-7

Untangling the initialization order may take some real work,
so let's just revert the ddc symlink addition for now...

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/9357
Fixes: 959fb1a68652 ("drm/i915/mst: Populate connector->ddc")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230919095659.10742-1-ville.syrjala@linux.intel.com
Acked-by: Jani Nikula <jani.nikula@intel.com>
Tested-by: Karthik B S <karthik.b.s@intel.com>
drivers/gpu/drm/i915/display/intel_dp_mst.c

index 7e2c4a152afb71cd289d37a44c9140b382a202a7..0b33190e2d7a712db1e08b3fdd8c18f673fc8e0f 100644 (file)
@@ -1104,10 +1104,8 @@ static struct drm_connector *intel_dp_add_mst_connector(struct drm_dp_mst_topolo
        drm_dp_mst_get_port_malloc(port);
 
        connector = &intel_connector->base;
-       ret = drm_connector_init_with_ddc(dev, connector,
-                                         &intel_dp_mst_connector_funcs,
-                                         DRM_MODE_CONNECTOR_DisplayPort,
-                                         &port->aux.ddc);
+       ret = drm_connector_init(dev, connector, &intel_dp_mst_connector_funcs,
+                                DRM_MODE_CONNECTOR_DisplayPort);
        if (ret) {
                drm_dp_mst_put_port_malloc(port);
                intel_connector_free(intel_connector);