Эх сурвалжийг харах

drm/vmwgfx: Get connector status from detection function.

Also make sure the ldu::active member is properly initialized.
Part of fix by Michel Daenzer <daenzer@vmware.com>.

Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
Signed-off-by: Michel Daenzer <daenzer@vmware.com>
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Jakob Bornecrantz 15 жил өмнө
parent
commit
1ae1ddd5e9

+ 3 - 7
drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c

@@ -456,13 +456,11 @@ static int vmw_ldu_init(struct vmw_private *dev_priv, unsigned unit)
 	encoder = &ldu->base.encoder;
 	encoder = &ldu->base.encoder;
 	connector = &ldu->base.connector;
 	connector = &ldu->base.connector;
 
 
+	INIT_LIST_HEAD(&ldu->active);
+
 	drm_connector_init(dev, connector, &vmw_legacy_connector_funcs,
 	drm_connector_init(dev, connector, &vmw_legacy_connector_funcs,
 			   DRM_MODE_CONNECTOR_LVDS);
 			   DRM_MODE_CONNECTOR_LVDS);
-	/* Initial status */
-	if (unit == 0)
-		connector->status = connector_status_connected;
-	else
-		connector->status = connector_status_disconnected;
+	connector->status = vmw_ldu_connector_detect(connector);
 
 
 	drm_encoder_init(dev, encoder, &vmw_legacy_encoder_funcs,
 	drm_encoder_init(dev, encoder, &vmw_legacy_encoder_funcs,
 			 DRM_MODE_ENCODER_LVDS);
 			 DRM_MODE_ENCODER_LVDS);
@@ -470,8 +468,6 @@ static int vmw_ldu_init(struct vmw_private *dev_priv, unsigned unit)
 	encoder->possible_crtcs = (1 << unit);
 	encoder->possible_crtcs = (1 << unit);
 	encoder->possible_clones = 0;
 	encoder->possible_clones = 0;
 
 
-	INIT_LIST_HEAD(&ldu->active);
-
 	drm_crtc_init(dev, crtc, &vmw_legacy_crtc_funcs);
 	drm_crtc_init(dev, crtc, &vmw_legacy_crtc_funcs);
 
 
 	drm_connector_attach_property(connector,
 	drm_connector_attach_property(connector,