.atomic_get_property = vmw_du_connector_atomic_get_property,
 };
 
+static const struct
+drm_connector_helper_funcs vmw_ldu_connector_helper_funcs = {
+       .best_encoder = drm_atomic_helper_best_encoder,
+};
+
 /*
  * Legacy Display Plane Functions
  */
                DRM_ERROR("Failed to initialize connector\n");
                goto err_free;
        }
+
+       drm_connector_helper_add(connector, &vmw_ldu_connector_helper_funcs);
        connector->status = vmw_du_connector_detect(connector, true);
        vmw_connector_state_to_vcs(connector->state)->is_implicit = true;
 
 
        .atomic_get_property = vmw_du_connector_atomic_get_property,
 };
 
+
+static const struct
+drm_connector_helper_funcs vmw_sou_connector_helper_funcs = {
+       .best_encoder = drm_atomic_helper_best_encoder,
+};
+
+
+
 /*
  * Screen Object Display Plane Functions
  */
                goto err_free;
        }
 
+       drm_connector_helper_add(connector, &vmw_sou_connector_helper_funcs);
        connector->status = vmw_du_connector_detect(connector, true);
        vmw_connector_state_to_vcs(connector->state)->is_implicit = false;
 
 
 };
 
 
+static const struct
+drm_connector_helper_funcs vmw_stdu_connector_helper_funcs = {
+       .best_encoder = drm_atomic_helper_best_encoder,
+};
+
+
 
 /******************************************************************************
  * Screen Target Display Plane Functions
                DRM_ERROR("Failed to initialize connector\n");
                goto err_free;
        }
+
+       drm_connector_helper_add(connector, &vmw_stdu_connector_helper_funcs);
        connector->status = vmw_du_connector_detect(connector, false);
        vmw_connector_state_to_vcs(connector->state)->is_implicit = false;