From 551d3ab2c9b9b80cec1f1f6de40a9d4870d1a020 Mon Sep 17 00:00:00 2001 From: Thomas Hellstrom Date: Wed, 31 Aug 2011 07:13:40 +0000 Subject: [PATCH] --- yaml --- r: 269567 b: refs/heads/master c: 654a4ef07a53c6b20e5411718e3aebe04c6a985f h: refs/heads/master i: 269565: 17c188bf9b4ec0ddecac7660d1cf99cc2fa29155 269563: 714f22725dfdc5e125c003bd90d7a5672cb837b7 269559: 6ccc8174691ac8c72caf40ebf21ac47feb9011a4 269551: 807e7126adc6f8c8f4291900e92afc1bb636c81c 269535: d4e78d3b97c42f5700887bd9b11caeab40ed28a8 269503: 0bf35c5b0aa0eb334dbf505f44a99feadc86dbb0 269439: 1ded5f99884a8e5aeae2d9a5e2c43951dabb12c4 269311: e1964efc94899ca54773dd387d16c51ecbfe08f4 v: v3 --- [refs] | 2 +- trunk/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index bb52873f5292..a00440f2e8da 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d3ed74027f1dd197b7e08247a40d3bf9be1852b0 +refs/heads/master: 654a4ef07a53c6b20e5411718e3aebe04c6a985f diff --git a/trunk/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c b/trunk/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c index b3a2cd5118d7..7b8115aab54d 100644 --- a/trunk/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c +++ b/trunk/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c @@ -340,9 +340,16 @@ static enum drm_connector_status vmw_ldu_connector_detect(struct drm_connector *connector, bool force) { - if (vmw_connector_to_ldu(connector)->pref_active) - return connector_status_connected; - return connector_status_disconnected; + uint32_t num_displays; + struct drm_device *dev = connector->dev; + struct vmw_private *dev_priv = vmw_priv(dev); + + mutex_lock(&dev_priv->hw_mutex); + num_displays = vmw_read(dev_priv, SVGA_REG_NUM_DISPLAYS); + mutex_unlock(&dev_priv->hw_mutex); + + return ((vmw_connector_to_ldu(connector)->base.unit < num_displays) ? + connector_status_connected : connector_status_disconnected); } static const struct drm_display_mode vmw_ldu_connector_builtin[] = {