]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915: Always initialize connector->modeset_retry_work
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 13 Feb 2025 15:02:10 +0000 (17:02 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Sat, 15 Feb 2025 19:03:56 +0000 (21:03 +0200)
Since we have all the necessary bits in intel_connector.c might
as well always initialize the modeset_retry_work for every connector.
Avoids yet another init function you have to remember to call.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250213150220.13580-3-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_connector.c
drivers/gpu/drm/i915/display/intel_connector.h
drivers/gpu/drm/i915/display/intel_display.c
drivers/gpu/drm/i915/display/intel_dp.c
drivers/gpu/drm/i915/display/intel_dp_mst.c

index 4f54c9249a84515a46fd0a32d35c694895fc3273..b1240be2ec6db82d164cb557d24fe9f60e1b209f 100644 (file)
@@ -70,12 +70,6 @@ void intel_connector_queue_modeset_retry_work(struct intel_connector *connector)
                drm_connector_put(&connector->base);
 }
 
-void intel_connector_init_modeset_retry_work(struct intel_connector *connector)
-{
-       INIT_WORK(&connector->modeset_retry_work,
-                 intel_connector_modeset_retry_work_fn);
-}
-
 int intel_connector_init(struct intel_connector *connector)
 {
        struct intel_digital_connector_state *conn_state;
@@ -95,6 +89,9 @@ int intel_connector_init(struct intel_connector *connector)
 
        intel_panel_init_alloc(connector);
 
+       INIT_WORK(&connector->modeset_retry_work,
+                 intel_connector_modeset_retry_work_fn);
+
        return 0;
 }
 
index 929646a639b2b9737cafeabd205dd4da89616a91..6d4a6b26d8f0760b23fafaf08d7af22ba03444bb 100644 (file)
@@ -33,7 +33,6 @@ void intel_attach_aspect_ratio_property(struct drm_connector *connector);
 void intel_attach_hdmi_colorspace_property(struct drm_connector *connector);
 void intel_attach_dp_colorspace_property(struct drm_connector *connector);
 void intel_attach_scaling_mode_property(struct drm_connector *connector);
-void intel_connector_init_modeset_retry_work(struct intel_connector *connector);
 void intel_connector_queue_modeset_retry_work(struct intel_connector *connector);
 
 #endif /* __INTEL_CONNECTOR_H__ */
index 45594a054256a4b7d0683cd9dd5d2a0beafec3f6..31feefb1bc294e08e16d03743c255ef55ed433bd 100644 (file)
@@ -8544,8 +8544,7 @@ void intel_hpd_poll_fini(struct drm_i915_private *i915)
        /* Kill all the work that may have been queued by hpd. */
        drm_connector_list_iter_begin(&i915->drm, &conn_iter);
        for_each_intel_connector_iter(connector, &conn_iter) {
-               if (connector->modeset_retry_work.func &&
-                   cancel_work_sync(&connector->modeset_retry_work))
+               if (cancel_work_sync(&connector->modeset_retry_work))
                        drm_connector_put(&connector->base);
                if (connector->hdcp.shim) {
                        cancel_delayed_work_sync(&connector->hdcp.check_work);
index 55a2c8cbaa8367cb196a7aa7fe1d1ffc506e4baf..0e501ec7e73a718b74a00cd2f0b9e79be84521a5 100644 (file)
@@ -6487,9 +6487,6 @@ intel_dp_init_connector(struct intel_digital_port *dig_port,
        enum port port = encoder->port;
        int type;
 
-       /* Initialize the work for modeset in case of link train failure */
-       intel_connector_init_modeset_retry_work(connector);
-
        if (drm_WARN(dev, dig_port->max_lanes < 1,
                     "Not enough lanes (%d) for DP on [ENCODER:%d:%s]\n",
                     dig_port->max_lanes, encoder->base.base.id,
index c0c9a2a3aec07f2ad44c763ef7ba456660bd87b8..faa261c8930c3c243f8ce2e2bf56597718356b4a 100644 (file)
@@ -1747,8 +1747,6 @@ mst_topology_add_connector(struct drm_dp_mst_topology_mgr *mgr,
        connector->port = port;
        drm_dp_mst_get_port_malloc(port);
 
-       intel_connector_init_modeset_retry_work(connector);
-
        ret = drm_connector_dynamic_init(display->drm, &connector->base, &mst_connector_funcs,
                                         DRM_MODE_CONNECTOR_DisplayPort, NULL);
        if (ret)